netstat

herramienta de línea de comandos

netstat (network statistics) es una herramienta de línea de comandos que muestra un listado de las conexiones activas de una computadora, tanto entrantes como salientes. Existen versiones de este comando en varios sistemas como Unix, GNU/Linux, Mac OS X, Windows y BeOS.

Captura de pantalla de la salida del comando netstat en GNU/Linux

La información que resulta del uso del comando incluye el protocolo en uso, las tablas de ruteo, las estadísticas de las interfaces y el estado de la conexión. Existen, además de la versión para línea de comandos, herramientas con interfaz gráfica (GUI) en casi todos los sistemas operativos desarrollados por terceros.

Uso editar

sintaxis y los parámetros de la herramienta pueden variar entre los diferentes sistemas operativos que la implementan. En sistemas basados en Unix (esto incluye GNU/Linux y Mac OS X, entre otros), se puede usar el comando man netstat para visualizar la ayuda del comando. Otras formas de ver una lista de parámetros pueden ser con el parámetro -h o también --help (en los sistemas que cumplan con la norma POSIX) o con /? (en los sistemas Windows y MS-DOS).

En Windows y MS-DOS editar

NETSTAT [-a] [-e] [-n] [-s] [-p protocolo] [-r] [intervalo]
  • -a visualiza todas las conexiones y puertos TCP y UDP, incluyendo las que están "en escucha" (listening).
  • -b en los sistemas recientes, visualiza el binario (ejecutable) del programa que ha creado la conexión.
  • -e estadísticas Ethernet de las visualizaciones, como el número de paquetes enviados y recibidos. Se puede combinar con la opción -s.
  • -n se muestran los puertos con su identificación en forma numérica y no de texto.
  • -o en sistemas Windows XP y 2003 Server, muestra los identificadores de proceso (PID) para cada conexión. Se puede verificar los identificadores de proceso en el Administrador de Tareas de Windows (al agregarlo a las columnas de la pestaña procesos)
  • -p muestra las conexiones para el protocolo especificado; el protocolo puede ser TCP o UDP. Si se utiliza con la opción de -s para visualizar la estadística por protocolo; el protocolo (Proto) puede ser TCP, UDP o IP.
  • -r visualiza la tabla de enrutamiento o encaminamiento. Equivale al comando route print.
  • -s estadística por protocolo de las visualizaciones. Por el valor por defecto, la estadística se muestra para TCP, UDP e IP; la opción -p se puede utilizar para especificar un subconjunto del valor por defecto.
  • -v en sistemas Windows XP y 2003 Server, y usado en conjunto con -b, muestra la secuencia de componentes usados en la creación de la conexión por cada uno de los ejecutables.
  • Intervalo: vuelve a mostrar la información cada intervalo (en segundos). Si se presiona CTRL+C se detiene la visualización. si se omite este parámetro, netstat muestra la información solo una vez.

Utilizar netstat -n (segs) donde segs es el número en segundos que esperará antes de mostrar nuevamente la información

  • /? Help: aparecerán los caracteres y su función.

En sistemas basados en Unix editar

netstat [-veenNcCF] [<Af>] -r
netstat {-V|--version|-h|--help}
netstat [-vnNcaeol] [<Socket> ...]
netstat { [-veenNac] -i | [-cnNe] -M | -s }
  • -r, --route Muestra la tabla de enrutamiento.
  • -i, --interfaces Muestra la tabla de interfaces
  • -g, --groups Muestra los miembros del grupo de multidifusión
  • -s, --statistics Muestra estadísticas de red (como SNMP)
  • -M, --masquerade Muestra conexiones enmascaradas
  • -v, --verbose Muestra más información en la salida
  • -n, --numeric No resuelve nombres en general
  • --numeric-hosts No resuelve el nombre de los hosts
  • --numeric-ports No resuelve el nombre de los puertos
  • --numeric-users No resuelve los nombres de usuarios
  • -N, --symbolic Muestra los nombres del hardware de red
  • -e, --extend Muestra otra/más información.
  • -p, --programs Muestra PID o nombre del programa por cada socket
  • -c, --continuous Muestra continuamente las estadísticas de red (hasta que se interrumpa el programa)
  • -l, --listening Muestra los server sockets que están es modo escucha
  • -a, --all, --listening Muestra todos los sockets (por defecto únicamente los que están en modo conectado)
  • -o, --timers Muestra los timers
  • -F, --fib Muestra el Forwarding Information Base (por defecto)
  • -C, --cache Mostrar el cache de enrutamiento en vez del FIB


<Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
<AF>=Uso '-6|-4' or '-A <af>' o '--<af>'; defecto: inet

Lista de las posibles familias de direcciones (que soportan enrutamiento):

inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) x25 (CCITT X.25)

Ejemplo de salida del comando netstat en GNU/Linux:

herlitzcorp@admin# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:34105         127.0.0.1:389           ESTABLISHED
tcp        0      0 127.0.0.1:389           127.0.0.1:54529         ESTABLISHED
tcp        0      0 127.0.0.1:389           127.0.0.1:56327         ESTABLISHED
tcp        0      0 172.16.4.5:110          172.25.47.30:1680       TIME_WAIT
tcp        0      0 172.16.4.5:110          172.25.131.212:2313     TIME_WAIT
tcp        0      0 127.0.0.1:60000         127.0.0.1:56547         ESTABLISHED
tcp        0      0 172.16.4.5:110          172.25.189.26:1803      TIME_WAIT
tcp        0      0 127.0.0.1:389           127.0.0.1:54029         ESTABLISHED
tcp        0      0 172.16.4.5:25           172.25.141.100:1375     TIME_WAIT

Estado de las conexiones editar

El indicador en la columna estado muestra el estado de la conexión para el protocolo TCP; para protocolos no orientados a la conexión, como UDP, este campo figurará en blanco. Los estados posibles son los siguientes:

  • ESTABLISHED El socket tiene una conexión establecida.
  • SYN_SENT El socket está intentando iniciar una conexión
  • SYN_RECV Una petición de conexión fue recibida por la red
  • FIN_WAIT1 El socket está cerrado, y la conexión está finalizándose
  • FIN_WAIT2 La conexión está cerrada, y el socket está esperando que finalice la conexión remota
  • TIME_WAIT El socket está esperando después de cerrarse que concluyan los paquetes que siguen en la red
  • CLOSED El socket no está siendo usado
  • CLOSE_WAIT La conexión remota ha finalizado, y se espera que se cierre el socket
  • LAST_ACK La conexión remota ha finalizado, y se espera que se cierre el socket. Esperando el acknowledgement.
  • LISTEN El socket está esperando posibles conexiones entrantes
  • CLOSING Ambos sockets han finalizado pero aún no fueron enviados todos los datos
  • UNKNOWN El estado del socket no se conoce
  • DELETE_TCB Se está eliminando el búfer del control de transmisión (TCB) para la conexión TCP.

Comentarios editar

  • Los parámetros usados con este comando deben tener el prefijo (-) en lugar de un (/).
  • netstat provee estadísticas para lo siguiente:
  • Proto

El nombre del protocolo (TCP o UDP)

  • Local Address

La dirección IP de la computadora local y el número de puerto que está siendo usado. El nombre de la computadora local que corresponde a la dirección IP y el nombre del puerto es desplegado a menos que el parámetro -n esté especificado. Si el puerto no está todavía establecido, el número de puerto es mostrado como un asterisco (*).

  • Dirección Foránea

La dirección IP y el número de puerto de la computadora remota a la que el socket está conectado. El nombre que corresponde a la dirección IP y el nombre puerto son mostrados a menos que el parámetro -n sea especificado. Si el puerto no está todavía establecido, el número de puerto es mostrado como un asterisco (*).

  • {State}

Indica el estado de la conexión TCP, los posibles estados son los siguientes: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, TIMED_WAIT. Para más información acerca de los estados de la conexión TCP, revise RFC 793.

  • Este comando está disponible solo si el Protocolo de internet (TCP/IP) está instalado como un componente in las propiedades del adaptador de red en Conexiones de Red.

Ejemplos editar

Para desplegar las estadísticas de ethernet y las estadísticas para todos los protocolos, escriba el siguiente comando:

netstat -e -s

Para desplegar las estadísticas solamente para los protocolos TCP y UDP, escriba el siguiente comando:

netstat -s -p tcp udp

Para desplegar las conexiones TCP activas y los IDs de proceso cada 5 segundos, escriba el siguiente comando:

netstat -o 5

Para desplegar las conexiones TCP activas y los IDs de proceso usando la forma numérica, escriba el siguiente comando:

netstat -n -o

Leyenda de formato editar

Formato Significado
Negrita Elementos que el usuario debe digitar exactamente como se muestran
Entre corchetes [ --] Items opcionales

Enlaces externos editar