Wie interpretiere ich die Ausgabe von „netstat -a“?
-
09-06-2019 - |
Frage
Einige Dinge kommen mir seltsam vor:
- Was ist der Unterschied zwischen 0.0.0.0, 127.0.0.1 und [::]?
- Wie soll jeder Teil der Fremdadresse gelesen werden (Teil1:Teil2)?
- Was bedeutet ein Zustand Time_Wait, Close_Wait?
- usw.
Könnte jemand einen kurzen Überblick darüber geben, wie diese Ergebnisse zu interpretieren sind?
Lösung
0.0.0.0 bezieht sich normalerweise auf Dinge, die auf allen Schnittstellen lauschen.127.0.0.1 = localhost (nur Ihre lokale Schnittstelle) Ich bin mir nicht sicher über [::
TIME_WAIT bedeutet, dass beide Seiten zugestimmt haben, zu schließen, und TCP muss jetzt eine vorgeschriebene Zeit warten, bevor er die Verbindung nach unten nimmt.
Close_wait bedeutet, dass das Remote -System das Senden beendet hat und Ihr System noch nicht fertig ist.
Andere Tipps
Ich verstehe, dass die Antwort akzeptiert wurde, aber hier sind einige zusätzliche Informationen:
- Wenn es heißt
0.0.0.0
In der Spalte „Lokale Adresse“ bedeutet dies, dass der Port alle „Netzwerkschnittstellen“ überwacht (d. h.Ihr Computer, Ihr(e) Modem(s) und Ihre Netzwerkkarte(n). - Wenn es heißt
127.0.0.1
In der Spalte „Lokale Adresse“ bedeutet dies, dass der Port NUR auf Verbindungen von Ihrem PC selbst wartet, nicht auf Verbindungen aus dem Internet oder Netzwerk.Da besteht keine Gefahr. - Wenn es Ihre anzeigt
online IP
In der Spalte „Lokale Adresse“ bedeutet dies, dass der Port NUR auf Verbindungen aus dem Internet lauscht. - Wenn es Ihre anzeigt
local network IP
In der Spalte „Lokale Adresse“ bedeutet dies, dass der Port NUR auf Verbindungen vom lokalen Netzwerk lauscht. - Fremdadresse – Die IP-Adresse und Portnummer des Remote-Computers, mit dem der Socket verbunden ist.Die Namen, die der IP-Adresse und dem Port entsprechen, werden angezeigt, sofern der Parameter -n nicht angegeben ist.Wenn der Port noch nicht eingerichtet ist, wird die Portnummer als Sternchen (*) angezeigt.(aus Wikipedia)
127.0.0.1 ist Ihre Loopback-Adresse, auch bekannt als „localhost“, wenn sie in Ihrer HOSTS-Datei festgelegt ist.Weitere Informationen finden Sie hier: http://en.wikipedia.org/wiki/Localhost
0.0.0.0 bedeutet, dass eine App über einen bestimmten Port an alle IP-Adressen gebunden ist.MS-Infos hier: http://support.microsoft.com/default.aspx?scid=kb;en-us;175952
„::“ ist eine IPv6-Abkürzung für IPv4 0.0.0.0.
Was ist der Unterschied zwischen 0.0.0.0, 127.0.0.1 und [::]?
- 0.0.0.0 zeigt etwas an, das alle Schnittstellen der Maschine überwacht.
- 127.0.0.1 gibt Ihre eigene Maschine an.
- [::] ist die IPv6-Version von 0.0.0.0
- Mein Computer zeigt auch *:\* für UDP an, was zeigt, dass UDP-Verbindungen nicht wirklich eine Fremdadresse haben – sie empfangen Pakete von überall.Das liegt in der Natur von UDP.
Wie soll jeder Teil der Fremdadresse gelesen werden (Teil1:Teil2)?
Send-Q ist die Datenmenge, die von der Anwendung gesendet, aber von der anderen Seite des Sockets noch nicht bestätigt wurde.
Recv-Q ist die Datenmenge, die von der Netzwerkkarte empfangen, aber noch nicht von der Anwendung verbraucht wurde.
Beide Warteschlangen befinden sich im Kernel-Speicher.Es gibt Führer um Ihnen bei der Optimierung dieser Kernel-Puffer zu helfen, wenn Sie dazu geneigt sind.Allerdings funktionieren die Standardparameter möglicherweise recht gut.
Dieser Link hat mir sehr geholfen, netstat -a zu interpretieren
Eine Kopie von dort -
TCP Connection States
Im Folgenden finden Sie eine kurze Erläuterung dieses Händedrucks.In diesem Zusammenhang ist der „Client“ der Peer, der eine Verbindung anfordert, und der „Server“ der Peer, der eine Verbindung akzeptiert.Beachten Sie, dass diese Notation keine Client/Server-Beziehungen als Architekturprinzip widerspiegelt.
Verbindungsaufbau
Der Client sendet eine SYN-Nachricht, die den Port des Servers und die Initial Sequence Number (ISN) des Clients enthält, an den Server (aktives Öffnen).
Der Server sendet sein eigenes SYN und ACK zurück (bestehend aus der ISN + 1 des Clients).
Der Client sendet eine ACK (die aus der ISN + 1 des Servers besteht).
Verbindungsabbau (modifizierter Drei-Wege-Handshake).
Der Client sendet ein FIN (Active Close).Dies ist eine jetzt halb geschlossene Verbindung.Der Client sendet keine Daten mehr, kann aber weiterhin Daten vom Server empfangen.Nach Erhalt dieser FIN wechselt der Server in einen passiven Schließzustand.
Der Server sendet ein ACK (das ist die FIN-Sequenz + 1 des Clients).
Der Server sendet seine eigene FIN.
Der Client sendet ein ACK (das ist die FIN-Sequenz + 1 des Servers).Nach Erhalt dieser Bestätigung schließt der Server die Verbindung.
Eine halbgeschlossene Verbindung kann verwendet werden, um das Senden von Daten zu beenden, während gleichzeitig Daten empfangen werden.Socket-Anwendungen können Shutdown aufrufen, wobei das zweite Argument auf 1 gesetzt ist, um in diesen Zustand zu gelangen.
Zustandserklärungen wie in Netstat dargestellt:
Zustandserklärung
SYN_SEND
Zeigt aktives Öffnen an.
SYN_RECEIVED
Der Server hat gerade SYN vom Client erhalten.
ESTABLISHED
Der Client hat die SYN des Servers empfangen und die Sitzung wird aufgebaut.
LISTEN
Der Server ist bereit, eine Verbindung anzunehmen.
NOTIZ:Siehe Dokumentation zum Listen()-Socket-Aufruf.TCP-Sockets im Überwachungsstatus werden nicht angezeigt – dies ist eine Einschränkung von NETSTAT.Weitere Informationen finden Sie im folgenden Artikel in der Microsoft Knowledge Base:134404 netstat.exe zeigt keine TCP -Listen -Sockets fin_wait_1 an, die Active Close angeben.
TIMED_WAIT
Der Client gelangt nach dem aktiven Schließen in diesen Zustand.
CLOSE_WAIT
Zeigt passives Schließen an.Der Server hat gerade die erste FIN von einem Client erhalten.
FIN_WAIT_2
Der Client hat gerade die Bestätigung seiner ersten FIN vom Server erhalten.
LAST_ACK
Der Server befindet sich in diesem Zustand, wenn er seine eigene FIN sendet.
CLOSED
Der Server hat eine Bestätigung vom Client erhalten und die Verbindung wurde geschlossen.
Für diejenigen, die [::] in ihrer Netstat-Ausgabe sehen: Ich wette, auf Ihrem Computer läuft IPv6.das wäre äquivalent zu 0.0.0.0, alsoHören Sie auf jede IPv6-Adresse.