Хорошим вариантом может быть lsof
. Как утверждает man lsof
, он удобен для получения информации об открытых файлах , таких как Интернет-сокеты или сокеты домена Unix
.
Сначала ознакомьтесь с / proc / $ PID / fd /
и перечисленными номерами сокетов.
Например, socket: [14240]
может вас заинтересовать.
Затем используйте lsof -i -a -p $ PID
, чтобы распечатать список всех сетевых файлов, которые использует $ PID
.
-i
создает список сетевых файлов, принадлежащих пользователю или процессу
-a
логически объединяет или заданные параметры AND
-p $ PID
выбирает информацию только о вашем процессе
Типичный результат для моего браузера, работающего с PID 2543
, может быть:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
browser 2543 pidi 55u IPv4 14240 0t0 TCP pidi.router.lan:55038->stackoverflow.com:https (ESTABLISHED)
и более похожих строк.
Отлично! Теперь внимательно посмотрите на столбец УСТРОЙСТВО
.
Он соответствует нашему ранее указанному сокету из / proc / $ PID / fd /
!
А благодаря разделу NAME
мы можем сказать, что это за другой конец нашего сокета.
В реальном мире вы можете получить хороший результат, но просто отфильтруйте или grep
для интересующего вас сокета.
Я почти уверен, что можно комбинировать все команды, но этого должно быть достаточно, чтобы вы начали.