Pregunta

Estoy buscando mejores herramientas que Wireshark para esto.El problema con Wireshark es que no formatea la capa de datos (que es la única parte que estoy viendo) de manera limpia para que pueda comparar los diferentes paquetes e intentar comprender la codificación de terceros (que es de código cerrado).

Específicamente, ¿cuáles son algunas buenas herramientas para ver datos y no información de encabezado TCP/UDP?En particular, una herramienta que formatea los datos para compararlos.

Para ser muy específico:Me gustaría un programa que compare varios archivos (no solo 2) en hexadecimal.

¿Fue útil?

Solución

Su mejor apuesta, francamente, es para rodar su cuenta.

Obtener un lenguaje de script que se sienta cómodo y empezar a buscar una solución en el problema. Primero redactar una simple comparación de múltiples vías, pero tan pronto como empiece la búsqueda de patrones que cree son significativos (o que crea que puede ser) volver atrás y añadirlas al código - eliminarlos de la salida, resalte ellos, traducirlos en otra notación, reemplazarlos con su "significado" o alguna descripción de alto nivel de su papel - lo que parece apropiado. Si usted no puede decidir, lo convierten en una opción.

Usted está pidiendo para el software de visualización porque quiere algo que ayudará a formar e internalizar una comprensión de su codificación. Pero las comparaciones que se van a realizar son sólo una parte del proceso que va a utilizar (que es esencialmente el método científico) - también estará conformado y la revisión de conjeturas sobre lo que varias partes de los paquetes significan, cómo interactúan , etc.

No hay ninguna herramienta pre-construidos va a ayudar allí, pero es un buen lenguaje de script (dicen Python, Ruby, Perl o incluso) va a ayudar mucho. A medida que forma una teoría, codificarlo y probarlo. Mungle su código de alrededor, probando diferentes ideas que se le ocurran, la creación de una bolsa de trucos adaptados a este problema a medida que avanza.

- MarkusQ

P.S. No caiga en la trampa de tratar de utilizar C o Java o algo para hacer esto. Estará jugando rápido y suelto, y debe contar con una herramienta que no requiere declaraciones de variables, compilación, etc. Habrá un montón de oportunidades para apretarlo y volver a escribir una vez que entienda cómo funciona.

Otros consejos

Echa un vistazo a esta publicación de blog de BreakingPoint Labs.Están discutiendo la ingeniería inversa de protocolos manuales y un conjunto de herramientas basadas en paquetefu para facilitar esta tarea.

Relevante para su pregunta es el conjunto de herramientas que facilita identificar y resaltar cambios en los paquetes.Aquí hay una captura de pantalla de ejemplo que muestra el uso del color para delinear las diferencias del paquete:alt text
(fuente: breakpointsystems.com)

Su problema no es analizar datos de la red, pero comparar archivos binarios como usted la describe por sus necesidades.

Me extraer datos de aplicación por medio de cualquier sniffer, es decir, por medio de tcpdump utilizados como se describe por Zoreadche, o Wireshark (es decir, por medio de la sesión TCP seguimiento). A continuación, guardarlo en archivos y compara mediante cualquier herramienta de archivo de comparación. Puede probar estos (el más popular):

  • examdiff Pro . Muy rápida comparando los directorios.
  • Winmerge . Aunque no es tan rápido que ExamDiff favorable es de código abierto y está evolucionando rápidamente. Es mi primera opción.
  • BeyondCompare . Esta es la única herramienta de archivos Comparación Sé que hace exactamente lo que está buscando, que está comparando tratar archivos al mismo tiempo.

Por sólo HTTP, solía utilizado una gran herramienta llamada EffeTech .
(Aunque mirándolo ahora parece que soportar más de un HTTP ....)

El problema es que los datos en la capa de aplicación no es estándar (con muy pocas excepciones, como HTTP, POP3 y así). Las herramientas como Wireshark no pueden decodificar esta información si no conocen el formato.

Sé que algunas versiones antiguas de Ethereal (ahora Wireshark) tenían la opción (puede que tenga que activarlo) para mostrar la carga útil. Esperamos que no tiene sentido, la mayoría de los protocolos están en binario!

Si usted tiene una captura que ha hecho con etérea se podía leer la captura, o que podría hacer con su captura tcpdump. Para capturar utilizar un comando tcpdump como tcpdump -s 0 -qn -X o tcpdump -X -r nombre de archivo leerá una captura.

22:08:33.513650 IP 192.168.32.10.40583 > 69.59.196.211.80: tcp 1261
0x0000:  4500 0521 18ec 4000 4006 322a c0a8 200a  E..!..@.@.2*....
0x0010:  453b c4d3 9e87 0050 b0b6 4b4f 1598 0090  E;.....P..KO....
0x0020:  8018 1920 9b4f 0000 0101 080a 002e 701b  .....O........p.
0x0030:  093c bc38 4745 5420 2f75 7365 7273 2f32  .<.8GET./users/2
0x0040:  3032 3637 2f7a 6f72 6564 6163 6865 2048  0267/zoredache.H
0x0050:  5454 502f 312e 300d 0a48 6f73 743a 2073  TTP/1.0..Host:.s
0x0060:  7461 636b 6f76 6572 666c 6f77 2e63 6f6d  tackoverflow.com

O existe otra tcpick que puede ser lo que quiera. Puede capturar la carga útil de conexiones TCP, y mostrarlo como hexagonal o guardar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top