Как получить данные из TcpPacket в читаемом формате с помощью SharpPcap?

Я создаю сниффер для своего последнего проекта. Я хочу извлечь данные из TCP в удобочитаемом формате.

Я получаю данные в шестнадцатеричном формате с помощью BitConverter, но я хочу, чтобы данные были удобочитаемыми, т. е. все просматриваемые ссылки HTTP, запросы на получение, запросы на отправку и другие данные на выходе. Вот мой код:

while((packet = device.GetNextPacket()) != null)
{
   var pack = PacketDotNet.Packet.ParsePacket(packet.LinkLayerType, packet.Data);
   var tcp = TcpPacket.GetEncapsulated(pack);
   if(tcp != null)
   {
      var sp = tcp.SourcePort;
      var dp = tcp.DestinationPort;
      var data = BitConverter.ToString(tcp.PayloadData);
      Console.WriteLine("{0}:{1}:{2}",sp,dp,data);
   }
}

Пожалуйста, помогите, у меня мало времени, и я много искал, но ничего не смог найти.

заранее спасибо


person Mustafa Ujjainwala    schedule 13.12.2013    source источник
comment
вот что вам нужно > stackoverflow.com/questions/7655603/   -  person K3rnel31    schedule 08.03.2014


Ответы (1)


вы можете использовать следующее:

var data = Encoding.Unicode.GetString(tcp.PayloadData);

person Dm1tr1y    schedule 23.03.2014