Назад | Перейти на главную страницу

У меня есть петлевой трафик в Linux, связанный с портом 631, и я понятия не имею, что его вызывает

Итак, я сделал несколько захватов пакетов в своей сети, и все остальное на самом деле в порядке, за исключением этой странной связи, где источник и пункт назначения буквально 127.0.0.1, порт источника - 631, а порт назначения - это число, непрерывно увеличивающееся на 1 для каждого обмена, который происходит .

Я отключил все службы, которые прослушивают по умолчанию, такие как чашки, avahi-daemon и т. Д., Даже в том, что касается фактического удаления чашек, потому что мне это действительно не нужно. Так что я действительно понятия не имею, что вызывает этот трафик. Я провел поиск по порту 631, и все, что я вижу, это результаты, связанные с печатью / принтерами, которые действительно не помогают в моем случае.

Может ли кто-нибудь помочь мне разобраться в этой тайне? Вот карты:

Это 10 TCP SYN от 127.0.0.1 до 127.0.0.1, порт 631. Все сразу получают ответ RST. Они находятся на расстоянии 3,75 секунды, а порт источника увеличивается на 4 каждый раз.

Как вы заметили, порт 631 зарегистрирован для протокола Интернет-печати. Возможно что-то связанное с печатью.

Поскольку в потоке TCP нет данных, и все это localhost, не так много идентифицирующей информации. Отследите процесс, который пытается установить TCP-соединение. В последних версиях Linux bpf позволяет вам видеть все TCP-соединения с помощью таких скриптов, как, ну, tcpconnect. Это вернет PID и COMM соединений. То, что не является чашками, было бы необычным.

Поскольку трафик пытается пройти через порт 631 / tcp в интерфейсе обратной связи, я считаю, что локальный процесс пытается связаться с демоном CUPS и что-то напечатать. К сожалению, я не могу получить дополнительную информацию об этом из предоставленных файлов PCAP, потому что ни один из захваченных пакетов TCP не передает полезную нагрузку. Я вижу только то, что процесс, вероятно, закрывает соединительный сокет после сбоя и пытается использовать новые.

Некоторое время назад мне представили похожую проблему. Чтобы собрать информацию от процесса, который пытается часто устанавливать соединения с закрытым локальным портом, я использовал следующие стратегии:

  • Техника приманки

    На вкладке терминала я запустил ncat процесс прослушивания подключений на порт 631 / tcp:

    # ncat -l -p 631 -k -vv
    

    Затем на другой вкладке терминала я запустил на лету Bash-скрипт, собирающий информацию о процессах, подключенных к порту:

    # while sleep 0.1; do ss -tapen state established 'dport = 631' > output.txt ; fgrep -wq 631 output.txt && cat output.txt; done
    
  • IPTABLES / NFTABLES ведение журнала

    Я создал правило IPTABLES / NFTABLES на лету в цепочке OUTPUT, записывая информацию о подключении в SYSLOG:

    # iptables -I OUTPUT -p tcp --syn --dport 631 -j LOG --log-prefix 'WHOIS? ' --log-level warning --log-uid
    
    # nft insert rule ip filter OUTPUT tcp dport 631 tcp flags '&(fin|syn|rst|ack)' == syn counter log prefix '"WHOIS? "' level warn flags skuid