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.