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