Question

Je suis à la recherche de meilleurs outils que Wireshark pour cela. Le problème avec Wireshark est qu'il ne formate pas la couche de données (ce qui est la seule partie que je regarde) proprement pour moi de comparer les différents paquets et tenter de comprendre le codage d'un tiers (qui est la source fermée).

Plus précisément, quels sont les bons outils pour la visualisation des données, et non des informations d'en-tête TCP / UDP? En particulier, un outil qui formate les données de comparaison.

Pour être très précis :. Je voudrais un programme qui compare plusieurs fichiers (non seulement) 2 en hexadécimal

Était-ce utile?

La solution

Votre meilleur pari, franchement, est de faire rouler votre propre.

Obtenir un langage de script que vous êtes à l'aise avec et commencer à bidouiller le problème. Tout d'abord écrire une simple comparaison multivoies, mais dès que vous commencez à trouver des modèles que vous jugez importants (ou que vous pensez peut-être) revenir en arrière et les ajouter au code - les éliminer de la sortie, les mettre en évidence, les traduire dans une autre notation, les remplacer par leur « sens » ou une description de haut niveau de leur rôle - ce qui semble approprié. Si vous ne pouvez pas décider, en faire une option.

Vous demandez un logiciel de visualisation parce que vous voulez quelque chose pour vous aider à former et d'internaliser une compréhension de leur encodage. Mais les comparaisons que vous allez faire ne sont qu'une partie du processus que vous utiliserez (qui est essentiellement la méthode scientifique) - vous serez également en forme et la révision de diagnostics sur la nature différentes parties des paquets signifient, comment ils interagissent , etc.

Aucun outil pré-construit va vous aider là-bas, mais un bon langage de script (dire python, ruby, ou même perl) aidera beaucoup. Comme vous formez une théorie, coder et essayer. Mungle votre code autour, essayer différentes idées comme ils se produisent pour vous, la construction d'un sac de trucs personnalisés à ce problème que vous progressez.

- MarkusQ

P.S. Ne pas tomber dans le piège d'essayer d'utiliser C ou Java ou quelque chose à faire. Vous allez jouer rapide et lâche, et devrait avoir un outil qui ne nécessite pas de déclarations de variables, compilation, etc. Il y aura de nombreuses occasions de le serrer et réécrire une fois que vous comprenez comment cela fonctionne.

Autres conseils

Jetez un oeil à ce blog de BreakingPoint Labs . Ils discutent de l'ingénierie inverse du protocole manuel et un ensemble d'outils construit sur PacketFu pour rendre cette tâche plus facile.

pertinent à votre question est l'ensemble d'outils qui le rend facile d'identifier et de mettre en évidence les changements de paquets. Voici une capture d'écran exemple qui montre l'utilisation de la couleur pour décrire les différences de paquets: text alt
(source: breakingpointsystems.com )

Votre problème est de ne pas analyser les données du réseau, mais comparer des fichiers binaires que vous décrivez par vos besoins.

J'extraire des données d'application au moyen d'un renifleur, à savoir au moyen d'tcpdump utilisées comme décrit par Zoreadche ou Wireshark (à savoir au moyen de suivi session TCP). Puis enregistrez les fichiers et comparer par un outil de comparation de fichier. Vous pouvez essayer ces (les plus populaires):

  • ExamDiff Pro . Très vite la comparaison de répertoires.
  • Winmerge . Bien que pas aussi vite que ExamDiff pro est opensource et il évolue rapidement. Il est mon premier choix.
  • BeyondCompare . Ceci est le seul outil de comparation de fichier Je sais que fait exactement ce que vous cherchez, qui consiste à comparer essayer des fichiers en même temps.

Pour HTTP uniquement, j'utilisé pour utiliser un outil appelé EffeTech .
(Si regardant maintenant il semble qu'ils prennent en charge plus que HTTP ....)

Le problème est que les données à la couche d'application ne sont pas standard (à quelques exceptions près, comme HTTP, POP3 et ainsi). Des outils tels que Wireshark ne peuvent pas décoder cette information s'ils ne savent pas le format.

Je sais que certaines anciennes versions de Ethereal (maintenant Wireshark) avaient l'option (vous pourriez avoir à activer) pour montrer la charge utile. Attendez-vous à pas de sens, la plupart des protocoles sont en binaire!

Si vous avez une capture que vous avez fait avec éthérée, vous pouvez lire la capture, ou vous pouvez faire vos captures avec tcpdump. Pour capturer utiliser une commande tcpdump comme tcpdump -s 0 -qn -X ou tcpdump -X -r nom de fichier lire une capture.

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

Ou il y a un autre tcpick qui peut être ce que vous voulez. Vous pouvez capturer la charge utile des connexions tcp, et affichez comme hex ou sauvegardé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top