Wie werden eingehende IPs unter Linux angezeigt?

21

Ich frage mich, was ist der Befehl / Dienstprogramm, um eine Echtzeit-Ansicht der eingehenden IPs auf meinem Server, idealerweise zusammen mit dem Port und verbunden zu haben.

alfish
quelle

Antworten:

25

Verwenden 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

Der pktstat-Quellcode wird auf der Debian-Site gehostet oder kann von SourceArchive.com bezogen werden

Mike Pennington
quelle
1
Tolle. Genau das, wonach ich gesucht habe. Es ist ziemlich offensichtlich, aber um die Antwort zu vervollständigen, möchten Sie vielleicht hinzufügen, dass es einfach durch 'apt-get install pkstat' installiert werden kann.
alfish
Wenn Sie pktstat: pcap_lookupdev: no suitable device founddies ausführen, müssen Sie möglicherweise root sein.
Tim Malone
10

Für die Purdy-Anzeige habe ich eine Vorliebe für ein Tool namens "iptraf", das genau das tut, was Sie erwähnen, sowie für die einzelnen Schnittstellen und Port-Aggregate.

Bei Linux-Kerntools erledigt das vertrauenswürdige netstat den Trick ...

dünnes Eis
quelle
1
Iptraf ist das beste Werkzeug , das ich in Bezug auf Benutzerfreundlichkeit und Funktionalität gesehen haben - natürlich kann man noch Skript einige Sachen mit Standard - Tools wie netstat und ngrep und tcpdump , aber warum sollte man das Rad neu zu erfinden :)
gyre
Der Vollständigkeit halber ähnelt iftop iptraf, einer ncurses-basierten App, die Balkendiagramme anstelle von Zahlen verwendet, um die Bandbreitennutzung pro IP-Adresse anzuzeigen. Mit der Option -P können Sie es auch pro Port erhalten.
Gsreynolds
7

A tcpdumpwürde dir das zeigen; Wenn Sie nur eine Liste von IPs haben möchten, können Sie nach SYN-Paketen filtern und nur die Quell-IP-Adresse ausgeben. So etwas wie:

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

Würden Sie die Liste der IPs in Echtzeit erhalten. Sie können dies auch teezu einer Datei hinzufügen und in regelmäßigen Abständen sort -ueine Liste der eindeutigen IP-Adressen abrufen, die Verbindungen auf Ihre Weise gesendet haben.

womble
quelle
3

So sehen Sie den gesamten Verkehr, der nach Port 2222 kommt:

tcpdump -ni any port 2222
Basj
quelle
0

Sobald Sie die Ausgabe eines der in den anderen Antworten genannten Befehle erhalten haben, können Sie das "watch" -Tool verwenden, um "Echtzeit" zu erhalten. Beispiel: "watch -n 5 ps" führt den Befehl "ps" alle 5 Sekunden aus (Argument "-n"). Ersetzen Sie "ps" durch den Befehl von Interesse, und Sie erhalten "Überwachung". Oder, wie in einem anderen Vorschlag, einfach "tee".

Träger
quelle