Каков самый простой способ найти IP-адрес, связанный с определенным процессом на компьютере Linux?
Задача проста, если порт, используемый процессом, зарезервирован исключительно для этого процесса: я бы нашел пакеты, связанные с процессом путем фильтрации захвата пакетов на этот порт.
Однако это становится менее очевидным, когда интересующий порт используется несколькими процессами одновременно.
Как я могу различать пакеты, отправленные и полученные одним конкретным выбранным процессом в этот случай?
lsof -i :"port number"
Это можно использовать, чтобы узнать, какой порт прослушивает какой процесс и для какого процесса.
Вы также можете использовать:
netstat -nutlp | grep "port number|process|IP Address"
Самый простой способ - это тот, который указан в ответе Анирудха, как root:
netstat -aentpu | grep "IP:PORT"
Судя по вашему вопросу, вы думаете, что может быть несколько процессов, прослушивающих один и тот же IP: PORT. Вы имеете в виду SO_REUSEPORT?
В этом случае с помощью netstat вы все равно получите PID процесса.
И нет, sinffing не обязательно сообщает вам, какой процесс слушает, вы только видите трафик.