3

Предположим, у вас есть сервер с кучей процессов (некоторые из которых запускаются в случайное время), прослушивающих порты, и я хочу понять, что происходит. Я могу войти весь трафик, используя:

sudo tcpdump -w capture.pcap -i any

Это действительно полезно, и я вижу некоторые полезные данные, которые я хочу понять, какой процесс отвечает за отправку. Поэтому я делаю следующее:

netstat -nputwc > netlog

... это FAR от идеального, так как он выполняет netstat только каждую секунду или около того (может пропустить открытие / закрытие некоторых сокетов). Поэтому для некоторых сетевых пакетов я вижу, что процесс был ускорен, что-то отправлено, а затем закрыто. Так что у меня есть PID, но я не знаю, какая программа стоит за ним. Я знаю, что могу использовать strace для получения необходимой мне информации, но для этого мне нужно знать PID заранее, чего я не делаю:

strace -yfp <pid> -e trace=open,close,read,write,connect,accept

Мне нужно что-то эквивалентное strace, но в нем регистрируется вся информация о процессах / сокетах для всех процессов в системе. В Windows я использовал для этой цели procmon (https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx). Есть ли эквивалентный инструмент для Linux?

0