2010-07-27 7 views
2

Je développe une application qui écoute les données arrivant à l'ordinateur et les stocke dans un db lorsque j'essaie d'utiliser un logiciel de reniflage, il décode les données et je peux le lire. .. mais dans mon code .... je ne peux pas lu du tout il vient dans un format comme celuilire les données de reniflage sur tcp

1822262151622341817118815518211616121520941131921572041519912321413018224510453482062312258624219217426213385792952422362282081777270129716688629114817282188771708157542505055171418651781981425595109572128317191993018793431541418175198551682143218916536118562071014546919618158204181231187237183188160147127165111798312311810419822146114761993113815821216617541542372062129733198212250147199288115346102031191275215728146245198190171121209115149107193226253199151253205183146112072202559697791491441131572351381412278441552554817712614110121823714822712523618924690185291182071331471286244143181469018522814822821118012620321315924832238219115405615512392145202385512115735771691111055935782371281492476567165158924021493139815144225143762294713291762001113814720516216041120169912317914878167571392103510118386589521910621319622274158971538465206168139190127867123282255271781242497522124211517622131122113236255230254211206911242051832545515823012124925217318223920523316923122925514321122343602492471242........ 

peut me dire quel genre de données est que tout code et de le résoudre en ??

+0

Pourriez-vous être un peu plus précis sur quel type d'outil/bibliothèque/etc. vous utilisez pour renifler ces données? Et comment imprimez-vous/convertissez-vous ces données? – nos

+0

J'ai essayé celui-ci System.Text.Encoding.ASCII.GetString (tcpHeader.Data) et je suis en mesure d'obtenir les données ... mais quand je l'exécute et j'attends les données (c'est au format XML) Je l'ai eu dans de nombreux paquets, il est difficile de le relire à nouveau ... que dois-je faire? dois-je collecter les données de tous les paquets, puis les ajouter pour obtenir le message entier? ou est-il une bibliothèque pour le faire dans le .net – Ramah

Répondre

3

Pour voir à quoi ressemble un véritable renifleur de paquets, consultez WireShark. Il existe de nombreux protocoles différents sur TCP, et beaucoup d'entre eux sont binaires. Ceux qui ne le sont pas peuvent utiliser des caractères Unicode, qui sont des caractères de deux octets, donc un affichage ASCII de ceux-ci serait sans signification.

Quoi qu'il en soit, les données que vous affichez sont plutôt insignifiantes. Il ressemble à des données décimales, concaténéz-vous un ensemble de représentations décimales du flux binaire interprété comme des valeurs d'octets ou d'entiers? Cela l'expliquerait. Vous devriez commencer par lancer le flux à travers System.TextEncoding.ASCII.Decode Vous verrez probablement des chaînes reconnaissables. Ensuite, essayez System.TextEncoding.Unicode.Decode, etc.

2

Non, nous ne pouvons pas. Et la raison est simple, nous ne savons pas quelle application vous reniflez.

Ce flux de données peut signifier n'importe quoi. Mais, je vous suggère d'imprimer les données en hexadécimal.

Peut-être que les données auraient plus de sens.