netstat es una utilidad de red de línea de comandos que muestra conexiones de red para el Protocolo de control de transmisión (tanto entrantes como salientes), tablas de enrutamiento y una serie de interfaces de red (controlador de interfaz de red o interfaz de red definida por software) y estadísticas de protocolo de red. Está disponible en sistemas operativos tipo Unix, incluidos macOS, Linux, Solaris y BSD, y 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.
Netstat, derivado de las palabras red y estadísticas y es una utilidad de línea de comandos utilizada por los administradores del sistema para analizar las estadísticas de la red. Muestra todo un conjunto de estadísticas como puertos abiertos y direcciones correspondientes en el sistema host, tabla de enrutamiento y más.
El paquete que contiene netstat se llama net-tools. En los sistemas modernos la utilidad netstat viene preinstalada y no es necesario instalarla en el caso de no instalar la versión mínima del sistema de Linux, en el caso de instalar la versión mínima del sistema es posible que no podamos ejecutar el comando netstat porque no se encuentra instalado en nuestro sistema.
En los sistemas más antiguos es probable que encuentre algún error al ejecutar el comando netstat. Una forma de corregir este error es reinstalar la herramienta net-tools.
Para instalar la herramienta net-tools y poder ejecutar el comando netstat en nuestro sistema ejecutamos el siguiente comando para instalar la herramienta.
CentOS/RHEL
# yum install net-tools
Debian/Ubuntu
# apt install net-tools
OpenSuse
# zypper install net-tools
Arch Linux
# pacman -S netstat-nat
Podemos comprobar la versión de netstat instalada en nuestro sistema con el siguiente comando.
# netstat -v
Podemos desplegar la información de ayuda de la herramienta con el comando (help)
# netstat help
[root@serv23 ~]# netstat help
usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}
netstat [-vWnNcaeol] [<Socket> ...]
netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]
-r, --route display routing table
-I, --interfaces=<Iface> display interface table for <Iface>
-i, --interfaces display interface table
-g, --groups display multicast group memberships
-s, --statistics display networking statistics (like SNMP)
-M, --masquerade display masqueraded connection
-v, --verbose be verbose
-W, --wide don't truncate IP addresses
-n, --numeric don't resolve names
--numeric-hosts don't resolve host names
--numeric-ports don't resolve port names
--numeric-users don't resolve user names
-N, --symbolic resolve hardware names
-e, --extend display other/more information
-p, --programs display PID/Program name for sockets
-o, --timers display timers
-c, --continuous continuous listing
-l, --listening display listening server sockets
-a, --all display all sockets (default: connected)
-F, --fib display Forwarding Information Base (default)
-C, --cache display routing cache instead of FIB
-Z, --context display SELinux security context for sockets
<Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}
{-x|--unix} --ax25 --ipx --netrom
<AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet
List of possible address families (which support routing):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
Algunos ejemplos de la ejecución del comando netstat
1.Tabla de enrutamiento de red
Utilizando el parámetro [-r] nos mostrara información relacionada con el enrutamiento de nuestra red y [-n] despliega información relacionada con las conexiones activas protocolo tcp.
[root@serv ~]# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Utilizando el parámetro [-i] podremos obtener información de la configuración de nuestra red y con la opción [-a] imprime todas las interfaces presentes.
2. Interfaz de red
[root@serv23 ~]# netstat -ai
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 161831 0 6 0 43092 0 0 0 BMRU
lo 65536 240 0 0 0 240 0 0 0 LRU