web-dev-qa-db-fra.com

Conseils et astuces NetStat

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.

13

Afficher les ports TCP/UDP d'écoute locale et le processus qu'ils appartiennent à:

Sudo netstat -tulpn
4
cmcginty

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,

  • lO0 est l'interface de bouclage.
  • eN0 est Ethernet.
  • eN1 est sans fil.
  • eN2 et EN3 sont utilisés par une machine virtuelle.

expire: d'un manuel pour une version différente de NetStat: "Affiche le temps (en minutes) restant avant l'expiration de la route."

3

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 .

2

Check Commandlinefu NetStat de la page Pour des moyens utiles d'utiliser netstat à Bash.

2
andyhky

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
2

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
1
TristanK

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
1
David Tonhofer

Les fenêtres

netstat -b

Afficher le processus en utilisant la connexion

1
user640

Solaris:

netstat -nr
(displays routing table)
0
Milner

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!)

0
gharper

Depuis que Noone l'a déjà mentionné:

netstat -s 

fournit une tonne de statistiques utiles par Protocole sous Linux.

0
dmourati

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

0
carlito

Sur Solaris,

netstat -k

Affiche un résumé de diverses statistiques. Utile pour vérifier les erreurs, etc.

0
Jauder Ho