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.

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


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 ...


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.


3

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

tcpdump -ni any port 2222

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".

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.