NETSTAT est considéré comme obsolète de nos jours et d'autres programmes inclus dans les net-tools comme arp, ifconfig, iptunnel, nameif, netstat
, et itinéraire.
Les fonctionnalités fournies par plusieurs de ces utilitaires ont été reproduites et améliorées dans le nouveau iproute2 suite, principalement en utilisant son nouveau ip
commande.
Exemples de commandes obsolètes et leurs remplacements :
arp
→ip n
(ip neighbor
)ifconfig
→ip a
(ip addr
),ip link
,ip -s
(ip -stats
)iptunnel
→ip tunnel
iwconfig
→iw
nameif
→ip link
, ifrenomnetstat
→ss
,ip route
(pournetstat -r
),ip -s link
(pournetstat -i
),ip maddr
(pournetstat -g
)
Le netstat
La commande lit divers fichiers /proc pour recueillir des informations. Cependant, cette approche est faible lorsqu'il y a beaucoup de connexions à afficher. Cela le rend plus lent. Le ss
La commande obtient ses informations directement à partir de l'espace du noyau. Les options utilisées avec le ss
Les commandes sont très similaires à netstat, ce qui en fait un remplacement facile.
Statistiques fournies par ss
sont superficiels mais il est considéré comme la meilleure alternative à netstat
Exemples
ss | less # get all connections
ss -t # get tcp connections not in listen mode (server programs)
ss -u # get udp connections not in listen mode
ss -x # get unix socket pipe connections
ss -ta # get all tcp connections
ss -au # get all udp connections
ss -nt # all tcp without host name
ss -ltn # listening tcp without host resolution
ss -ltp # listening tcp with PID and name
ss -s # prints statstics
ss -tn -o # tcp connection with domain host and show keepalive timer
ss -tl4 # ip4 connections
netstat
a en effet été obsolète par de nombreuses distributions, bien qu'il s'agisse en réalité d'une grande partie du paquet "net-tools" (y compris ifconfig
, route
et arp
) qui a été déprécié en faveur du package "iproute2". iproute2 a évolué avec les dernières fonctionnalités de réseau Linux, contrairement aux utilitaires traditionnels.
L'équivalent iproute2 que vous voulez est le nstat
peu connu , cela fournit le netstat -s
compteurs, quoique sous une forme légèrement différente :
-
noms de compteurs bruts de
/proc
sont utilisés, chacun préfixé de sa classe ("Udp", "Tcp", "TcpExt" etc) -
les descriptions longues (et éventuellement localisées) de netstat ne sont pas disponibles
-
compteurs de valeur zéro omis par défaut
-
en utilisant une sortie en colonne cohérente avec le nom et la valeur dans les première et deuxième colonnes
-
la troisième colonne montre la moyenne sur une fenêtre de temps configurable si vous avez lancé un nstat en arrière-plan (
-d
mode démon), ou 0.0 sinonpar exemple.
nstat
imprime "UdpInDatagrams NNN" et non "Udp :InDatagrams", et non la version détaillée de netstat de "Udp :paquets NNN reçus".
nstat
suppose également que vous voulez des nombres incrémentiels plutôt qu'absolus, donc l'équivalent le plus proche de netstat -s
est /sbin/nstat -asz
où les options sont -a
utiliser des compteurs absolus, -s
ne pas conserver le fichier d'historique, -z
n'omettez pas les compteurs de valeur nulle.
ss
reprend les parties "socket" de netstat
, mais pas sa fonction complète comme vous l'avez découvert. (ss
est en fait meilleur que netstat
dans de nombreux cas, deux spécificités sont la possibilité d'utiliser des expressions de filtre et la possibilité facultative d'utiliser le tcp_diag
et inet_diag
Modules du noyau Linux pour accéder aux données du socket du noyau plus directement que via /proc
.)
Si vous avez besoin de confirmer le mappage des noms descriptifs, la source net-tools est la référence définitive :http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html
Doug Vitale fournit un guide utile pour trouver les équivalents iproute2 des anciennes commandes (il n'est pas maintenu et légèrement incomplet, il omet toute référence à nstat
qui fait partie du paquet iproute2 depuis au moins 2004, noyau 2.6.x).
net-tools vit cependant et vous devriez pouvoir trouver un paquet pour votre distribution (ou le compiler vous-même).
Vous voudrez peut-être vérifier le contenu de /proc/net/netstat
:
TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts TCPLossProbes TCPLossProbeRecovery TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo TCPSpuriousRTOs TCPMD5NotFound TCPMD5Unexpected TCPSackShifted TCPSackMerged TCPSackShiftFallback TCPBacklogDrop TCPMinTTLDrop TCPDeferAcceptDrop IPReversePathFilter TCPTimeWaitOverflow TCPReqQFullDoCookies TCPReqQFullDrop TCPRetransFail TCPRcvCoalesce TCPOFOQueue TCPOFODrop TCPOFOMerge TCPChallengeACK TCPSYNChallenge TCPFastOpenActive TCPFastOpenPassive TCPFastOpenPassiveFail TCPFastOpenListenOverflow TCPFastOpenCookieReqd TCPSpuriousRtxHostQueues BusyPollRxPackets
TcpExt: 0 0 3310 41566 0 0 0 8 0 0 6402271 0 0 0 0 55 4280514 134510 38423 0 611 15354484 20413302 794718685 0 14094957 6423168 25905597 17269587 4 23681 29 50 20 0 25 43 25 19211 1800 131 0 93 93 25430 4864 18099 1199566 2300620 1280201 0 279 0 0 38507 607 2359841 19 98943 1769 0 5993 0 0 0 3 65 1310588 380 0 0 0 0 613504 190 0 12056356 0 0 0 0 3 735740 43633 0 606 3933 193 0 24 0 0 0 14 0
IpExt: InNoRoutes InTruncatedPkts InMcastPkts OutMcastPkts InBcastPkts OutBcastPkts InOctets OutOctets InMcastOctets OutMcastOctets InBcastOctets OutBcastOctets InCsumErrors InNoECTPkts InECT1Pkts InECT0Pkts InCEPkts
IpExt: 0 0 50492 0 18482301 0 68850196397 26546692767 3029352 0 2305454225 0 0 457718114 36 19480 2472
Ce n'est pas le format le plus convivial, mais vous voyez l'idée.
Je ne suis pas sûr qu'il contienne réellement les éléments spécifiques que vous recherchez, mais ils peuvent être disponibles ailleurs dans /proc/net
.