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

Соединения отображаются в tcpdump, но не отображаются в auditd или ss

Я побежал tcpdump на узле, который я могу видеть множество исходящих TCP-соединений с определенным хостом (внутри моей сети) на определенном порту (8086). Я хотел бы знать, какой процесс устанавливает эти связи.

Я использовал:

while true; do ss -ntap '{ dport :8086 }'; sleep 0.1; done

однако я ничего не вижу, даже когда tcpdump перехватывает исходящие запросы к этому порту.

Я пробовал использовать auditd для захвата их на уровне ядра, как я думал ss может не захватывать эти маленький Запросы.

Я использовал: auditctl -A exit,always -F arch=x86_64 -S connect -S sendmsg -S sendto -k send и использовал ausearch -k send -i искать эти запросы, но опять же безрезультатно.

Мне интересно, как могло случиться так, что TCP-соединения выполнялись с внешним хостом, не захваченные auditd?

Заранее спасибо!

  1. Исходный адрес назначения и порт назначения могут быть другими, а не tcp/8086, но с DNAT правило iptables в nat/OUTPUT переписан на другой адрес и другой порт. в tcpdump capture вы видите пакеты после трансляции iptables.

  2. Это может быть модуль ядра, а не приложение пользовательского пространства. В этом случае я не уверен, что auditd может показать что угодно.

  3. Это также может быть необработанный сокет, когда пакеты создаются в приложении. Я думаю, что в этом случае вы можете перечислить сырые сокеты с помощью ss --raw команда.

  4. Это может быть другое сетевое пространство имен, но не основное.

  5. Этот трафик может быть перенаправленным, а не локальным. В таком случае ss и auditd ничего не показывать.