Strumenti noti come iftop / iptraf visualizzano I / O di rete per interfaccia e per connessione. Esiste un modo per visualizzare le statistiche di I / O di rete per processo?
Strumenti noti come iftop / iptraf visualizzano I / O di rete per interfaccia e per connessione. Esiste un modo per visualizzare le statistiche di I / O di rete per processo?
Risposte:
nethogs sembra che farà quello che vuoi.
EDIT: dovevo installare ncurses-devel, libpcap e libpcap-devel.
Per trovare quali connessioni sono associate a ciascun processo, utilizzare lsof. Per esempio:
lsof | grep TCP
Questo ti darà un elenco di connessioni, in questo modo:
bash 10887 luke 3u IPv4 44638801 0t0 TCP littleyerry.example.com:55212->barista.example.com:ldap (ESTABLISHED)
bash 10913 luke 3u IPv4 44638905 0t0 TCP littleyerry.example.com:55216->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 3u IPv4 44639001 0t0 TCP littleyerry.example.com:55219->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 4u IPv4 44639008 0t0 TCP littleyerry.example.com:59459->launchpad.example.com:ssh (ESTABLISHED)
bash 10938 luke 3u IPv4 44639107 0t0 TCP littleyerry.example.com:55221->barista.example.com:ldap (ESTABLISHED)
Da lì, dovresti essere in grado di scoprire individualmente ogni connessione utilizzando gli strumenti che hai citato (iftop, iptraf). Potresti creare un piccolo script per aggregare i dati specifici che stai cercando.
lsof -niTCP
è equivalente ma molto più veloce e lsof -niTCP -sTCP:ESTABLISHED
mostra le connessioni correnti.