Linux netstat todavía puede jugar así

Una oportunidad para pescar, vi a un amigo en el grupo preguntar qué hace el comando netstat -tnpl . Este comando se ha usado mucho, pero realmente no lo he estudiado, pero esto es un problema, no puedo dejarlo. go Lo he aprobado y uso el comando netstat para consultar el estado de escucha del puerto todos los días, así que aproveche esta oportunidad para entender el comando netstat juntos.

El comando netstat es compatible con los sistemas operativos Linux, Windows y MacOS. La diferencia es que el comando para que netstat muestre información detallada en UNIX es man netstat , mientras que en Linux y Windows es netstat --help .

comando netstat bajo Linux

Cuando ejecuté el comando man netstat en Linux, el mensaje que mostró el sistema realmente me sorprendió. ¡Parece que este comando tiene mucho contenido! No se deje intimidar por una descripción tan larga, vayamos paso a paso.

imagen-20220114192905308

Primero, comprendamos qué hace el comando netstat.

La explicación oficial que se nos da es que

netstat -- show network status

enumerar el estado de la red

Pero, ¿qué pasa con el estado de la red? Con dudas, lo ejecuté bajo Linux.

imagen-20220114191156926

La impresión es un sextuple, y el contenido de cada columna del sextuple es

imagen-20220114210858771

Una mirada más cercana a la tupla de seis parece indicar que el comando netstat es una herramienta de línea de comandos para monitorear las conexiones de red entrantes y salientes y el estado .

En general, la salida de netstst se puede dividir en dos partes, una es Conexiones activas de Internet , llamadas conexiones TCP activas , donde Recv-Q y Send-Q se refieren a la cola de envío del cliente y la cola de recepción del cliente. Los valores de estas dos colas por lo general son 0. Si no es 0 significa que hay mensajes amontonados y no han sido enviados/sacados, situación que rara vez se ve.

La otra parte son los sockets de dominio UNIX activos , llamados sockets de dominio Unix activos . Los sockets en esta parte son los mismos que los sockets de red. La diferencia es que esta pieza solo se puede usar para comunicación local y su rendimiento es superior al de tomas de red. . Los sockets de dominio UNIX activos también son seis tuplas, lo que representa

imagen-20220114213625117

definición del parámetro netstat

Expliquemos algunos de los parámetros enumerados en netstat --help. Comencemos con los parámetros más comunes, para que todos puedan formar una memoria por etapas y no perder el enfoque.

netstat-a

-a Este parámetro monitoreará todas las conexiones de socket por defecto.

imagen-20220114215136010

Se listarán los que han sido monitoreados, los que han establecido conexiones, los enviados por el cliente que están esperando al servidor y los que no han sido monitoreados.

netstat-at/-t

Los sufijos netstat -at y netstat -t se usan para monitorear puertos relacionados con el protocolo TCP. La diferencia es que netstat -at escucha los puertos en todos los estados, mientras que netstat -t solo escucha los puertos en estado ESTABLECIDO .

netstat -en

imagen-20220114222513317

netstat-t

imagen-20220114222526237

netstat-au/-u

De manera similar, netstat -au y netstat -u monitorean los puertos relacionados con UDP, la diferencia es que netstat -au escucha todos los puertos en el estado, mientras que netstat -u solo escucha los puertos en el estado ESTABLECIDO .

netstat-au

imagen-20220114222955527

netstat-u

imagen-20220114223046771

Mi prueba aquí no es monitorear el protocolo UDP en el estado de conexión establecida.

netstat-ap

Este comando se utiliza para enumerar los puertos en los que se ejecuta el programa. Los comandos más utilizados son

netstat -ap|grep '程序名'

Por ejemplo, si buscamos un programa http, es Netstat -ap|grep http

imagen-20220117205646573

También puede enumerar el número de puerto directamente

netstat -ap|grep 8080

imagen-20220117210019303

Sin embargo, cabe señalar que no se pueden encontrar todos los programas, y los que no tienen permisos no se mostrarán.Puede consultar toda la información con permisos de root.

netstat -l

netstat -l se usa para monitorear el puerto que está en estado de escucha (es realmente difícil de leer, para leer con mayor fluidez, use el 列出monitor de reemplazo directamente más adelante).

imagen-20220114223946803

netstat -lt solo se usa para enumerar todos los puertos TCP de escucha.

imagen-20220117183747925

netstat -lu solo se usa para enumerar todos los puertos UDP que escuchan.

imagen-20220117185030035

netstat -lx solo se usa para enumerar todos los puertos UNIX que escuchan.

imagen-20220117185216268

netstat-s

netstat -s se utiliza para enumerar las estadísticas de todos los puertos.

imagen-20220117185307357

netstat -st se utiliza para enumerar las estadísticas de los puertos TCP.

imagen-20220117185401696

netstat -su se utiliza para enumerar las estadísticas de los puertos UDP.

imagen-20220117185645981

netstat-p

netstat -p se puede usar con otros parámetros, por ejemplo, netstat -pt puede mostrar el nombre del servicio y el número PID.

imagen-20220117185913422

netstat-c

El uso de netstat -c enumerará la información de la red cada segundo.

imagen-20220117190501847

netstat -r

netstat -r se utiliza para enumerar la información básica de enrutamiento.

imagen-20220117190549020

netstat --verbose

Este comando enumerará la familia de direcciones compatible con el sistema .

imagen-20220117191102190

Familia de direcciones simplemente significa qué protocolo de comunicación usa la capa inferior para enviar datos. Por ejemplo, AF_INET usa TCP/IPv4, AF_INET6 usa TCP/IPv6 y AF_LOCAL o AF_UNIX se refiere a la comunicación local (es decir, esta vez la comunicación es la comunicación). entre procesos en el host actual), que generalmente se especifica en forma de una ruta absoluta.

netstat -i

netstat -i se usa para enumerar los paquetes de interfaz de red, incluidos los paquetes de transmisión y recepción con MTU (unidad máxima de transmisión).

imagen-20220117192723454

Además, netstat -ie también se usa para enumerar la tabla de interfaz del kernel, muy similar al comando ifconfig

imagen-20220117193432779

sobre este tema

Entonces, volviendo a la pregunta al comienzo del artículo, para qué se usa netstat -tnpl, de hecho, esta es una combinación de varios parámetros

  • -t: solo muestra información relacionada con tcp
  • -n: lista numéricamente
  • -p: enumera el PID del socket y el nombre del programa en uso
  • -l: lista de sockets de servidor de escucha

Ejecutemos este comando.

imagen-20220117214326520

Además, en Linux, se recomienda usar ss en lugar de netstat, usar ip route en lugar de netstat -r, usar ip -s link en lugar de netstat -i y usar ip addr en lugar de netstat -g.

Enlace original: ¿Netstat todavía puede jugar así?

Si este artículo te es útil, ¡espero que te guste y lo sigas!

Supongo que te gusta

Origin blog.csdn.net/qq_36894974/article/details/122935788
Recomendado
Clasificación