Saltar al contenido

alternativa a “netstat -s”

Solución:

NETSTAT se considera obsoleto en la actualidad y otros programas incluidos en las herramientas de red como arp, ifconfig, iptunnel, nameif, netstaty ruta.

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

Ejemplos de comandos obsoletos y sus reemplazos:

  • arpip n (ip neighbor)
  • ifconfigip a (ip addr), ip link, ip -s (ip -stats)
  • iptunnelip tunnel
  • iwconfigiw
  • nameifip link, ifrename
  • netstatss, ip route (por netstat -r), ip -s link (por netstat -i), ip maddr (por netstat -g)

los netstat El comando lee varios archivos / proc para recopilar información. Sin embargo, este enfoque se debilita cuando hay muchas conexiones para mostrar. Esto lo hace más lento. los ss El comando obtiene su información directamente del espacio del kernel. Las opciones utilizadas con el ss Los comandos son muy similares a netstat, lo que lo convierte en un reemplazo fácil.

Estadísticas proporcionadas por ss están superficial pero se considera la mejor alternativa para netstat

Ejemplos de

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 de hecho, ha sido desaprobado por muchas distribuciones, aunque en realidad es gran parte del paquete “net-tools” (incluido ifconfig, route y arp) que ha quedado obsoleto en favor del paquete “iproute2”. iproute2 ha evolucionado junto con las últimas funciones de red de Linux, y las utilidades tradicionales no.

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

  • nombres de contador sin procesar de /proc se utilizan, cada uno con el prefijo de su clase (“Udp”, “Tcp”, “TcpExt”, etc.)

  • Las descripciones largas (y posiblemente localizadas) de netstat no están disponibles

  • contadores de valor cero omitidos por defecto

  • utilizando una salida de columnas coherente con el nombre y el valor en la primera y segunda columnas

  • La tercera columna muestra el promedio sobre una ventana de tiempo configurable si ha iniciado una nstat de fondo (-d modo demonio), o 0.0 si no

    p.ej nstat imprime “UdpInDatagrams NNN”, no “Udp: InDatagrams”, y no la versión netstat detallada de “Udp: NNN paquetes recibidos”.

nstat también asume que desea números incrementales en lugar de absolutos, por lo que el equivalente más cercano a netstat -s es /sbin/nstat -asz donde están las opciones -a utilizar contadores absolutos, -s no guardes el archivo del historial, -z no omita los contadores de valor cero.

ss se hace cargo de las partes de “socket” de netstat, pero no su función completa como ha descubierto. (ss es mejor que netstat En muchos casos, dos específicos son la capacidad de usar expresiones de filtro y la capacidad opcional de usar el tcp_diag y inet_diag Módulos del kernel de Linux para acceder a los datos del socket del kernel más directamente que a través de /proc.)

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

Doug Vitale proporciona una guía útil para encontrar los equivalentes iproute2 de los comandos más antiguos (no se mantiene y está ligeramente incompleto, omite cualquier referencia a nstat que ha sido parte del paquete iproute2 desde al menos 2004 kernel 2.6.x time).

Sin embargo, net-tools sigue vivo, y debería poder encontrar un paquete para su distribución (o compilarlo usted mismo).

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

No es el formato 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 otros lugares de /proc/net.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *