Utilice tcpdump para ver paquetes sin procesar
Si bien herramientas como Snort hacen un excelente trabajo al filtrar todo lo que llega a través de nuestras redes, a veces es necesario mirar los datos sin procesar. Nuestra mejor herramienta para esto es "tcpdump".
La forma más básica de usar tcpdump es simplemente emitir el siguiente comando:
Puede usar la opción -v para obtener más detalles y -vv para obtener más información.
Opciones útiles
Supongamos que ha iniciado sesión en el ordenador remoto que desea administrar. Si ejecuta "tcpdump" sin ninguna opción, la salida se inundará con paquetes de su conexión SSH. Para evitar esto, simplemente elimine el puerto 22 de la salida:
Código:
Puede usar muchos puertos diferentes para hacer esto:
Código:
Si desea hacer lo contrario, es decir, monitorear solo un determinado puerto (lo cual es útil para depurar aplicaciones de red), puede hacer lo siguiente:
También puede hacer esto desde Obtener datos de un host específico en la red:
Si su computadora tiene múltiples interfaces de red, también puede especificar la interfaz de red para escuchar:
También puede especificar el protocolo:
p>Puede encontrar la lista de protocolos en /etc/protocols.
Guarde el resultado para usarlo más adelante
En algunos casos, es posible que desee redirigir el resultado a un archivo para poder estudiarlo en detalle más adelante o utilizar otro programa para analizar el resultado. producción. En el siguiente ejemplo, aún puedes ver el resultado mientras lo guardas en un archivo:
En el ejemplo anterior, podemos usar la fecha y la hora para identificar cada volcado. Esto puede resultar útil cuando se trata de problemas que surgen en momentos específicos del día.
tcpdump también tiene la opción de volcar su salida en un formato binario para su posterior lectura. Para crear un archivo binario:
Más tarde, puede dejar que tcpdump lea el archivo usando el siguiente comando
También puede usar el programa etéreo para abrir el volcado sin formato e interpretarlo.
tcpdump nos brinda información sobre todos los paquetes que viajan hacia y desde la red.
Usar Ethereal con tcpdump Ethereal
Ethereal es una herramienta que también se puede utilizar para capturar paquetes de red. Después de la instalación, puede abrir el archivo de volcado sin formato que creó.
Es bastante fácil ver lo que está pasando. Puede ver la IP de origen y la IP de destino y qué tipo de paquete es. Es fácil, luego podrá solucionar los problemas de red que pueda estar experimentando y analizar comportamientos sospechosos. Solo para agregar una anécdota, mientras escribía esta lección e interpretaba mis propios volcados, vi una actividad extraña en mi estación de trabajo personal. Consulto el puerto 32772 en máquinas con diferentes IP en el mundo casi cada vez. Ejecuté un volcado específico para el puerto 32772 como se muestra a continuación:
Leyendo el resultado sin procesar
Como puede ver, incluso leyendo desde tcpdump el llamado "legible por humanos". ser un poco misterioso. Mire el ejemplo a continuación, acabo de seleccionar un paquete aleatorio del volcado:
Lo que tenemos es una solicitud del servidor web a https://www.linux.org/. Después de la marca de tiempo, verá .www al final del nombre de host (es decir, puerto 80). Esto se enviará al puerto 34365 del host solicitante test.linux.org. "P" significa funcionalidad TCP "oush". Esto significa que los datos deben enviarse inmediatamente. Entre los números que siguen a 2845:3739 (894), 2845 marca el número del octeto del primer paquete. El número 3739 es el número del último byte enviado en el paquete más uno.
El número 894 es la longitud del paquete enviado. La parte que dice "ack 1624" es el término TCP para "reconocer", lo que significa que el paquete fue aceptado y el siguiente número de paquete esperado es 1624. Luego, vemos que el host emisor "win 9648" está esperando paquetes con un tamaño de ventana de 9648 octetos. Después de esto viene la marca de tiempo.
Ahora, si le resulta difícil interpretarlo, utilice la opción -x, que incluirá el contenido del paquete en la salida hexadecimal.
Podemos ver en el resultado que se trata de una solicitud HTTP. En cuanto al resto, no es legible por humanos, pero sabemos fácilmente que es un paquete legítimo. Otro beneficio de usar este formato es que incluso si no podemos explicar completamente qué pasó con este paquete, podemos enviárselo a alguien que sí pueda. En última instancia, se trata de datos sin procesar transmitidos a través de la red sin ningún filtrado.