Tutorial básico de Linux 29-comando tcpdump-1
Ingresa el comando man tcpdump en Linux y la definición que te da es la siguiente:
¿Te sientes confundido? Usamos expresiones populares, vívidas y académicas para describir tcpdump de manera integral:
Las opciones comunes son las siguientes:
1. El primer ejemplo de captura de paquetes
-i: especifica la interfaz de red utilizada para capturar paquetes. Este parámetro es muy efectivo cuando el servidor tiene varias tarjetas de red.
-nn: no convierte el protocolo ni el número de puerto cuando tcpdump encuentra el protocolo. número o puerto No es necesario convertir estos números en nombres de protocolo o nombres de puerto correspondientes. Por ejemplo, puerto 22, puerto SSH, queremos mostrar 22 en lugar de SSH
-X: muestra el encabezado del protocolo y. contenido del paquete tal como está Cuando salga, tcpdump lo mostrará en formato hexadecimal y ASCII, lo cual es muy útil para el análisis de protocolos.
'puerto 22': indique a tcpdump que muestre selectivamente los paquetes capturados. En este ejemplo, solo se muestran los paquetes cuyo puerto de origen o destino es 22, y no se muestran otros paquetes.
-c: Se utiliza para especificar la cantidad de paquetes a capturar. El número establecido en el ejemplo es 1, lo que significa que después de capturar solo un paquete, saldrá y ya no capturará paquetes.
2. -e agrega información del encabezado de la capa de enlace de datos
Al comparar la salida de los dos comandos, puede ver que después de agregar la opción -e, se agrega la MAC al resultado de salida. Y habrá oui Desconocido en el contenido de salida, OUI es un identificador único de organización (identificador único de organización) en la dirección MAC de 6 bytes grabada en cualquier tarjeta de red, los primeros 3 bytes reflejan el OUI, que indica la tarjeta de red. este identificador es exclusivo de la organización de fabricación. En este caso, debido a que no se reconoce el fabricante de la tarjeta de red, se muestra como Desconocido.
3. -l cambia la salida al modo de almacenamiento en búfer de línea
La función de -l es cambiar el comportamiento de salida de tcpdump al modo de almacenamiento en búfer de línea, lo que garantiza que tcpdump encuentre una nueva línea carácter. Envíe inmediatamente el contenido almacenado en el búfer a la salida estándar (stdout), lo que facilita el procesamiento posterior mediante canalizaciones o redirección sin causar demoras.
La E/S estándar de Linux proporciona tres métodos de almacenamiento en búfer: almacenamiento en búfer completo, almacenamiento en búfer de línea y sin almacenamiento en búfer. El error estándar no tiene búfer, mientras que los dispositivos terminales a menudo tienen búfer de línea y otros tienen búfer completo de forma predeterminada.
En este ejemplo, el contenido de salida de tcpdump se extrae a través de la canalización hasta la columna 5, que se puede utilizar para ver información detallada de la conexión. Si no se agrega la opción -l, tcpdump generará el contenido del búfer solo cuando esté completamente ocupado, lo que puede causar que la salida sea discontinua. Si se finaliza a la fuerza, afectará la integridad de la siguiente línea.
4. Salida -t sin marca de tiempo
Después de agregar la opción -t, la hora 23:48:03.193526 desaparece. De forma predeterminada, tcpdump se cronometra en microsegundos, por lo que el último tiempo tiene una precisión del sexto dígito.
5. -v muestra información detallada
Después de agregar la opción -v, se agregarán a la salida tos, ttl, id, offset, número de protocolo, longitud total, etc. contenido Si necesita comprender esta información, debe comprender la definición específica del encabezado en el protocolo TCP/IP.
6. -F especifica el archivo donde se encuentra la expresión del filtro
En el primer ejemplo, se agrega 'puerto 22' a la línea de comando y este elemento se llama filtro condición Si se establecen las condiciones del filtro, tcpdump solo captura los paquetes que cumplen las condiciones del filtro.
Si necesita establecer condiciones de filtrado más complejas o reutilizar condiciones de filtrado, puede guardar las condiciones de filtrado como un archivo y luego cargar el archivo de filtrado mediante -F.
7. -w guarda la información del paquete original en un archivo
Cuando vemos el archivo guardado, aparecen caracteres confusos. Significa que no se puede ver directamente y lo más probable es que sea un archivo binario. Entonces, ¿cómo ver los archivos guardados? Vea el siguiente ejemplo.
7. -r Leer paquetes de datos originales del archivo
La función de grabación y reproducción de la captura de paquetes se puede realizar a través de las opciones -w y -r.