Como ver os IPs recebidos no Linux?

21

Gostaria de saber qual é o comando / utilitário para ter uma visualização em tempo real dos IPs recebidos no meu servidor, idealmente junto com a porta e conectada.

alfish
fonte

Respostas:

25

Usar pktstat -n

interface: eth0
bps

   bps    % desc
 162.3   0% arp
 286.5   0% llc 802.1d -> 802.1d
 544.3   1% tcp 172.16.1.5:22 <-> 172.16.1.95:8074
 34.0k  87% udp 172.16.1.1:514 <-> 172.16.1.5:514
 350.1   0% udp 172.16.1.5:24330 <-> 209.18.47.62:53
 329.4   0% udp 172.16.1.5:34870 <-> 209.18.47.62:53
 388.3   0% udp 172.16.1.5:4470 <-> 209.18.47.62:53
 407.4   1% udp 172.16.1.5:47008 <-> 209.18.47.62:53
 741.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:43289
 663.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:44589
 647.7   1% udp 172.16.1.5:53 <-> 172.16.1.74:58223
 128.9   0% udp 172.16.1.74:5353 <-> 224.0.0.251:5353
 160.7   0% udp6 fe80::21c:bfff:fecf:a798,5353 <-> ff02::fb,5353

O código fonte do pktstat está hospedado no site do Debian, ou você pode obtê-lo no SourceArchive.com

Mike Pennington
fonte
1
Surpreendente. Exatamente o que eu estava procurando. É bastante óbvio, mas para concluir a resposta, você pode adicionar que ele pode ser instalado simplesmente por 'apt-get install pkstat'.
alfish
Além disso, se você obtiver pktstat: pcap_lookupdev: no suitable device foundao executar isso, pode ser necessário ser root.
Tim Malone
10

Para exibição 'purdy', sou parcial de uma ferramenta chamada 'iptraf' que fará exatamente o que você mencionou, bem como por interface e por agregados de porta.

Para as principais ferramentas Linux, o confiável netstat fará o truque ...

gelo fino
fonte
1
Iptraf é a melhor ferramenta que eu já vi em termos de usabilidade e funcionalidade - obviamente você ainda pode roteiro algumas coisas usando ferramentas padrão como netstat e ngrep e tcpdump mas por que você quer reinventar a roda :)
giro
Para completar, o iftop é semelhante ao iptraf - um aplicativo baseado em ncurses que usa gráficos de barra em vez de apenas números - para exibir o uso da largura de banda por endereço IP. Com a opção -P, você também pode obtê-lo por porta.
precisa saber é o seguinte
7

A tcpdumpmostraria isso a você; se você quiser apenas uma lista de IPs, poderá filtrar os pacotes SYN e enviar apenas o endereço IP de origem. Algo como:

tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'

Você obteria a lista de IPs em tempo real. Você também pode fazer teeisso em um arquivo e periodicamente fazer um sort -upara obter uma lista de endereços IP exclusivos que enviaram conexões do seu jeito.

mulher
fonte
3

Aqui está como ver todo o tráfego chegando à porta 2222:

tcpdump -ni any port 2222
Basj
fonte
0

Depois de obter a saída de um dos comandos mencionados em outras respostas, você pode usar a ferramenta "watch" para ter "tempo real". Por exemplo, "watch -n 5 ps" executará o comando "ps" a cada 5 segundos (argumento "-n"). Substitua "ps" pelo comando de interesse e você obterá "monitoramento". Ou apenas "tee" no arquivo, como em outra sugestão.

Transportadora
fonte