2015-01-27 3 views
0

У меня есть несколько маршрутизаторов linux, которые обнюхивают около трафика. У них есть сокеты, открытые для того, чтобы приложение было подключено через tcp, через данные сокетов передается в двоичном формате.Декодирование двоичных данных, полученных через tcp-сокет в C#?

Я создал простое приложение, чтобы проверить, получены ли данные, и, тем не менее, оно является жирным. Кажется, что двоичный файл не декодирован должным образом. Кто-нибудь знает?

 try 
     { 
      TcpClient ourMagicClient = new TcpClient(); 
      ourMagicClient.Connect("192.168.0.101", Port); 
      NetworkStream ourStream = ourMagicClient.GetStream(); 
      byte[] data = new byte[ourMagicClient.ReceiveBufferSize]; 
      int offset = 0; 

      for (int i = 0; i < 20; i++) 
      { 
       int bytesRead = ourStream.Read(data, 0, System.Convert.ToInt32(ourMagicClient.ReceiveBufferSize)); 
       output += Encoding.ASCII.GetString(data, 0, bytesRead); 

       Console.WriteLine(output); 
       //Console.WriteLine(encoding.); 
       Console.WriteLine("\n"); 
       offset = bytesRead; 
      } 

      System.IO.File.WriteAllText(@"C:\Users\qweik_000\Desktop\WriteText.txt", output, Encoding.UTF8); 

      Console.WriteLine("Press enter to close..."); 
      Console.ReadLine(); 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("Error : " + e.Message); 
      Console.WriteLine("Error : " + e.StackTrace); 
      Console.ReadLine(); 
     } 

То, что я вижу в моем консольном приложении на запустить его:

enter image description here

+0

Если получены двоичные данные, почему вы преобразовываете их в строку? Что вы ожидаете увидеть? –

+0

sniffed traffic имеет тенденцию быть нечитаемыми двоичными данными ... Спросите этих экспертов из NSA, как это сделать из этого ... – DrKoch

+0

@ Qweick вы уверены, что другая сторона отправляет вам длинную строку, а не какой-то объект? –

ответ

0

Вы можете посмотреть на строки (некоторые байты в строке) байт в диапазоне действительного ASCII (т.е. 0x20 до 0x7f) и извлечь и отобразить этот «читаемый текст» как начало ...

Смежные вопросы