Heim  >  Artikel  >  php教程  >  Ausführliche Erklärung von Netstat

Ausführliche Erklärung von Netstat

高洛峰
高洛峰Original
2016-12-15 09:43:521602Durchsuche

http://www.now163.net/2011/04/460.html Netstat-Befehl erklärt, wie man die TIME_WAIT-Verbindung schließt und wie man den Nginx-Zugriffsverkehr anzeigt

http: //kerry .blog.51cto.com/172631/105233/ Eine große Anzahl von TIME_WAIT-Lösungen gefunden


============== ==== ========== Netstat-Überwachung während des Stresstests

Parallelitätsstatus anzeigen
# netstat -n |. ++S [$NF]} END {for(a in S) print a, S[a]}'
Diese Anweisung gibt das folgende Ergebnis zurück
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
SYN_RECV gibt die Anzahl der Anfragen an, die auf die Verarbeitung warten; ESTABLISHED gibt den normalen Datenübertragungsstatus an; TIME_WAIT gibt die Anzahl der Anfragen an, die verarbeitet wurden und warten damit die Auszeit endet.

MySQL-Verbindung anzeigen

#netstat -anp | |. awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

Sie erhalten Ergebnisse ähnlich den folgenden, und Die spezifischen Zahlen lauten: BESCHREIBUNG

GESCHLOSSEN: Es ist keine Verbindung aktiv oder läuft
LISTEN: Der Server wartet auf einen eingehenden Anruf

SYN_RECV: Eine Verbindungsanfrage ist eingetroffen und wartet auf Bestätigung

SYN_SENT: Die Anwendung wurde gestartet , Öffnen einer Verbindung
ESTABLISHED: Normaler Datenübertragungsstatus
FIN_WAIT1: Die Anwendung sagt, dass sie abgeschlossen ist
FIN_WAIT2: Die andere Seite hat der Freigabe zugestimmt
ITMED_WAIT: Warten, bis alle Pakete sterben
CLOSING: Beide Seiten versuchen gleichzeitig zu schließen
TIME_WAIT: Eine weitere A-Version wurde auf einer Seite initialisiert
LAST_ACK: Warten, bis alle Pakete sterben

Mit anderen Worten, dieser Befehl kann klassifizieren und fassen Sie den Netzwerkverbindungsstatus des aktuellen Systems zusammen.



Anzahl der TIME_WAIT-Verbindungen anzeigen
netstat -ae|grep "TIME_WAIT" |wc -l

netstat -n awk '/^tcp/ {. ++ state[$NF]} END {for(key in state) print key,"t",state[key]}'

Weitere time_wait-Verbindungen finden
netstat -n|grep TIME_WAIT|awk ' {print $5}'|sort|uniq -c|sort -rn|head -n20



netstat + awk sind zwei Möglichkeiten, die Anzahl der Verbindungen abzufragen , mit der gleichen Bedeutung

1: netstat -pnt |. awk '/^tcp/{print $5}' |. cut -d: -f 1 | awk '/^tcp/ {s=split($5,N,":");A[N[s-1]]++} END{ for (k in A) print k,A[k]}'




Netstat wird verwendet, um statistische Daten zu IP-, TCP-, UDP- und ICMP-Protokollen anzuzeigen. Es wird im Allgemeinen verwendet, um die Netzwerkverbindung jedes Ports der Maschine zu überprüfen.


netstat -ntlp

netstat -anp | mysql




netstat -i -e zeigt die Konfiguration und den Status jeder Netzwerkschnittstelle auf dem Host an

netstat -lp identifiziert den Netzwerkdienst, der lauscht

netstat -rn Überprüfen Sie die Routing-Tabelle

netstat -s Überprüfen Sie die Statistiken verschiedener laufender Netzwerkprotokolle

netstat -tln wird verwendet, um den Port zu überprüfen Verwendung von Linux

netstat --ip -an

Linux View Ports und Dienste

 # netstat -tulpn

 Oder

 # netstat -npl

Parameter:

  -a oder –all zeigt alle Sockets in der Verbindung an.


-A oder – listet die relevanten Adressen in der Verbindung dieses Netzwerktyps auf.

 -c oder –continuous listet den Netzwerkstatus fortlaufend auf.

 -C oder –cache zeigt die Cache-Informationen der Router-Konfiguration an.


 -e oder –extend zeigt andere verwandte Informationen über das Netzwerk an.

 -F oder –fib zeigt FIB an.

 -g oder –groups Zeigt die Liste der Mitglieder der Multicast-Funktionsgruppe an.

-h oder –help Online-Hilfe.

 -i oder –interfaces zeigt das Informationsformular der Netzwerkschnittstelle an.

-l oder –listening zeigt den Socket des überwachten Servers an.

-M oder –masquerade zeigt maskierte Netzwerkverbindungen an.

-n oder –numeric verwendet die IP-Adresse direkt, ohne den Domänennamenserver zu durchlaufen.

-N oder –netlink oder –symbolic Zeigt den symbolischen Linknamen des Netzwerk-Hardware-Peripheriegeräts an.

-o oder –timers Zeigt Timer an.

-p oder –programs zeigt den Programmidentifikationscode und den Programmnamen an, die Socket verwenden.

 -r oder –route zeigt die Routing-Tabelle an.

 -s oder –statistice zeigt die Statistiktabelle mit Netzwerkarbeitsinformationen an.

  -t oder –tcp zeigt den Verbindungsstatus des TCP-Übertragungsprotokolls an.

 -u oder –udp zeigt den Verbindungsstatus des UDP-Übertragungsprotokolls an.

-v oder –verbose zeigt den Befehlsausführungsprozess an.

-V oder –version zeigt Versionsinformationen an.

 -w oder –raw zeigt den Verbindungsstatus des RAW-Übertragungsprotokolls an.

  -x oder –unix Die Wirkung dieses Parameters ist dieselbe wie die Angabe des Parameters „-A Unix“.

 –ip oder –inet Die Wirkung dieses Parameters ist dieselbe wie die Angabe des Parameters „-A inet“

------- --- -----------

Serverseitig, Portstatusänderungen

Konfigurieren Sie zuerst den FTP-Dienst auf diesem Computer (IP-Adresse: 192.168.1.10) und greifen Sie dann auf den FTP-Dienst auf anderen Computern zu (IP-Adresse: 192.168.1.1). Überprüfen Sie die Statusänderungen des Ports in TCPView.

Der fettgedruckte Text unten zeigt den von TCPView abgefangenen Teil.

1. LISTENING-Zustand

Nachdem der FTP-Dienst gestartet wurde, befindet er sich zunächst im Abhörzustand (LISTENING).

Wenn der Status LISTENING anzeigt, bedeutet dies, dass er sich im Listening-Status befindet, was bedeutet, dass der Port offen ist und auf eine Verbindung wartet, aber noch keine Verbindung hergestellt wurde. Es ist, als ob die Tür zu Ihrem Haus offen steht, aber noch niemand hereingekommen ist.

In TCPView können Sie den Status der FTP-Öffnung auf diesem Computer sehen. Das bedeutet: Das Programm inetinfo.exe hat Port 21 geöffnet und der Standardport für FTP ist 21. Es ist ersichtlich, dass der FTP-Dienst auf diesem Computer geöffnet ist. Derzeit im Hörstatus.

inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING

2. ESTABLISHED-Status

Jetzt vom Computer aus auf 192.168 192.168.1.1 .1.10 zugreifen FTP-Dienst. In der TCP-Ansicht dieser Maschine können Sie sehen, dass sich der Portstatus in ESTABLISHED ändert.

ESTABLISHED bedeutet, eine Verbindung herzustellen. Zeigt an, dass die beiden Maschinen kommunizieren.

Was unten gezeigt wird, ist, dass der Computer 192.168.1.1 auf den FTP-Dienst dieser Maschine zugreift.

inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED

Hinweis: Sie müssen besonders auf die Verbindung im Status ESTABLISHED achten, da es sich möglicherweise nicht um eine handelt normale Verbindung. Wir werden später über dieses Problem sprechen.

3. TIME_WAIT-Status

Greifen Sie nun vom Computer 192.168.1.1 auf den FTP-Dienst 192.168.1.10 zu. In der TCPView dieser Maschine können Sie sehen, dass sich der Portstatus in TIME_WAIT ändert.

TIME_WAIT bedeutet, die Verbindung zu beenden. Dies bedeutet, dass bereits auf Port 21 zugegriffen wurde, der Zugriff jedoch beendet wurde.

[Systemprozess]:0 TCP 192.168.1.1:3009 TIME_WAIT

4. Tipps

a die Änderungen in diesem Port. Wenn beispielsweise Port 1025 geöffnet ist, führen Sie ihn im Befehlsstatus aus (cmd wie in Abbildung 1 gezeigt):

telnet 192.168.1.10 1025

b Sie können den Test auch von diesem Computer aus durchführen. aber die angezeigte Es ist der lokale Computer, der mit dem lokalen Computer verbunden ist

c Doppelklicken Sie auf die Verbindung in Tcpview, um den Speicherort des Programms anzuzeigen, und wählen Sie „Prozess beenden“, um die Verbindung zu beenden 🎜>
Client, Portstatusänderung


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn