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
comando.
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
, ifrenamenetstat
→ss
,ip route
(paranetstat -r
),ip -s link
(paranetstat -i
),ip maddr
(paranetstat -g
)
El netstat
El comando lee varios archivos /proc para recopilar información. Sin embargo, este enfoque falla cuando hay muchas conexiones para mostrar. Esto lo hace más lento. El ss
El comando obtiene su información directamente del espacio del núcleo. 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
son superficiales pero se considera la mejor alternativa a netstat
Ejemplos
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 quedado obsoleto en muchas distribuciones, aunque en realidad es una gran parte del paquete "net-tools" (incluido ifconfig
, route
y arp
) que ha quedado en desuso 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 el netstat -s
contadores, aunque en una forma ligeramente diferente:
-
nombres de contadores 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 en columnas consistente con el nombre y el valor en la primera y segunda columnas
-
la tercera columna muestra el promedio durante una ventana de tiempo configurable si ha iniciado un nstat en segundo plano (
-d
modo daemon), o 0.0 si nop.ej.
nstat
imprime "UdpInDatagrams NNN" no "Udp:InDatagrams", y no la versión detallada de netstat de "Udp:paquetes NNN recibidos".
nstat
también asume que desea números incrementales en lugar de números absolutos, por lo que el equivalente más cercano a netstat -s
es /sbin/nstat -asz
donde las opciones son -a
usar contadores absolutos, -s
no guarde el archivo de historial, -z
no omita los contadores de valor cero.
ss
toma el control de las partes de "socket" de netstat
, pero no su función completa como has descubierto. (ss
en realidad 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 de iproute2 de los comandos más antiguos (no se mantiene y está ligeramente incompleta, 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 otro lugar en /proc/net
.