Solución:
NETSTAT se considera obsoleto en la actualidad y otros programas incluidos en las herramientas de red como arp, ifconfig, iptunnel, nameif, netstat
y 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:
-
arp
→ip n
(ip neighbor
) -
ifconfig
→ip a
(ip addr
),ip link
,ip -s
(ip -stats
) -
iptunnel
→ip tunnel
-
iwconfig
→iw
-
nameif
→ip link
, ifrename -
netstat
→ss
,ip route
(pornetstat -r
),ip -s link
(pornetstat -i
),ip maddr
(pornetstat -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 nop.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
.