Comandos de Netstat de Linux con ejemplos

Netstat es una herramienta de línea de comandos que se utiliza para ver y monitorear las estadísticas de red y las configuraciones de un sistema. Esta herramienta está disponible en sistemas operativos basados en Unix, Linux y Windows NT.
A continuación se muestran algunas de las actividades que se pueden realizar con esta herramienta
- Ver conexiones de red
- Ver tablas de enrutamiento
- Ver estadísticas de la interfaz de red
- Ver conexiones de mascarada
- Ver membresías de multidifusión
Netstat es una herramienta muy poderosa que se puede utilizar para solucionar problemas de red y medir el rendimiento de la red. La lista completa de actividades que se pueden realizar con esta herramienta se puede ver usando el comando man en sistemas basados en Unix. (El uso de muestra del comando man se da en la parte inferior de la página)
Este tutorial muestra algunos de los usos comunes e importantes de los comandos netstat con ejemplos y explicaciones adecuadas, que pueden resultar útiles para las operaciones diarias. El comando Netstat ha quedado obsoleto y ahora podemos usar el comando ss.
A continuación se muestran algunos de los comandos básicos de la herramienta netstat
1) Listado de todos los enchufes
Esto muestra detalles de todos los enchufes, incluidos los enchufes abiertos y cerrados en el siguiente formato
Proto – Protocolo
RefCnt – Recuento de referencias: número de procesos adjuntos conectados a través de este socket
Banderas: tipo de bandera
Tipo: tipo de enchufe de red
Estado: estado del zócalo
I-Node – Inodo del socket
Ruta: ruta del enchufe
Mando : netstat -a
Salida de muestra:
Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 15365 /var/run/docker.sock unix 2 [ ACC ] STREAM LISTENING 22352 @/tmp/.ICE-unix/4060 unix 2 [ ACC ] STREAM LISTENING 10523 /var/run/acpid.socket unix 2 [ ACC ] STREAM LISTENING 21843 /tmp/ssh-8rfNCLtCuWbJ/agent.4000 unix 2 [ ACC ] STREAM LISTENING 13073 /var/run/samba/winbindd/pipe
2) Listado de todas las conexiones del puerto TCP
Esto muestra detalles de todos los sockets TCP, incluidos los sockets abiertos y cerrados en el mismo formato.
Mando : netstat -at
Salida de muestra :
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:microsoft-ds *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 ubuntu:domain *:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN tcp6 1 0 ip6-localhost:34871 ip6-localhost:ipp CLOSE_WAIT
3) Listado de todas las conexiones de puerto UDP
Esto muestra detalles de todos los sockets UDP, incluidos los sockets abiertos y cerrados en el mismo formato.
Mando : netstat -au
Salida de muestra:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:59865 *:* udp 0 0 ubuntu:domain *:* udp 0 0 *:bootpc *:* udp 0 0 *:32333 *:* udp 0 0 *:ipp *:* udp 0 0 192.168.64.2:netbios-ns *:* udp 0 0 192.168.64.1:netbios-ns *:* udp 0 0 172.17.255.2:netbios-ns *:* udp 0 0 172.17.0.1:netbios-ns *:*
4) Listado de todas las conexiones en estado ‘ESCUCHAR’
Esto muestra detalles de todas las tomas de escucha en el mismo formato.
Mando : netstat -l
Salida de muestra:
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:microsoft-ds *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 ubuntu:domain *:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:microsoft-ds [::]:* LISTEN tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN
5) Mostrar la tabla de enrutamiento
Esto imprime la información de enrutamiento del kernel en el siguiente formato
Destino – Dirección de destino
Puerta de enlace – Dirección de puerta de enlace
Genmask: máscara de red correspondiente a la red
Bandera: para proporcionar información específica sobre la ruta (la ruta en U está activa, G: la comunicación para esta red debe enviarse a través de la puerta de enlace)
MSS – Tamaño máximo de segmento
Ventana – Tamaño de ventana de TCP
Irtt: tiempo inicial de ida y vuelta
Iface – Interfaz
Mando : netstat -r
Salida de muestra :
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default 192.168.64.2 0.0.0.0 UG 0 0 0 eth0 172.17.0.0 * 255.255.0.0 U 0 0 0 docker0 192.168.64.0 * 255.255.255.0 U 0 0 0 eth0
6) Mostrar interfaces de red
Esto imprime información sobre las interfaces de red en el siguiente formato
Iface – Interfaz
MTU – Unidad de transmisión máxima
Met: valor métrico de la interfaz
RX-OK: número de paquetes sin errores recibidos
RX-ERR: número de paquetes recibidos con errores
RX-DRP: número de paquetes descartados al recibir
RX-OVR: número de paquetes perdidos debido al desbordamiento al recibir
TX-OK: número de paquetes sin errores transmitidos
RX-ERR: número de paquetes transmitidos con errores
RX-DRP: número de paquetes descartados al transmitir
RX-OVR: número de paquetes perdidos debido al desbordamiento durante la transmisión
Flg – Bandera
Mando : netstat -i
Salida de muestra :
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg docker0 1500 0 0 0 0 0 0 0 0 0 BMU eth0 1500 0 36774 0 0 0 20917 0 0 0 BMRU lo 65536 0 7246 0 0 0 7246 0 0 0 LRU
7) Monitoreo continuo
Este comando genera conexiones de socket de forma continua, por lo que es útil para el monitoreo continuo de la red
Mando : netstat -c
Salida de muestra:
unix 3 [ ] STREAM CONNECTED 24655 unix 3 [ ] STREAM CONNECTED 22456 unix 3 [ ] STREAM CONNECTED 22227 @/tmp/.X11-unix/X0 unix 2 [ ] DGRAM 16819 unix 3 [ ] STREAM CONNECTED 13848 /var/run/dbus/system_bus_socket
8) Mostrar información de grupo de multidifusión
Esto muestra la información del grupo de multidifusión para IPV4 e IPV6 en el siguiente formato
Interfaz: interfaz de red
RefCnt – Recuento de referencias: número de procesos adjuntos conectados a través de este socket
Grupo: grupo de multidifusión
Mando : netstat -g
Salida de muestra :
IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 all-systems.mcast.net eth0 1 224.0.0.251 eth0 1 all-systems.mcast.net docker0 1 224.0.0.251 docker0 1 all-systems.mcast.net lo 1 ip6-allnodes lo 1 ff01::1 eth0 1 ff02::fb eth0 1 ff02::1:ff6a:275b eth0 1 ip6-allnodes eth0 1 ff01::1 docker0 1 ip6-allnodes docker0 1 ff01::1
A continuación se muestran algunos de los comandos un poco más avanzados y diversos de la herramienta netstat
9) Listado de conexiones activas en un puerto dado
El siguiente comando muestra detalles sobre las conexiones establecidas a través del puerto 80. Estos detalles incluyen el protocolo, las direcciones de origen y destino y el estado de la conexión.
Mando : netstat -anp | grep :80 | grep ESTABLISHED
Salida de muestra :
tcp 0 0 192.168.64.129:51548 74.125.204.106:80 ESTABLISHED 8418/firefox tcp 0 0 192.168.64.129:44365 172.217.194.101:80 ESTABLISHED 8418/firefox tcp 0 0 192.168.64.129:51547 74.125.204.106:80 ESTABLISHED 8418/firefox
10) Indique el número de diferentes tipos de conexión
El siguiente comando muestra el número de conexiones de diferentes tipos de estado que se encuentran en la máquina ordenadas en orden ascendente
Mando : netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
Salida de muestra:
1 CLOSE_WAIT 1 established) 1 Foreign 7 LISTEN
11) Mostrar servicios que escuchan un puerto determinado
Esto muestra detalles sobre los servicios que escuchan el puerto 53, como el ID de proceso del servicio y el nombre del servicio.
Mando : netstat -ltnp | grep ':53'
Salida de muestra :
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1488/dnsmasq
12) Enumere las familias de direcciones que no apoyan
En la parte inferior del resultado del siguiente comando, se muestran los detalles de las familias de direcciones que no son de apoyo en la máquina.
Comando: netstat --verbose
Salida de muestra:
netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system.
13) Descubra en qué puerto se está ejecutando un servicio
Esto se usa para averiguar los detalles de los puertos que el servicio ‘SSH’ está escuchando junto con detalles sobre el propio servicio ssh.
Mando : netstat -ap | grep ssh
Salida de muestra :
unix 2 [ ACC ] STREAM LISTENING 21843 4004/ssh-agent /tmp/ssh-8rfNCLtCuWbJ/agent.4000 unix 2 [ ACC ] STREAM LISTENING 22603 3927/gnome-keyring- /run/user/1000/keyring-SC0TKd/ssh
Comando ‘man Netstat’
- El comando man se usa para ver la página del manual de un comando y aquí muestra la página del manual del comando netstat. Enumera todas las opciones de uso que están disponibles para este comando con explicaciones y ejemplos.
Comando:man netstat
Salida de muestra:DESCRIPTION Netstat prints information about the Linux networking subsystem. The type of information printed is controlled by the first argument, as follows: (none) By default, netstat displays a list of open sockets. If you don't specify any address families, then the active sockets of all configured address families will be printed. --route , -r Display the kernel routing tables. See the description in route(8) for details. netstat -r and route -e produce the same output. --groups , -g Display multicast group membership information for IPv4 and IPv6. --interfaces, -i Display a table of all network interfaces. --masquerade , -M Display a list of masqueraded connections. --statistics , -s Display summary statistics for each protocol.
Conclusión
En este tutorial aprendimos cómo usar el comando netstat en Linux. Espero que haya disfrutado de la lectura y deje su sugerencia en la sección de comentarios a continuación.
Leer también: