Dans la même veine que les questions "utiles de la ligne de commande" (pour Windows , Linux , et Mac ), je pense que ce serait pratique avoir "des moyens utiles d'utiliser des questions utilitaires x". Les pages de l'homme vous disent quels paramètres font, mais pas nécessairement pourquoi vous les utiliseriez, quel est le résultat, quelles choses utiles le commandement fait que vous ne sauriez jamais sans expérimentation extensible ou comment obtenir la réponse que vous voulez vraiment.
J'aimerais savoir netstat . Il semblerait que je puisse être capable de personnaliser quels processus utilisent la bande passante et, en effet, à quel point le système utilise la bande passante. Il semble également utile de détecter les connexions non désirées (probablement véridii) et donne toutes sortes d'informations de routage (que je n'ai à jouer que lorsque vous essayez de faire un zaurus acharné PDA Utilisez TCP/IP Sur USB.) En d'autres termes, cela ressemble à une mine d'or et j'espérais que certains d'entre vous partageraient des pépites d'informations que vous avez trouvées.
Veuillez inclure la version de NetStat et votre système d'exploitation dans votre réponse. Ce serait bien de voir un exemple de sortie et savoir ce que cela signifie. J'ai marqué cette question en tant que wiki communautaire, et j'espère que vous ferez la même chose dans vos réponses, de sorte que d'autres personnes, sachant qu'un système d'exploitation différent, peuvent poser un ordre presque équivalent s'ils savent, dans la même réponse, et alors nous pouvons voter sur laquelle les réponses sont les plus utiles.
Afficher les ports TCP/UDP d'écoute locale et le processus qu'ils appartiennent à:
Sudo netstat -tulpn
Tables de routage NetStat
[Celui-ci a été testé sur Mac OS X 10.5.7. Je soupçonne que le résultat est presque le même sur toutes les plateformes, car il a été indiqué de travailler sur Solaris.]
netstat -r
vous donnera une table de routage.
netstat -nr
est le même, mais vous donnera des IP brutes au lieu de chercher des noms de machine. Sa sortie ressemble à ceci (seulement plus longtemps):
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.40.250 UGSc 19 1 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 3140 lo0
169.254 link#5 UCS 0 0 en1
169.254.33.92 127.0.0.1 UHS 0 0 lo0
192.168.40 link#5 UCS 11 0 en1
192.168.40.1 0:17:f2:ca:a0:94 UHLW 0 0 en1 1150
...
Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en0/64 link#4 UC en0
...
ff02::/32 link#7 UC en2
ff02::/32 link#8 UC en3
colonnes :
Destination et passerelle: La destination est une adresse (ou une plage d'adresses) que nous pourrions souhaiter envoyer des informations à. Toutes les données envoyées à cette destination iront à la passerelle associée. La passerelle sait où envoyer les données pour son prochain "saut" dans le voyage. Si nous souhaitons envoyer des données à une destination qui n'a aucune entrée dans la table de routage, elle passera via la passerelle par défaut.
Drapeaux: La page Man/Info répertorie tous les indicateurs. Voici ce que les paramètres sur ma passerelle par défaut signifie:
UGSc
U - RTF_UP Route usable
G - RTF_GATEWAY Destination requires forwarding by intermediary
S - RTF_STATIC Manually added
c - RTF_PRCLONING Protocol-specified generate new routes on use
C'est curieux qu'il prétend être ajouté manuellement, car il est arrivé sur DHCP.
Refs: "Le champ REFCNT donne le nombre actuel d'utilisations actives de l'itinéraire. Les protocoles orientés de la connexion portent normalement sur un seul itinéraire pendant la durée d'un Connexion tandis que les protocoles sans connexion obtiennent un itinéraire tout en envoyant à la même destination. " (Page man)
Utilisez: "Le champ Utilisation fournit un compte de nombre de paquets envoyés à l'aide de cet itinéraire."
NETIF: "L'entrée d'interface indique l'interface réseau utilisée pour l'itinéraire."
Sur mon mac,
expire: d'un manuel pour une version différente de NetStat: "Affiche le temps (en minutes) restant avant l'expiration de la route."
Dans Windows:
c:>netstat -a | find /c "TCP"
68
Affiche le nombre de connexions TCP/IP. Utile si vous êtes dépannage des systèmes réseau élevés qui fonctionnent sur TCP ports et doivent augmenter MaxUSERPORTS .
Check Commandlinefu NetStat de la page Pour des moyens utiles d'utiliser netstat à Bash.
Taux de transmission/réception
Sur le Mac [OS X 10.5.7]:
netstat -i -w 10
[Voir Réponse de Chuck Pour Notes sur Utilisation sur Solaris et Linux.]
La sortie ressemble à:
input (Total) output
packets errs bytes packets errs bytes colls
794 0 1166796 763 0 50358 0
789 0 1167773 765 0 52542 0
792 0 1166548 765 0 51174 0
796 0 1167262 598 0 40152 0
929 0 1278561 846 0 65625 0
563 0 815570 530 0 36828 0
32 0 4360 1 0 774 0
9 0 705 0 0 684 0
9 0 631 0 0 0 0
Cela montre combien de paquets et d'octets ont été transférés dans un intervalle de temps donné. (10 secondes dans cet exemple). J'étais connecté à YouTube et téléchargiez plus de 1 Mo chaque intervalle, jusqu'à ce que je ferme l'onglet Navigateur et que la vitesse ait fini.
Cela pourrait s'avérer utile si vous attendez un téléchargement ou un téléchargement pour terminer. Surveillez le taux et quand il tombe de façon spectaculaire, vous savez que c'est fait.
Notez que la commande ci-dessus vous indique tout débit sur toutes les interfaces. Pour la portée à une interface particulière (WiFi dans cet exemple), utilisez le -I
Drapeau, comme ça:
netstat -I en1 -w 10
Windows 7 (éventuellement depuis plus tôt):
netstat -ano
répertorie les sessions actives avec les PID associés
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 776
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:554 0.0.0.0:0 LISTENING 1724
ou pour sauver une étape
netstat -anb
(à partir d'une invite CMD élevée) donne le nom du processus
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:554 0.0.0.0:0 LISTENING
[wmpnetwk.exe]
TCP 0.0.0.0:2048 0.0.0.0:0 LISTENING
Je suis sûr que je réinvente la roue mais Voici un simple script Perl Pour exécuter NetStat et trier la sortie de manière à ce que les IPS sont actuellement généralement connectés sur le dessus. Ceci est mieux utilisé avec le programme 'Watch' pour les mises à jour en 2 secondes.
Mise à jour: réécriture significative 2013-02-11 pour se débarrasser de nombreux problèmes et afficher les noms d'hôte
Sortie d'échantillon:
Distant inbound connections: 2
85.93.216.17:772 <-- 78.141.139.10 : 1 ip-78-141-139-10.dyn.luxdsl.pt.lu 1 x ESTABLISHED
80.90.47.155:443 <-- 78.141.139.10 : 1 ip-78-141-139-10.dyn.luxdsl.pt.lu 1 x ESTABLISHED
Distant outbound connections: 3
80.90.63.61 --> 80.90.63.48:25 : 2 smtp.m-plify.net 2 x TIME_WAIT
85.93.216.17 --> 85.93.216.18:772 : 1 maya.m-plify.net 1 x ESTABLISHED
Looping connections: 57 (10 duplicates)
127.0.0.1 --> 127.0.0.1:9355 : 20 1 x ESTABLISHED, 8 x TIME_WAIT, 11 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:4713 : 10 10 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:9353 : 9 4 x TIME_WAIT, 5 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:3306 : 8 6 x ESTABLISHED, 1 x TIME_WAIT, 1 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:5445 : 5 1 x ESTABLISHED, 4 x TIME_WAIT
127.0.0.1 --> 127.0.0.1:9354 : 2 2 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:7998 : 1 1 x TIME_WAIT
127.0.0.1 --> 127.0.0.1:3351 : 1 1 x ESTABLISHED
127.0.0.1 --> 127.0.0.1:32000 : 1 1 x ESTABLISHED
Les fenêtres
netstat -b
Afficher le processus en utilisant la connexion
Solaris:
netstat -nr
(displays routing table)
Du Wicked Cool Shell Scripts Book:
script n ° 90.1 : toutes les minutes 'n', prenez des valeurs de Netstats (via crontab)
script n ° 90.2 : Analysez le journal des performances de réseau NetStat, identifiant les résultats et les tendances importants.
(J'adore ce livre - vaut la peine d'acheter!)
Depuis que Noone l'a déjà mentionné:
netstat -s
fournit une tonne de statistiques utiles par Protocole sous Linux.
Sur Solaris, beaucoup de gens sont habitués à faire "netstat -i 1" pour obtenir un nombre de paquets en cours d'exécution. Le Linux NetStat a une version inutile de cette fonctionnalité, car elle vous montre le nombre brut et non un delta. Pour obtenir des résultats similaires, do "sar -n dev 1 0". Considérez réellement "lang = c SAR -N dev 1 0 | Grep Interfacename" (SAR met le temps avec AM et PM au début de la ligne dans certains locaux, il est donc préférable d'obtenir Dans l'habitude de toujours exécuter "Lang = C SAR" au cas où vous l'analyserez jamais).
Sur Solaris,
netstat -k
Affiche un résumé de diverses statistiques. Utile pour vérifier les erreurs, etc.