Como posso monitorar o uso de E / S de rede por processo no Linux?

Respostas:

31

nethogs parece que fará o que você quer.

Edição: Eu precisava instalar ncurses-devel, libpcap e libpcap-devel para construir.

moshen
fonte
@ yag, não há necessidade de adicionar "EDIT" à postagem. Já podemos ver a história do que mudou.
tshepang 27/05
@Tshepang Analisei sua edição, mantive o link atualizado, mas mantive o texto de edição, pois para mim ele agregava valor, como a sua edição também.
yagmoth555 - GoFundMe Monica
@ yagmoth555 Quero dizer, por que manter "EDITAR" no post? Como temos um histórico para mostrar o que foi editado, não é necessário mencionar que "o texto a seguir é uma edição".
tshepang 27/05
@Tshepang Oh, verifique sua edição, você removeu toda a linha com certeza por erro, por isso eu
reeditei
@ yagmoth555 era deliberada, e eu deixei o comentário que explica por que
tshepang
4

Para descobrir quais conexões estão associadas a cada processo, use lsof. Por exemplo:

lsof | grep TCP

Isso fornecerá uma lista de conexões, assim:

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)

A partir daí, você poderá descobrir cada conexão individualmente usando as ferramentas mencionadas (iftop, iptraf). Você pode criar um pequeno script para agregar os dados específicos que procura.

lukecyca
fonte
3
lsof -niTCPé equivalente, mas muito mais rápido e lsof -niTCP -sTCP:ESTABLISHEDmostra as conexões atuais.
Miau