Come vedere gli IP in arrivo su Linux?


21

Mi chiedo quale sia il comando / utilità per avere una vista in tempo reale degli IP in arrivo sul mio server, idealmente insieme alla porta e connessi.

Risposte:


25

Uso 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

Il codice sorgente di pktstat è ospitato sul sito di Debian, oppure è possibile ottenerlo da SourceArchive.com


1
Stupefacente. Esattamente quello che stavo cercando. È abbastanza ovvio, ma per completare la risposta potresti voler aggiungere che può essere installato semplicemente da 'apt-get install pkstat'.
— alfish

Inoltre, se si ottiene pktstat: pcap_lookupdev: no suitable device foundquando si esegue questo, potrebbe essere necessario essere root.
— Tim Malone,

10

Per la visualizzazione "purdy", sono parziale di uno strumento chiamato "iptraf" che farà esattamente ciò che lei menziona, così come per interfaccia e per aggregati di porte.

Per i principali strumenti Linux, fidato netstat farà il trucco ...


1
IPtraf è lo strumento migliore che abbia mai visto in termini di usabilità e funzionalità - ovviamente puoi ancora scrivere alcune cose usando strumenti standard come netstat e ngrep e tcpdump ma perché vorresti reinventare la ruota :)
— gyre

Per completezza, iftop è simile a iptraf - un'app basata su ncurses che utilizza grafici a barre anziché solo numeri - per visualizzare l'utilizzo della larghezza di banda per indirizzo IP. Con l'opzione -P puoi ottenerlo anche per porta.
— gsreynolds,

7

A te tcpdumplo mostrerebbe; se si desidera semplicemente un elenco di IP, è possibile filtrare i pacchetti SYN e generare solo l'indirizzo IP di origine. Qualcosa di simile a:

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

Ti farebbe ottenere l'elenco degli IP, in tempo reale. Potresti anche teefarlo su un file, e periodicamente fare sort -usu di esso per ottenere un elenco di indirizzi IP univoci che hanno inviato connessioni a modo tuo.


3

Ecco come vedere tutto il traffico in arrivo sulla porta 2222:

tcpdump -ni any port 2222

0

Una volta ottenuto l'output di uno dei comandi menzionati in altre risposte, puoi usare lo strumento "watch" per avere "real-time". Ad esempio, "watch -n 5 ps" eseguirà il comando "ps" ogni 5 secondi (argomento "-n"). Sostituisci "ps" con il comando di interesse e otterrai "monitoraggio". Oppure, basta "tee" sul file, come in un altro suggerimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.