Guide d'administration système : services IP

Contrôle du statut du réseau à l'aide de la commande netstat

La commande netstat génère des affichages illustrant le statut du réseau ainsi que les statistiques des protocoles. Vous pouvez afficher le statut des points d'extrémité TCP, SCTP et UDP sous forme de table. Vous pouvez également afficher les informations de table de routage ainsi que les informations d'interface.

La commande netstat permet d'afficher différents types d'informations sur le réseau, suivant l'option de ligne de commande sélectionnée. Les affichages obtenus constituent la principale référence pour l'administration du système. L'exemple ci-dessous illustre la syntaxe de base de la commande netstat :

netstat [-m] [-n] [-s] [-i | -r] [-f famille-adresses]

Cette section décrit les options fréquemment utilisées avec la commande netstat. Pour obtenir une description détaillée des toutes les options netstat, reportez-vous à la page de manuel netstat(1M).

ProcedureAffichage des statistiques par protocole

L'option -s de la commande netstat permet d'afficher les statistiques des protocoles UDP, TCP, SCTP, ICMP et IP.


Remarque –

Vous pouvez obtenir la sortie de la commande netstat à l'aide du compte utilisateur Oracle Solaris.


  1. Affichez le statut du protocole.


    $ netstat -s
    

Exemple 8–5 Statistiques des protocoles réseau

L'exemple suivant illustre la sortie de la commande netstat - s. Certaines parties de la sortie ont été tronquées. La sortie peut signaler les opérations ayant généré des problèmes pour les différents protocoles. Par exemple, les statistiques affichées pour ICMPv4 et ICMPv6 peuvent signaler les opérations ayant généré des erreurs pour le protocole ICMP.


RAWIP
        rawipInDatagrams    =  4701     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     4
        rawipOutErrors      =     0

UDP
        udpInDatagrams      = 10091     udpInErrors         =     0
        udpOutDatagrams     = 15772     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   400
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
        .
        .
        tcpListenDrop       =     0     tcpListenDropQ0     =     0
        tcpHalfOpenDrop     =     0     tcpOutSackRetrans   =     0

IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =300182     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
        .
        .
        ipsecInFailed       =     0     ipInIPv6            =     0
        ipOutIPv6           =     3     ipOutSwitchIPv6     =     0

IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      = 13986     ipv6InHdrErrors     =     0
        ipv6InTooBigErrors  =     0     ipv6InNoRoutes      =     0
        .
        .
        rawipInOverflows    =     0     ipv6InIPv4          =     0
 
       ipv6OutIPv4         =     0     ipv6OutSwitchIPv4   =     0

ICMPv4  icmpInMsgs          = 43593     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        .
        .
        icmpInOverflows     =     0

ICMPv6  icmp6InMsgs         = 13612     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        .
        .
        icmp6OutGroupQueries=     0     icmp6OutGroupResps  =     2
        icmp6OutGroupReds   =     0

IGMP:
      12287 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
      12287 membership queries received
SCTP  sctpRtoAlgorithm     =  vanj    
      sctpRtoMin           =  1000 
      sctpRtoMax           = 60000
      sctpRtoInitial       =  3000
      sctpTimHearBeatProbe =     2
      sctpTimHearBeatDrop  =     0
      sctpListenDrop       =     0
      sctpInClosed         =     0 

ProcedureAffichage du statut des protocoles de transport

La commande netstat permet d'afficher le statut des protocoles de transport. Pour plus d'informations, reportez-vous à la page de manuel netstat(1M).

  1. Affichez le statut des protocoles de transport TCP et SCTP sur un système.


    $ netstat
    
  2. Affichez le statut d'un protocole de transport donné sur un système.


    $ netstat -P transport-protocol
    

    La variable protocole-transport peut être définie sur les valeurs suivantes : tcp, sctp ou udp.


Exemple 8–6 Affichage du statut des protocoles de transport TCP et SCTP

L'exemple ci-dessous illustre la sortie de base de la commande netstat. Les informations contenues dans la sortie se rapportent uniquement à IPv4.


$ netstat

TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost-1.login      ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost-1.1014     mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT
SCTP:                  
Local Address    Remote Address  Swind  Send-Q  Rwind  Recv-Q StrsI/O  State 
---------------- --------------  -----  ------ ------ ------  ------   -------
 *.echo            0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.discard         0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.9001            0.0.0.0            0       0 102400      0   128/1   LISTEN


Exemple 8–7 Affichage du statut d'un protocole de transport donné

L'exemple ci-dessous illustre le résultat obtenu suite à l'exécution de la commande netstat avec l'option -P.


$ netstat -P tcp
   
TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost.login        ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost.1014       mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT

TCP: IPv6
 Local Address    Remote Address        Swind Send-Q Rwind Recv-Q   State If 
---------------- ---------------------- ------ ----- ------ ----------- -----
localhost.38983   localhost.32777       49152      0 49152      0 ESTABLISHED      
localhost.32777   localhost.38983       49152      0 49152      0 ESTABLISHED      
localhost.38986   localhost.38980       49152      0 49152      0 ESTABLISHED      

ProcedureAffichage du statut de l'interface réseau

L'option i de la commande netstat illustre le statut des interfaces réseau configurées sur le système local. Cette option permet de déterminer le nombre de paquets transmis et reçus sur un système sur les différents réseaux.

  1. Affichez le statut des interfaces sur le réseau.


    $ netstat -i
    

Exemple 8–8 Affichage du statut d'interface réseau

L'exemple suivant illustre le statut du flux de paquets IPv4 et IPv6 sur les interfaces de l'hôte.

Par exemple, le nombre de paquets entrants (Ipkts) affiché pour un serveur peut augmenter à chaque tentative de démarrage d'un client alors que le nombre de paquets sortants (Opkts) reste inchangé. Ce résultat suggère que le serveur détecte les paquets de requête de démarrage envoyés par le client, mais qu'il ne parvient pas à formuler la réponse appropriée. Cette erreur peut être liée à la spécification d'une adresse incorrecte dans la base de données hosts, ipnodes ou ethers.

En revanche, si le nombre de paquets entrants reste inchangé sur la durée, l'ordinateur ne détecte même pas l'envoi des paquets. Ce résultat suggère un autre type d'erreur, vraisemblablement lié à un problème d'ordre matériel.


Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue 
lo0   8232 loopback      localhost      142    0     142    0     0      0     
hme0  1500 host58        host58        1106302 0     52419  0     0      0     

Name  Mtu  Net/Dest      Address                    Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 localhost     localhost                   142    0     142    0     0     
hme0  1500 fe80::a00:20ff:feb9:4c54/10 fe80::a00:20ff:feb9:4c54 1106305 0 52422 0  0

ProcedureAffichage du statut des sockets

L'option -a de la commande netstat permet d'afficher le statut des sockets sur l'hôte local.

  1. Pour afficher le statut des sockets et des entrées de table de routage, saisissez la commande suivante :

    L'exécution de cette option de la commande netstat peut s'effectuer à l'aide du compte utilisateur.


    % netstat -a  
    

Exemple 8–9 Affichage de l'ensemble des sockets et des entrées de table de routage

La sortie de la commande netstat -a contient de nombreuses statistiques. L'exemple ci-dessous illustre certaines parties d'une sortie classique de la commande netstat -a.


UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.bootpc                              Idle
host85.bootpc                               Idle
      *.*                                   Unbound
      *.*                                   Unbound
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32771                               Idle
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32775                               Idle
      *.time                                Idle
       .
       .
      *.daytime                             Idle
      *.echo                                Idle
      *.discard                             Idle
      
UDP: IPv6
   Local Address                     Remote Address                   State      If  
--------------------------------- --------------------------------- ---------- -----
      *.*                                                           Unbound   
      *.*                                                           Unbound   
      *.sunrpc                                                      Idle      
      *.*                                                           Unbound   
      *.32771                                                       Idle      
      *.32778                                                       Idle      
      *.syslog                                                      Idle      
      .
      .
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0 49152      0 IDLE
localhost.4999             *.*                0      0 49152      0 LISTEN
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      *.*                  *.*                0      0 49152      0 IDLE
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      .
      .
      *.printer            *.*                0      0 49152      0 LISTEN
      *.time               *.*                0      0 49152      0 LISTEN
      *.daytime            *.*                0      0 49152      0 LISTEN
      *.echo               *.*                0      0 49152      0 LISTEN
      *.discard            *.*                0      0 49152      0 LISTEN
      *.chargen            *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.kshell             *.*                0      0 49152      0 LISTEN
      *.login  
       .
       .
            *.*                0      0 49152      0 LISTEN
   *TCP: IPv6
 Local Address            Remote Address        Swind Send-Q Rwind Recv-Q   State If
----------------------- ----------------------- ----- ------ ----- ------    ----
   *.*                         *.*                0      0 49152      0      IDLE
   *.sunrpc                    *.*                0      0 49152      0      LISTEN
   *.*                         *.*                0      0 49152      0      IDLE
   *.32774                     *.*                0      0 49152

ProcedureAffichage du statut des transmissions de paquets associés à un type d'adresse spécifique

L'option -f de la commande netstat permet d'afficher les statistiques relatives aux transmissions de paquets associées à une famille d'adresses donnée.

  1. Affichez les statistiques relatives aux transmissions de paquets IPv4 ou IPv6.


    $ netstat -f inet  |  inet6
    

    Pour afficher les informations relatives aux transmissions IPv4, définissez l'argument inet pour la commande netstat -f. Pour afficher les informations relatives aux transmissions IPv6, définissez l'argument inet6 pour la commande netstat -f.


Exemple 8–10 Statut de transmission de paquets IPv4

L'exemple suivant illustre la sortie de la commande netstat - f inet.


TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
host58.734         host19.nfsd       49640      0 49640      0 ESTABLISHED
host58.38063       host19.32782      49640      0 49640      0 CLOSE_WAIT
host58.38146       host41.43601      49640      0 49640      0 ESTABLISHED
host58.996         remote-host.login 49640      0 49206      0 ESTABLISHED


Exemple 8–11 Statut de transmission de paquets IPv6

L'exemple suivant illustre la sortie de la commande netstat -f inet6.


TCP: IPv6
 Local Address          Remote Address        Swind Send-Q Rwind Recv-Q   State    If
------------------ ------------------------- ----- ------ ----- ------ --------- -----
localhost.38065         localhost.32792       49152   0 49152      0    ESTABLISHED  
localhost.32792         localhost.38065       49152   0 49152      0    ESTABLISHED 
localhost.38089         localhost.38057       49152   0 49152      0    ESTABLISHED 

ProcedureAffichage du statut des routes connues

L'option -r de la commande netstat permet d'afficher la table de routage de l'hôte local. Cette table représente le statut de toutes les routes connues de l'hôte. L'exécution de cette option de la commande netstat peut s'effectuer à l'aide du compte utilisateur.

  1. Affichez la table de routage IP.


    $ netstat -r
    

Exemple 8–12 Sortie de table de routage obtenue à l'aide de la commande netstat

L'exemple suivant illustre la sortie de la commande netstat -r.


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
host15               myhost               U         1  31059  hme0
10.0.0.14            myhost               U         1      0  hme0
default              distantrouter        UG        1      2  hme0
localhost            localhost            UH        42019361  lo0

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use   If  
--------------------------- --------------------------- ----- --- ------ -----
2002:0a00:3010:2::/64    2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U  1      0 hme0:1
fe80::/10                fe80::1a2b:3c4d:5e6f:12a2    U       1     23 hme0 
ff00::/8                 fe80::1a2b:3c4d:5e6f:12a2    U       1      0 hme0 
default                  fe80::1a2b:3c4d:5e6f:12a2    UG      1      0 hme0 
localhost                localhost                   UH      9  21832 lo0 

Le tableau suivant décrit les différents paramètres de la sortie à l'écran de la commande netstat —r.

Paramètre 

Description 

Destination

Destination/Mask

Spécifie l'hôte correspondant au point d'extrémité de destination de la route. Dans la table de routage IPv6, le point d'extrémité de destination est représenté par un préfixe de point d'extrémité de tunnel 6to4 ( 2002:0a00:3010:2::/64).

Gateway

Spécifie la passerelle de transmission des paquets. 

Flags

Indique le statut actuel de la route. L'indicateur U signifie que la route fonctionne. L'indicateur G signifie que la route mène à une passerelle.

Use

Affiche le nombre de paquets envoyés. 

Interface

Indique l'interface de l'hôte local correspondant au point d'extrémité source de la transmission.