Comando lsof
Uma boa opção pode ser lsof
. Como man lsof
declara que é útil para obter informações sobre open files such as Internet sockets or Unix Domain sockets
.
Usando
Primeiro, obtenha uma visão geral sobre /proc/$PID/fd/
e os números de soquete listados.
Por exemplo, socket:[14240]
pode interessar você.
Em seguida, use lsof -i -a -p $PID
para imprimir uma lista de todos os arquivos de rede $PID
usa.
-
-i
produz uma lista de arquivos de rede pertencentes a um usuário ou processo -
-a
combina logicamente ou os parâmetros fornecidos pelo AND -
-p $PID
seleciona informações apenas sobre seu processo
Uma saída típica para meu navegador em execução com um PID de 2543
pode ser:
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)
e mais linhas semelhantes.
Ótimo! Agora, dê uma olhada mais de perto na coluna DEVICE
.
Ele corresponde ao nosso soquete listado anteriormente de /proc/$PID/fd/
!
E graças à seção NAME
, podemos dizer qual é a outra extremidade do nosso soquete.
Em um mundo real, você pode obter uma boa quantidade de resultados, mas apenas filtrar ou grep
para seu soquete de interesse.
Tenho certeza de que é possível combinar todos os comandos, mas isso deve ser suficiente para você começar.