Como rastrear o uso da LAN? (AKA 'top for LAN')

27

Há um aplicativo maligno que está consumindo TODA minha largura de banda de upload (eu sou brasileiro, tem apenas ~ 35kbps) por 80% das vezes que meu PC está ligado.

Gostaria de saber se há alguma maneira de rastrear esse uso e descobrir qual aplicativo está fazendo isso.

igorsantos07
fonte

Respostas:

12

E os nethogs ? Na minha opinião, é muito mais humano. Lista qual comando / programa usando a rede e quanta largura de banda para cada um deles, em tempo real.

Instale-o nos sistemas ubuntu / debian com:

sudo apt-get install nethogs

Execute-o para monitorar sua interface de rede assim:

sudo nethogs eth0

texto alternativo

vulcan_hacker
fonte
muito interessante! = D Corrija meu problema melhor que o combo iftop + netstat. Não que ambos não sejam bons, eles são incríveis, mas não para o que eu precisava. D =
igorsantos07
isso não parece ter um modo em lote.
Nicholas DiPiazza
19

iftopé um programa baseado em console / shell semelhante ao top que pode usar a biblioteca pcap (também usada pelo tcpdump e wireshark). Está disponível para Ubuntu no Universe.

sudo aptitude install iftop
sudo iftop

Ao executar uma atualização em um sistema ubuntu:

texto alternativo

Com o netstat, você pode descobrir qual processo está conectado a uma porta ou IP específico. Para portas, é uma boa ideia prefixar dois pontos.

sudo netstat -plantu | grep "some_port_number_or_ip_address"

Por exemplo, para procurar conexões abertas para ssh:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

Você também pode procurar conexões de porta aberta com lsof:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

Você pode obter mais informações sobre os arquivos abertos em lsof com -p PID.

sudo lsof -p 2376

(Muita saída daquela suprimida)

jtimberman
fonte
Com este programa, eu pude determinar onde a TI estava comendo minha conexão ... e com o netstat, pude determinar quem estava fazendo isso. Preciso marcar as duas respostas como corretas! XD
igorsantos07 26/08/09
Eu realmente não acho que é justo para editar a sua resposta e adicionar um monte de novas informações ... mas eu não posso pensar em qualquer outra solução, então .. obrigado novamente =]
igorsantos07
2
@Igoru Apenas aprimore a resposta para que as pessoas obtenham informações mais relevantes se estiverem procurando por perguntas semelhantes às suas.
jtimberman
1
Espere ... é um sistema Ubuntu? Parece OS X.
Mechanical snail
Eu ssh'd para um sistema ubuntu do meu mac.
precisa
9

Ntop é seu amigo. Os pacotes estão em repositórios linux e macports.

Nicholas
fonte
2
O ntop é um excelente programa, mas provavelmente é um exagero e é complicado demais para isso.
jtimberman
Não acho que seja amigável como gostaria ... acho que há muita informação para o que preciso. E sua resposta não é exatamente .... helful. Mas obrigado de qualquer maneira =]
igorsantos07
5

Além de usar o iftop para identificar o endereço e a porta que estão usando largura de banda, você pode usar o netstat para identificar o processo

sudo netstat -ntp

Isso mostrará todas as conexões TCP abertas e o nome / ID do processo anexado a cada um.

Rog
fonte
Como não posso votar em "aceito" para você e iftop, vou aceitá-lo - isso me mostrou EXATAMENTE quando e como alguém estava comendo minha largura de banda - e votá-lo porque netstateu sabia quem eu deveria matar. Obrigado!
Igorsantos07 26/08/09
Como alternativa, você pode usar lsof -i tcp:80para concentrar sua pesquisa em uma porta. Esta versão especial irá listar todos os processos ligados na porta TCP 80.
nagul
2

Na minha opinião, a interface de usuário do iftop não é bem projetada. Na prática, quase nunca é necessário visualizar os IPs ou nomes de host em tempo real. Se eu precisasse de uma lista de todas as conexões atuais, eu iria apenas com o netstat, como o jtimberman explicou.

Para meus propósitos, o bmon é mais adequado que o iftop. Possui uma interface de usuário muito simplista, com suporte para múltiplas interfaces e desenho de "gráficos". Aqui está uma captura de tela:

bmon

Se você não precisa de todos os recursos que a bmon oferece, o bwm-ng pode ser a ferramenta perfeita para você. Ele mostra apenas a largura de banda atual ocupada por interface - nem mais nem menos:

bwm-ng

timn
fonte
2

O nload é uma ótima ferramenta para monitorar a largura de banda em tempo real e é facilmente instalado no Ubuntu ou Debian com o sudo apt-get install nload.

Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:


                               .         ...|    
                               #         ####|   
                           .. |#|  ...   #####.         ..          Curr: 2.07 MBit/s
                          ###.###  #### #######|.     . ##      |   Avg: 1.41 MBit/s
                         ########|#########################.   ###  Min: 1.12 kBit/s
             ........    ###################################  .###  Max: 4.49 MBit/s
           .##########. |###################################|#####  Ttl: 1.94 GByte
Outgoing:
            ##########  ###########    ###########################
            ##########  ###########    ###########################
            ##########. ###########   .###########################
            ########### ###########  #############################
            ########### ###########..#############################
           ############ ##########################################
           ############ ##########################################
           ############ ##########################################  Curr: 63.88 MBit/s
           ############ ##########################################  Avg: 32.04 MBit/s
           ############ ##########################################  Min: 0.00 Bit/s
           ############ ##########################################  Max: 93.23 MBit/s
         ############## ##########################################  Ttl: 2.49 GByte

Outra ferramenta excelente é o iftop , também facilmente apt-get'able:

             191Mb      381Mb                 572Mb       763Mb             954Mb     
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local            => box-2.local                      91.0Mb  27.0Mb  15.1Mb
                      <=                                  1.59Mb   761kb   452kb
box4.local            => box.local                         560b   26.8kb  27.7kb
                      <=                                   880b   31.3kb  32.1kb
box4.local            => userify.com                         0b   11.4kb  8.01kb
                      <=                                  1.17kb  2.39kb  1.75kb
box4.local            => b.resolvers.Level3.net              0b     58b    168b
                      <=                                     0b     83b    288b
box4.local            => stackoverflow.com                   0b     42b     21b
                      <=                                     0b     42b     21b
box4.local            => 224.0.0.251                         0b      0b    179b
                      <=                                     0b      0b      0b
224.0.0.251           => box-2.local                         0b      0b      0b
                      <=                                     0b      0b     36b
224.0.0.251           => box.local                           0b      0b      0b
                      <=                                     0b      0b     35b


─────────────────────────────────────────────────────────────────────────────────
TX:           cum:   37.9MB   peak:   91.0Mb     rates:   91.0Mb  27.1Mb  15.2Mb
RX:                  1.19MB           1.89Mb              1.59Mb   795kb   486kb
TOTAL:               39.1MB           92.6Mb              92.6Mb  27.9Mb  15.6Mb

Não se esqueça dos utilitários clássicos e poderosos de sar e netstat no antigo * nix!

Jamieson Becker
fonte
1

O Wireshark também é um aplicativo (multiplataforma) muito bom para monitorar o tráfego de rede. Aqui está uma descrição do site:

O Wireshark é o principal analisador de protocolo de rede do mundo e é o padrão de fato (e geralmente de jure) em muitos setores e instituições educacionais.

alex
fonte
0

Você pode fazer isso no nível do roteador, dependendo do seu firmware. Por exemplo, se você usa o DD-WRT , pode rastrear o uso ao longo do tempo e por máquina.

th3dude
fonte
Na verdade, acho que o uso do meu roteador ADSL apenas para resolver esse pequeno problema é um exagero e é complicado demais. Eu acho que é uma coisa fácil de resolver. Mas obrigado por sua ajuda!
igorsantos07
0

Instale um firewall e, pelo menos temporariamente, faça com que ele bloqueie todas as conexões de saída. Ele deve notificá-lo quando algo tentar fazer uma conexão; nesse ponto, você deve ter o seu culpado :-)

aqui está um dos muitos artigos online que fornece informações sobre a instalação de um firewall no ubuntu:
http://linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu

Joel Martinez
fonte
Eu acho que já tenho UFW no meu Ubuntu .. Enfim, acho que isso seria um pouco problemático para resolver com essa abordagem. O problema não acontece o tempo todo, é intermitente, mas é um pouco frequente. Mas se os outros aplicativos de informações da rede falharem, tentarei o firewall! Obrigado!
igorsantos07