LINUX.ORG.RU

Как найти процесс чьи соединения дропнули?

 ,


0

1

Сетевые соединения мониторятся через /proc/net/tcp и дальше потом по inode можно найти процесс.

Сделаем в фильтре для output по умолчанию policy drop, и как в «этих ваших линуксах» узнать процесс чьё соединение дропнуто?

Из лога фильтра можно destination получить, и всё…

UPD. Пока только мысль как-то редиректить такой трафик на локальный сервис и что-то потом с этим делать.

UPD. Для tcp всё-таки через /proc/net/tcp.

★★★★★

Последнее исправление: vvn_black (всего исправлений: 3)

Если терять «нужные» пакеты, можно успеть найти соединения в «необычных» состояниях(типа syn-sent) с номерами процессов (ss или netstat).

DonkeyHot ★★★★★
()
Последнее исправление: DonkeyHot (всего исправлений: 1)

Нужно nethogs чуток подправить, чтобы он nflog понимал.

Перед тем как дропать, трафик отправляем в nflog.

vel ★★★★★
()
Ответ на: комментарий от DonkeyHot

типа syn-sent

Вот спасибо.

Я затупил жёстко… 53 порт запретил и удивлялся, почему в /proc/net/tcp нет даже попыток.

vvn_black ★★★★★
() автор топика
Ответ на: комментарий от vel

Перед тем как дропать, трафик отправляем в nflog.

В лог перед дропаньем и сейчас отправляю. destination я увижу, но к процессу всё-равно не привяжусь.

vvn_black ★★★★★
() автор топика
Ответ на: комментарий от vel

Он это делает точно так же, как написал в ОП, через inode. В логах фильтра (пакетах) этой информации нет.

А в /proc/net/{tcp|udp} есть. И, как правильно заметили, для tcp вполне можно ориентироваться на syn-sent, а как для udp, мне пока непонятно.

vvn_black ★★★★★
() автор топика
Ответ на: комментарий от vel

что делать c udp

Посмотреть, кто привязал SPT? Если они слишком быстро обижаются и закрываются можно аудит настроить – вероятно там что-то можно найти.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.