Linux: como monitorar continuamente qual processo usa qual porta (como o procmon no Windows)?

3

Supondo que você tenha um servidor com vários processos (alguns que iniciam em tempo aleatório) ouvindo portas, e eu quero entender o que está acontecendo. Eu posso registrar todo o tráfego usando:

sudo tcpdump -w capture.pcap -i any

Isso é muito útil, e vejo algumas cargas que quero entender qual processo é responsável pelo envio. Então eu faço o seguinte:

netstat -nputwc > netlog

... isto é FAR da perfeição, já que só faz um netstat a cada segundo ou mais (pode perder alguns soquetes abrindo / fechando). Então, para alguns dos pacotes de rede, vejo que um processo foi acionado, enviado algo e depois fechado. Então eu tenho o PID, mas não tenho idéia de qual programa está por trás dele. Eu sei que posso usar strace para obter as informações que preciso, mas isso exigiria que eu soubesse o PID antes do tempo, o que eu não faço:

strace -yfp <pid> -e trace=open,close,read,write,connect,accept

Eu precisaria de algo equivalente a strace, mas isso registra todas as informações de processo / soquete para todo o processo no sistema. No Windows, costumava usar o procmon ( link ) para essa finalidade. Existe uma ferramenta equivalente para o Linux?

    
por N0thing 07.02.2017 / 19:16

0 respostas