En informática , netstat
es una utilidad de red de línea de comandos que muestra sockets de red abiertos, tablas de enrutamiento y una serie de estadísticas de interfaz de red ( controlador de interfaz de red o interfaz de red definida por software ) y protocolo de red. Está disponible en Unix , Plan 9 , Inferno y sistemas operativos similares a Unix, incluidos macOS , Linux , Solaris y BSD . También está disponible en IBM OS/2 y en sistemas operativos basados en Microsoft Windows NT, incluidos Windows XP , Windows Vista , Windows 7 , Windows 8 y Windows 10 .
Se utiliza para encontrar problemas en la red y determinar la cantidad de tráfico en la red como medida de rendimiento. [1] En Linux, este programa está prácticamente obsoleto, aunque todavía se incluye en muchas distribuciones.
En Linux, netstat
(parte de "net-tools") ha sido reemplazada por ss
(parte de iproute2 ). El reemplazo de netstat -r
es ip route
, el reemplazo de netstat -i
es ip -s link
y el reemplazo de netstat -g
es ip maddr
, todos los cuales se recomiendan en su lugar. [2] [3] [4] [5]
Netstat proporciona estadísticas para lo siguiente:
-n
se especifique el parámetro. Se muestra un asterisco (*) para el host si el servidor está escuchando en todas las interfaces. Si el puerto aún no está establecido, el número de puerto se muestra como un asterisco.-n
se especifique el parámetro. Si el puerto aún no está establecido, el número de puerto se muestra como un asterisco (*).Los parámetros utilizados con este comando deben ir precedidos de un guion ( - ) en lugar de una barra ( / ). Algunos parámetros no son compatibles con todas las plataformas.
En macOS, sistemas BSD, distribuciones Linux y Microsoft Windows:
Para mostrar las estadísticas únicamente de los protocolos TCP o UDP , escriba uno de los siguientes comandos:
netstat -sp tcp
netstat -sp udp
En sistemas tipo Unix:
Para mostrar todos los puertos abiertos por un proceso con id pid :
netstat -aop | grep "pid"
Para mostrar de forma continua y numérica las conexiones TCP y UDP abiertas y también qué programa las está utilizando en Linux:
netstat -nutpacw
En Microsoft Windows:
Para mostrar las conexiones TCP activas y los identificadores de proceso cada 5 segundos, escriba el siguiente comando (funciona sólo en sistemas basados en NT o Windows 2000 con revisión):
netstat -o 5
Para mostrar las conexiones TCP activas y los identificadores de proceso utilizando formato numérico , escriba el siguiente comando (funciona sólo en sistemas basados en NT o Windows 2000 con revisión):
netstat -no
Netstat utiliza un asterisco * como comodín que significa "cualquiera". Un ejemplo sería
Ejemplo de salida:
....Dirección local Dirección extranjera Estado ... *:smtp *:* ESCUCHAR
En "Dirección local", *, en *:smtp
, significa que el proceso está escuchando en todas las interfaces de red que la máquina tiene para el puerto asignado como smtp (consulte /etc/services para la resolución del servicio). Esto también se puede mostrar como 0.0.0.0. El primer *, en *:*
, significa que las conexiones pueden provenir de cualquier dirección IP y el segundo *, en *:*
, significa que la conexión puede originarse desde cualquier puerto en la máquina remota.
Algunas versiones netstat
carecen de delimitadores de campo explícitos en su salida generada por printf, lo que lleva a que los campos numéricos se ejecuten juntos y, por lo tanto, corrompen los datos de salida.
En Linux , los datos sin procesar a menudo se pueden obtener de /proc/net/dev para solucionar la corrupción de la salida de printf que surge en el resumen de estadísticas de la interfaz de red de netstat, netstat -i
hasta que se corrija el problema. [ cita requerida ]
En la plataforma Windows , la información de netstat se puede recuperar llamando a las funciones GetTcpTable y GetUdpTable en la API de ayuda de IP o IPHLPAPI.DLL. La información devuelta incluye direcciones IP locales y remotas , puertos locales y remotos y (para GetTcpTable) códigos de estado TCP . Además de la herramienta de línea de comandos netstat.exe que se incluye con Windows, hay disponibles programas netstat basados en GUI .
En la plataforma Windows, este comando solo está disponible si el protocolo Internet ( TCP / IP ) está instalado como un componente en las propiedades de un adaptador de red en Conexiones de red.
En la plataforma Windows que ejecuta Servicios de Escritorio Remoto (anteriormente Servicios de Terminal), solo mostrará las conexiones del usuario actual, no de toda la computadora.
En macOS , la carpeta /System/Library/CoreServices/Applications (o /Applications/Utilities en OS X Mountain Lion y versiones anteriores) contiene una utilidad GUI de red llamada Utilidad de red , cuya pestaña Netstat ejecuta el comando netstat y muestra su salida en la pestaña.
Este programa está obsoleto. El reemplazo de netstat es ss. El reemplazo de netstat -r es ip route. El reemplazo de netstat -i es ip -s link. El reemplazo de netstat -g es ip maddr.