Domanda

Sto cercando strumenti migliori di Wireshark per questo. Il problema con Wireshark è che non formatta lo strato di dati (che è l'unica parte che sto guardando) in modo pulito per me, per confrontare i diversi pacchetti e tentativo di comprendere la codifica di terze parti (che è closed source).

In particolare, quali sono alcuni buoni strumenti per la visualizzazione dei dati, e non TCP / UDP informazioni di intestazione? In particolare, uno strumento che formatta i dati per il confronto.

Per essere molto specifico :. Vorrei un programma che mette a confronto multiplo (non solo) 2 file in hex

È stato utile?

Soluzione

La cosa migliore, francamente, è quello di rotolare il proprio.

Ottenere un linguaggio di scripting che sei a tuo agio con e iniziare a smanettare con il problema. In primo luogo redigere un semplice confronto a più vie, ma non appena si inizia a trovare i modelli che tu pensi che sono significativi (o che si pensa possa essere) tornare indietro e aggiungerli al codice - eliminarli dall'uscita, li evidenziare, tradurli in un'altra notazione, sostituirli con il loro "significato" o qualche descrizione di alto livello del loro ruolo - qualunque cosa sembra opportuno. Se non è possibile decidere, ne fanno una scelta.

Stai chiedendo software di visualizzazione perché si vuole qualcosa per aiutare a formare e interiorizzare una comprensione della loro codifica. Ma i paragoni che si sta per fare sono solo una parte del processo che verrà usato (che è essenzialmente il metodo scientifico) - sarete anche formare e rivedere congetture su ciò che le varie parti dei pacchetti significa, come interagiscono , ecc.

Nessuno strumento pre-costruito sta per aiutarvi a lì, ma un buon linguaggio di scripting (dire Python, Ruby, o anche Perl) sarà di grande aiuto. Come si forma una teoria, il codice su e provarlo. Mungle il codice in giro, provare idee diverse in cui si verificano a voi, costruendo un sacco di trucchi personalizzati a questo problema come si va avanti.

- MarkusQ

P.S. Non cadere nella trappola di cercare di usare C o Java o qualcosa per fare questo. Potrai giocare a tira e molla, e dovrebbe avere uno strumento che non richiede dichiarazioni di variabili, la compilazione, ecc Ci saranno un sacco di opportunità per stringere su e riscriverlo una volta capito come funziona.

Altri suggerimenti

Date un'occhiata a questo post del blog da BreakingPoint Labs . Stanno discutendo manuale engineering del protocollo inversa e un insieme di strumenti costruita su PacketFu per rendere questo compito più facile.

Rilevante per la tua domanda è l'insieme di strumenti che lo rende facile per individuare ed evidenziare le modifiche ai pacchetti. Ecco un esempio screenshot che mostra l'uso del colore per delineare le differenze di pacchetti: alt text
(fonte: breakingpointsystems.com )

Il problema non è quello di analizzare i dati di rete, ma confrontare i file binari come lei per le vostre esigenze.

avrei estrarre dati applicativi mediante ogni ventosa, cioè mediante tcpdump utilizzati come descritto da Zoreadche, o Wireshark (cioè mediante sessione TCP seguono). Poi salvarlo in file e confrontare con qualsiasi strumento di file di comparazione. È possibile provare questi (il più popolare):

  • ExamDiff Pro . Veramente veloce confronto tra le directory.
  • WinMerge . Anche se non così velocemente come ExamDiff pro è opensource ed è in rapida evoluzione. E 'la mia prima scelta.
  • BeyondCompare . Questo è l'unico strumento di file di comparazione so che fa esattamente quello che stai cercando, cioè confrontando provare file allo stesso tempo.

Per HTTP solo, ho usato per utilizzare un grande strumento chiamato EffeTech .
(Anche se guardando ora sembra che supportano più di un semplice HTTP ....)

Il problema è che i dati a livello di applicazione non è standard (con pochissime eccezioni, come HTTP, POP3 e così). Strumenti come Wireshark non possono decodificare queste informazioni se non conoscono il formato.

So che alcune vecchie versioni di Ethereal (ora Wireshark) avevano la possibilità (potrebbe essere necessario abilitarlo) per mostrare il carico utile. Invitare per ha senso, la maggior parte dei protocolli sono in binario!

Se si dispone di una cattura che avete fatto con eterea si poteva leggere la cattura, o si potrebbe fare la cattura con tcpdump. Per catturare utilizzare un comando tcpdump come tcpdump -s 0 -qn -X o tcpdump -X -r filename leggerà una cattura.

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

In alternativa c'è un altro tcpick che può essere quello che vuoi. È possibile catturare il carico utile di connessioni TCP, e lo hanno mostrato come esadecimale o salvato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top