Comment interpréter la sortie « netstat -a »
-
09-06-2019 - |
Question
Certaines choses me semblent étranges :
- Quelle est la différence entre 0.0.0.0, 127.0.0.1 et [::] ?
- Comment lire chaque partie de l’adresse étrangère (part1:part2) ?
- Que signifie un état Time_Wait, Close_Wait ?
- etc.
Quelqu'un pourrait-il donner un bref aperçu de la façon d'interpréter ces résultats ?
La solution
0.0.0.0 fait généralement référence aux éléments écoutés sur toutes les interfaces.127.0.0.1 = LocalHost (seulement votre interface locale) Je ne suis pas sûr de [::
Time_wait signifie que les deux parties ont accepté de fermer et TCP doit maintenant attendre un temps prescrit avant de retirer la connexion.
Close_wait signifie que le système distant a terminé l'envoi et que votre système n'a pas encore dit qu'il est terminé.
Autres conseils
Je comprends que la réponse a été acceptée mais voici quelques informations supplémentaires :
- Si ça dit
0.0.0.0
dans la colonne Adresse locale, cela signifie que le port écoute sur toutes les « interfaces réseau » (c'est-à-direvotre ordinateur, votre(vos) modem(s) et votre(vos) carte(s) réseau). - Si ça dit
127.0.0.1
dans la colonne Adresse locale, cela signifie que le port écoute UNIQUEMENT les connexions de votre PC lui-même, et non d'Internet ou du réseau.Aucun danger là-bas. - S'il affiche votre
online IP
dans la colonne Adresse locale, cela signifie que le port écoute UNIQUEMENT les connexions depuis Internet. - S'il affiche votre
local network IP
dans la colonne Adresse locale, cela signifie que le port écoute UNIQUEMENT les connexions du réseau local. - Adresse étrangère - L'adresse IP et le numéro de port de l'ordinateur distant auquel le socket est connecté.Les noms qui correspondent à l'adresse IP et au port sont affichés sauf si le paramètre -n est spécifié.Si le port n'est pas encore établi, le numéro de port est affiché sous la forme d'un astérisque (*).(de Wikipédia)
127.0.0.1 est votre adresse de bouclage également connue sous le nom de « localhost » si elle est définie dans votre fichier HOSTS.Voir ici pour plus d'informations : http://en.wikipedia.org/wiki/Localhost
0.0.0.0 signifie qu'une application est liée à toutes les adresses IP utilisant un port spécifique.Informations MS ici : http://support.microsoft.com/default.aspx?scid=kb;en-us;175952
'::' est un raccourci ipv6 pour ipv4 0.0.0.0.
Quelle est la différence entre 0.0.0.0, 127.0.0.1 et [::] ?
- 0.0.0.0 indique quelque chose qui écoute sur toutes les interfaces de la machine.
- 127.0.0.1 indique votre propre machine.
- [::] est la version IPv6 de 0.0.0.0
- Ma machine affiche également *:\* pour UDP, ce qui montre que les connexions UDP n'ont pas vraiment d'adresse étrangère - elles reçoivent des paquets de n'importe où.C'est la nature de l'UDP.
Comment lire chaque partie de l’adresse étrangère (part1:part2) ?
Send-Q est la quantité de données envoyées par l'application, mais non encore reconnues par l'autre côté du socket.
Recv-Q est la quantité de données reçues de la carte réseau, mais pas encore consommées par l'application.
Ces deux files d'attente résident dans la mémoire du noyau.Il y a guides pour vous aider à peaufiner ces tampons du noyau, si vous le souhaitez.Cependant, vous constaterez peut-être que les paramètres par défaut fonctionnent plutôt bien.
Ce lien m'a beaucoup aidé à interpréter netstat -a
Une copie de là -
TCP Connection States
Voici une brève explication de cette poignée de main.Dans ce contexte, le « client » est le homologue demandant une connexion et le « serveur » est le homologue acceptant une connexion.Notez que cette notation ne reflète pas les relations client/serveur en tant que principe architectural.
Établissement de la connexion
Le client envoie un message SYN contenant le port du serveur et le numéro de séquence initial (ISN) du client au serveur (ouverture active).
Le serveur renvoie ses propres SYN et ACK (qui consistent en l'ISN + 1 du client).
Le Client envoie un ACK (qui consiste en l'ISN + 1 du serveur).
Démontage de la connexion (prise de contact à trois voies modifiée).
Le client envoie un FIN (clôture active).Il s'agit d'une connexion désormais à moitié fermée.Le client n'envoie plus de données, mais peut toujours recevoir des données du serveur.Dès réception de ce FIN, le serveur entre dans un état de fermeture passive.
Le serveur envoie un ACK (qui est la séquence FIN du client + 1)
Le serveur envoie son propre FIN.
Le client envoie un ACK (qui est la séquence FIN du serveur + 1).Dès réception de cet ACK, le serveur ferme la connexion.
Une connexion à moitié fermée peut être utilisée pour terminer l'envoi de données tout en continuant à recevoir des données.Les applications socket peuvent appeler shutdown avec le deuxième argument défini sur 1 pour entrer dans cet état.
Explications de l'état comme indiqué dans Netstat :
Explication de l'état
SYN_SEND
Indique une ouverture active.
SYN_RECEIVED
Le serveur vient de recevoir SYN du client.
ESTABLISHED
Le client a reçu le SYN du serveur et la session est établie.
LISTEN
Le serveur est prêt à accepter la connexion.
NOTE:Voir la documentation pour l'appel de socket Listen().Les sockets TCP en état d'écoute ne sont pas affichées - il s'agit d'une limitation de NETSTAT.Pour plus d’informations, consultez l’article suivant dans la Base de connaissances Microsoft :134404 netstat.exe n'affiche pas les sockets d'écoute TCP FIN_WAIT_1 indique une fermeture active.
TIMED_WAIT
Le client entre dans cet état après la fermeture active.
CLOSE_WAIT
Indique une fermeture passive.Le serveur vient de recevoir le premier FIN d'un client.
FIN_WAIT_2
Le client vient de recevoir un accusé de réception de son premier FIN du serveur.
LAST_ACK
Le serveur est dans cet état lorsqu'il envoie son propre FIN.
CLOSED
Le serveur a reçu un ACK du client et la connexion est fermée.
Pour ceux qui voient [::] dans leur sortie netstat, je parie que votre machine exécute IPv6 ;cela équivaudrait à 0.0.0.0, c'est-à-direécoutez sur n’importe quelle adresse IPv6.