Como faço para auditar conexões de rede que excedam uma certa quantidade de tráfego ou largura de banda no Linux?

5

Estou cuidando de algumas caixas do Debian e ocasionalmente vejo um grande aumento no tráfego da rede. Estou exibindo métricas com grafite (sendo alimentado por uma verificação sensu que reúne métricas por interface a cada minuto) e ocasionalmente vejo esse tipo de coisa:

Eu não tenho ideia do que está causando isso, já que nunca consegui pegá-lo enquanto está em andamento. Seria bom descobrir o que está causando isso, então qual é a melhor abordagem para tentar descobrir o que isso poderia ser?

Eu acho que o que eu realmente procuro é: existe uma maneira de auditar uma conexão de rede (e processar id / nome) se a quantidade de dados enviados / recebidos for superior a uma determinada quantidade ou taxa?

    
por growse 06.07.2014 / 21:11

2 respostas

6

Você pode acompanhar facilmente estatísticas de rede por processo usando nethogs . Existe um pacote pré-compilado para o Debian .

Funciona de forma semelhante a top :

NetHogs version 0.8.0

  PID USER     PROGRAM                             DEV        SENT        RECEIVED
11951 dawud    /usr/lib64/firefox/firefox          p5p1       4.682       5.502 KB/sec
1145  tomcat   java                                p5p1       0.313       0.560 KB/sec
12411 dawud    /usr/lib64/firefox/plugin-container p5p1       0.027       0.013 KB/sec

TOTAL                                                         5.022       6.075 KB/sec

Verifique sua página de manual para mais opções.

    
por 06.07.2014 / 23:25
2

Eu modificaria o seu plugin sensu (nagios?) para executar um comando ps ou top e descarregar a saída para um arquivo local. Em seguida, volte e correlacione seus picos à saída ps / top para descobrir o que está acontecendo.

Se você não quiser ou não puder fazer a alteração, consulte sar ou no topo .

EDIT: Próxima ideia, execute o tcpdump e, em seguida, revise o tráfego no wireshark.

    
por 06.07.2014 / 22:59