Захват pid процесса с использованием порта 6881 только один раз каждые 15 минут - PullRequest
0 голосов
/ 07 мая 2018

Я вижу из tcpdump, что внутренний сервер Linux пытается связаться с внешним компьютером примерно каждые 15 минут: один пакет udp на порт 6881 (битторрент), вот и все.

Поскольку этот сервер не должен ни с кем связываться, я хочу выяснить, какая злая душа создала этот пакет, т. Е. Мне нужна некоторая информация о процессе (например, pid, файл, ...).

Поскольку временной интервал очень короткий, я не могу использовать netstat или lsof.

Процесс, вероятно, будет активен около половины микросекунды, затем он получает destination unreachable (port unreachable) от брандмауэра.

У меня есть ssh-доступ к машине.

Как я могу перехватить сетевые пакеты по PID? предлагает использовать tcpdump параметр -k, однако у linux tcpdump такой опции нет.

1 Ответ

0 голосов
/ 08 мая 2018

Очевидно, что вы не можете сделать это с TCPDump, но вы можете сделать это с самого хоста. Тем более, что это UDP без состояния, и поскольку вы не можете предсказать, когда процесс будет прослушивать, вы должны изучить возможности аудита ядра. Например:

 auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET

Это дает ядру команду генерировать событие аудита при каждом вызове сокета. После этого вы можете подождать, пока подозрительный пакет не покинет машину, и затем использовать ausearch для отслеживания не только процесса, но и двоичного файла, который сделал вызов.

...