Captura de paquetes de datos de red Linux

¿Qué es la captura de paquetes de datos de red?

        La captura de paquetes de datos de red es una importante tecnología de detección de seguridad y solución de problemas de red. Puede capturar y analizar paquetes de datos transmitidos en la red, ayudando a los administradores de red y expertos en seguridad a diagnosticar fallas de red, optimizar el rendimiento de la red y monitorear la seguridad de la red. Las siguientes son algunas razones para la captura de paquetes de datos de red:

  1. Solución de problemas: la captura de paquetes de datos de la red puede ayudar a localizar fallas de la red, analizar situaciones anormales como pérdida, retraso, duplicación y errores de los paquetes de datos de la red, descubrir la causa de la falla y resolverla.
  2. Optimización del rendimiento: la captura de paquetes de datos de la red puede analizar el tráfico de la red y contar el tamaño, la cantidad, el tiempo de transmisión y otros parámetros del paquete de datos de la red para ayudar a optimizar el rendimiento de la red y mejorar el rendimiento de la red y la velocidad de respuesta.
  3. Monitoreo de seguridad: la captura de paquetes de datos de la red puede monitorear la seguridad de la red, detectar ataques de red, malware y otras amenazas a la seguridad, detectar y prevenir incidentes de seguridad de manera oportuna y proteger la seguridad de la red.
  4. Análisis de aplicaciones: la captura de paquetes de datos de red puede analizar el tráfico de datos, el retraso y el rendimiento de la aplicación, detectar problemas de rendimiento y errores de la aplicación y ayudar a optimizar el diseño y la implementación de la aplicación.

La captura de paquetes de datos de red es una importante tecnología de administración de redes que puede ayudar a los administradores de redes y expertos en seguridad a administrar y proteger mejor la red, y mejorar la disponibilidad, el rendimiento y la seguridad de la red.

Cómo capturar paquetes de datos de red

        Hay varios métodos principales. Para los más simples, puede usar directamente la línea de comando tcpdump. Para los más complicados, puede usar Wirehark para capturar paquetes. No es conveniente tomar capturas de pantalla aquí, por lo que presentaré tcpdump simple.

        tcpdump        

        tcpdump es una herramienta de línea de comandos para capturar y analizar paquetes de red. Se puede utilizar en Unix, Linux, Windows y otros sistemas operativos. Tcpdump funciona capturando paquetes en la red y utilizando filtros específicos para filtrar y analizar estos paquetes. Esto permite a los administradores monitorear el tráfico de la red, detectar problemas de la red, analizar el rendimiento de la red y encontrar vulnerabilidades de seguridad de la red.

        Usar tcpdump

1. Antes de usar tcpdump, necesitamos determinar la interfaz de red capturada. Tomemos Linux como ejemplo y usemos el comando ifconfig o ip a para ver la lista de puertos de red. Si no se encuentra ejecutando estos dos comandos, debe descargue primero la biblioteca correspondiente.

//ubuntu运行ifconfig
apt-get install net-tools


//centos运行ip a
yum -y install initscripts
root@93da3b39d1f0:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 4650  bytes 6677565 (6.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3744  bytes 250267 (250.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2. Primero usemos el comando de ayuda para ver qué parámetros están disponibles.

root@93da3b39d1f0:/# tcpdump -h
tcpdump version 4.99.1
libpcap version 1.10.1 (with TPACKET_V3)
OpenSSL 3.0.2 15 Mar 2022
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
                [ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
                [ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
                [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
                [ --time-stamp-precision precision ] [ --micro ] [ --nano ]
                [ -z postrotate-command ] [ -Z user ] [ expression ]

Fácil de usar 

tcpdump -i interface -nn -w reputation.txt

//tcpdump -i eth0 -nn -w reputation.txt

        Entre ellos, -i interfaz indica la interfaz de red que se va a capturar, -nn indica que no se convierte la dirección IP a un nombre de host y -w reputación.txt indica que se guardan los paquetes capturados en el archivo reputación.txt.

3. Supervisar los datos del protocolo especificado.

tcpdump -i eth0 -nn 'icmp'

Para ver los detalles de los paquetes capturados, escuche los datos del protocolo icmp, que es el protocolo utilizado por el comando ping. Puede sacar inferencias de un ejemplo: si desea monitorear el protocolo tcp o udp, solo necesita modificar icmp a tcp o udp.

4. Escuche el host especificado

tcpdump -i eth0 -nn 'host 192.168.1.2'

En este caso, se capturarán los paquetes recibidos y enviados por el host 192.168.1.2.

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

Si se agrega dst, el objetivo aquí es solo 192.168.1.2, lo que significa que solo se capturarán los paquetes recibidos por este host.

$ tcpdump -i eth0 -nn 'src host 192.168.1.2'

Si es src, significa que solo se capturarán los paquetes enviados por este host.

5. Escuche el puerto especificado

tcpdump -i eth0 -nn -A 'port 80'

El parámetro A se utiliza para mostrar información detallada de cada paquete, incluida la dirección de origen, la dirección de destino, el tipo de protocolo, la longitud del paquete, el número de secuencia, el número de confirmación, etc. Utilice el parámetro -A para analizar los paquetes de datos de la red con más detalle, lo que ayuda a identificar posibles problemas de red y riesgos de seguridad.

Si el puerto se especifica como 80 aquí, entonces solo puede monitorear todos los paquetes de datos enviados por el puerto 80 del host. Puede usar el parámetro -A para ver información detallada y ver la información de manera más conveniente.

Por supuesto, el puerto también se puede combinar con el host, como

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

De esta forma, podrás monitorear el puerto 80 y monitorear los datos enviados por la IP 192.168.1.2.

Supongo que te gusta

Origin blog.csdn.net/u013379032/article/details/131989639
Recomendado
Clasificación