Ver comandos de puerto en Linux

  
Este artículo es un artículo que presenta técnicas de rendimiento de red para administrar sistemas Linux. Presenta principalmente el uso de las herramientas de prueba de administración de red route, netstat y tcpdump y sus funciones alcanzables.
ruta
Al configurar la red, debe especificar la ruta que pasará el paquete cuando reciba el paquete. En los sistemas Linux, se proporciona una ruta de comando. Este comando puede establecer una ruta estática para la NIC configurada por el comando ifconfig. Esta configuración generalmente se introduce en /etc/rc.d/rc.inet1 y se realiza en el arranque del sistema.
Usamos algunos ejemplos para ilustrar cómo usar el comando de ruta:
route add -net 127.0.0.0
Este comando agregará una ruta a la tabla de enrutamiento o una ruta específica. Tenga en cuenta que la red es una dirección de Clase A y que la máscara está establecida en 255.0.0.0. Esta entrada recién agregada está conectada al dispositivo lo.
agregar ruta -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0
Este comando agrega una ruta al host con la dirección IP xxx.xxx.xxx.xxx, su máscara de red está configurada en 255.255.255.0.
route del -net xxx.xxx.xxx.xxx
Este comando eliminará la ruta de la red xxx.xxx.xxx.xxx.
El uso del comando route también puede administrar fácilmente la información de enrutamiento de toda la red, y el resultado es la tabla de enrutamiento de la red. Como se muestra a continuación:
------------------------------------------- ----------------------
[root @ lee /root] #ruta
Tabla de enrutamiento IP del kernel
Bandas de máscara de la puerta de enlace de destino Referencia de métrica Referencia Usar Iface
10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0
10.10.8.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
Dgc8.njupt.edu 0.0.0.0 UG 0 0 0 eth0
predeterminado dgc8.njupt.edu 0.0.0.0 UG 1 0 0 eth0
[root @ lee /root] #
----- -------------------------------------------------- ----------
El significado de cada campo en el resultado de salida es:
· Destino indica la dirección IP de destino de la ruta.
· Puerta de enlace indica el nombre de host o la dirección IP utilizada por la puerta de enlace. La salida "*" anterior indica que no hay puerta de enlace.
· Genmask representa la máscara de red de la ruta. Antes de compararlo con la dirección de destino de la ruta, el kernel establece la ruta mediante una operación AND a nivel de bits con la dirección IP de la máscara de caracteres y el paquete.
· Banderas es una bandera que indica una ruta. Los indicadores disponibles y sus significados son: U indica que la ruta está iniciada, H indica que el objetivo es un host, G indica que la puerta de enlace está en uso, R indica que la ruta dinámica está restablecida, D indica una ruta dinámica y M indica que la ruta está modificada. Indica que la ruta está rechazada.
· Métrico representa el costo unitario de la ruta.
· Ref indica el número de otras rutas que dependen del estado actual de la ruta.
· Uso indica el número de entradas de la tabla de enrutamiento que se están utilizando.
· Iface representa la red de destino del paquete enviado por la ruta.
Al observar esta información de salida, podemos administrar fácilmente la tabla de enrutamiento de la red. netstat
El comando netstat es una herramienta muy útil para monitorear redes TCP /IP. Puede mostrar tablas de enrutamiento, conexiones de red reales e información de estado para cada dispositivo de interfaz de red. Después de ejecutar netstat en la computadora, la salida es la siguiente:
--------------------------------- --------------------------------
[root @ lee /root] #netstat
Conexiones de Internet activas (sin servidores)
Proto Recv-Q Dirección local Dirección extranjera Estado de la dirección
Sockets de dominio UNIX activos (sin servidores)
Proto RefCnt Flags Tipos Estado I-Node Ruta
Unix 5 [] DGRAM 460 /dev /log
Unix 0 [] STREAM CONNECTED 173 @ 00000014
Unix 0 [] DGRAM 662
Unix 0 [] DGRAM 631
Unix 0 [] DGRAM 544
Unix 0 [] DGRAM 484
Unix 0 [] DGRAM 470
[root @ lee /root] #
-------------------- ---------------------------------------------
De la totalidad En lo anterior, la salida de netstat se puede dividir en dos partes: La primera parte: conexiones de Internet activas, llamada conexión TCP activa. En la salida anterior, no hay contenido en esta parte, lo que indica que aún no hay conexión TCP. La segunda parte: sockets de dominio Active UNIX, llamados sockets de dominio Unix activos. La salida muestra el estado de conexión del socket de dominio Unix:
· Proto muestra el protocolo utilizado por la conexión.
· RefCnt indica el número de proceso conectado a este conjunto de interfaces.
· Tipos muestra el tipo de socket.
· Estado muestra el estado actual del socket.
· Ruta indica el nombre de ruta utilizado por otros procesos conectados al socket.
Puede usar netstat -a para ver el estado de todos los sockets, lo cual es muy útil al depurar programas de red. Netstat -r mostrará el contenido de la tabla de enrutamiento. En general, también debe especificar la opción "-n" para que pueda obtener la dirección en formato numérico o la dirección IP del enrutador predeterminado. El uso de netstat -i mostrará toda la información de la interfaz de red. El uso de netstat también le proporciona el estado actual de la red y la topología de la red, lo cual es muy útil en la práctica.
tcpdump
El comando tcpdump se usa para monitorear las conexiones TCP /IP y leer directamente el encabezado del paquete de la capa de enlace de datos. Puede especificar qué paquetes se están supervisando y qué controles se van a formatear. Por ejemplo, si queremos monitorear la comunicación entre todos los Ethernets, ejecute el siguiente comando:
tcpdump -i eth0
Incluso si está en una red relativamente tranquila, hay mucha comunicación, por lo que es posible que solo necesitemos nuestro interés. La información de esos paquetes. En general, la pila TCP /IP solo acepta enlaces de paquetes entrantes para el host local mientras ignora el direccionamiento de otras computadoras en la red (a menos que esté usando un enrutador). Cuando se ejecuta el comando tcpdump, establece la pila TCP /IP en modo promiscuo. Este modo acepta todos los paquetes y los hace mostrar de manera eficiente. Si nos preocupa la comunicación de nuestro host local, una forma es deshabilitar el modo promiscuo usando el parámetro "-p". Otra forma es especificar el nombre de host:
tcpdump -i eth0 host hostname
En este momento, El sistema solo monitoreará los paquetes de comunicación para el host llamado hostname. El nombre del host puede ser el host local o cualquier computadora en la red. El siguiente comando puede leer todos los datos enviados por el nombre de host del host:
tcpdump -i eth0 src host hostname
El siguiente comando puede monitorear todos los paquetes enviados al nombre de host del host:
tcpdump -i eth0 dst host hostname
También podemos monitorear los paquetes que pasan a través de la puerta de enlace especificada:
tcpdump -i eth0 puerta de enlace Nombre de la puerta de enlace
Si también desea monitorear los paquetes TCP o UDP dirigidos al puerto especificado, ejecute el siguiente comando:
tcpdump -i eth0 host host name and port 80
Este comando mostrará los encabezados de cada paquete y la dirección del puerto 80 del host hostname. El puerto 80 es el número de puerto de servicio HTTP predeterminado del sistema. Si solo necesitamos listar los paquetes enviados al puerto 80, use el puerto dst; si solo queremos ver los paquetes que devuelven el puerto 80, use el puerto src.
Copyright © Conocimiento de Windows All Rights Reserved