netstat por simplicidade
Usando netstat
e grepping no PID ou no nome do processo:
# netstat -np --inet | grep "thunderbird"
tcp 0 0 192.168.134.142:45348 192.168.138.30:143 ESTABLISHED 16875/thunderbird
tcp 0 0 192.168.134.142:58470 192.168.138.30:443 ESTABLISHED 16875/thunderbird
Você pode usar watch
para atualizações dinâmicas:
watch 'netstat -np --inet | grep "thunderbird"'
Com:
-
-n
: mostra endereços numéricos em vez de tentar determinar nomes de host, porta ou usuário simbólicos -
-p
: Mostra o PID e o nome do programa ao qual cada soquete pertence. -
--inet
: Exibe apenas os soquetes do protocolo raw, udp e tcp.
strace para verbosidade
Você disse que tentou a ferramenta strace
, mas tentou a opção trace=network
?
Note que a saída pode ser bastante detalhada, então você pode precisar de alguns grepping. Você poderia começar por grepping em "sin_addr".
strace -f -e trace=network <your command> 2>&1 | grep sin_addr
Ou, para um processo já em execução, use o PID:
strace -f -e trace=network -p <PID> 2>&1 | grep sin_addr