alternativa a "netstat-s"

netstat -s imprime una gran cantidad de statistics de protocolo muy detalladas, como la cantidad de posts de reinicio TCP recibidos o la cantidad de posts ICMP "request de eco" enviados o el número de packages descartados debido a una ruta faltante.

Cuando en Linux netstat se considera obsoleto en la actualidad, ¿existe una alternativa?

Las statistics proporcionadas por ss -s son superficiales en comparación con las proporcionadas por netstat .

netstat hecho ha sido desaprobado por muchas distribuciones, aunque en realidad es mucho del package "net-tools" (incluidos ifconfig , route y arp ) que ha quedado en desuso en favor del package "iproute2". iproute2 ha evolucionado junto con las últimas funciones de networking de Linux , y las utilidades tradicionales no.

El equivalente de iproute2 que desea es el nstat poco conocido, esto proporciona los contadores netstat -s , aunque en una forma ligeramente diferente:

  • se usan los nombres de contador sin procesar de /proc , cada uno con su class ("Udp", "Tcp", "TcpExt", etc.)
  • Las descripciones largas de netstat (y posiblemente localizadas) no están disponibles
  • los contadores de valor cero se omiten por defecto
  • usando salida columnar consistente con el nombre y el valor en la primera y segunda columna
  • La tercera columna muestra el promedio sobre una window de time configurable si ha iniciado un background nstat (modo -d daemon), o 0.0 si no lo está

    por ejemplo, nstat imprime "UdpInDatagrams NNN" no "Udp: InDatagrams", y no la versión netstat detallada de "Udp: packages NNN recibidos".

nstat también supone que desea numbers incrementales en lugar de numbers absolutos, por lo que el equivalente más cercano a netstat -s es /sbin/nstat -asz donde están las opciones -a usan contadores absolutos, -s no guardan el file histórico, -z no lo hacen omite contadores de valor cero.

ss toma las partes de "socket" de netstat , pero no su function completa como usted ha descubierto. ( ss es en realidad mejor que netstat en muchos casos, dos específicos son la capacidad de usar expresiones de filter y la capacidad opcional de usar los modules kernel de tcp_diag e inet_diag para acceder a los datos de socket del núcleo de forma más directa que a través de /proc ).

Si necesita confirmar la asignación de nombres descriptivos, la fuente de net-tools es la reference definitiva: http://sourcecodebrowser.com/net-tools/1.60/statistics_8c_source.html

Doug Vitale proporciona una guía útil para encontrar los equivalentes de iproute2 de los commands anteriores (no está mantenido y es ligeramente incompleto, omite cualquier reference a nstat que haya sido parte del package iproute2 desde al less 2004 kernel 2.6.x time).

Sin embargo, Net-Tools sigue vivo , y debería poder encontrar un package para su distribución (o comstackrlo usted mismo).

NETSTAT se considera obsoleto en la actualidad y otros progtwigs incluidos en las herramientas de networking como arp, ifconfig, iptunnel, nameif, netstat y route.

La funcionalidad proporcionada por varias de estas utilidades se ha reproducido y mejorado en la nueva suite iproute2 , principalmente mediante el uso de su nuevo command ip .

Ejemplos de commands obsoletos y sus reemploops:

arp => ip n (vecino ip)

ifconfig => ip a (ip addr), enlace ip, ip -s (ip -stats)

iptunnel => túnel ip

iwconfig => iw

nameif => ip link, ifrename

netstat => ss, ip route (para netstat-r), ip -s link (para netstat -i), ip maddr (para netstat-g)

El command netstat lee varios files / proc para recostackr información. Sin embargo, este enfoque se debilita cuando hay muchas conexiones para mostrar. Esto lo hace más lento. El command ss obtiene su información directamente del espacio del kernel. Las opciones utilizadas con los commands ss son muy similares a netstat, por lo que es un reemploop fácil.

Las statistics proporcionadas por ss son superficiales, pero se considera la mejor alternativa a netstat

Ejemplos:

get todas las conexiones: ss | less ss | less

ss -t obtiene conexiones tcp que no están en el modo de escucha (progtwigs de server)

ss -u get conexiones udp que no están en modo de escucha

ss -x get conexiones de tubos de connection de Unix

ss -ta get todas las conexiones tcp

ss -au obtiene todas las conexiones udp

ss -nt todo tcp sin nombre de host

ss -ltn escuchando tcp sin resolución de host

ss -ltp escuchando tcp con PID y nombre

ss -s imprime statistics

ss -tn -o tcp connection con el host del dominio y mostrar el timer keepalive

conexiones ss -tl4 ip4

Es posible que desee comprobar el contenido 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 TCPDSACKIgnonetworkingOld TCPDSACKIgnonetworkingNoUndo 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 

No es el formatting más amigable, pero entiendes la idea.

No estoy seguro de que realmente contenga los elementos específicos que está buscando, pero pueden estar disponibles en cualquier otro lugar de /proc/net .