2013-12-13 43 views
0

我正在构建我最后一年的项目嗅探器。我想从人类可读的格式中提取TCP数据。如何使用SharpPcap以可读格式从TcpPacket获取数据?

我正在使用BitConverter十六进制格式的数据,但我想数据是可读的,即所有的的Http浏览过的链接,GET请求,POST请求在输出和其他数据。 这里是我的代码:

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); 
    } 
} 

请帮帮忙,我很少有时间和搜查了很多,但无法得到任何东西..

在此先感谢

+0

这就是你想要的东西http://stackoverflow.com/questions/7655603/how-to-get-data-from-tcppacket-using-sharppcap – K3rnel31

回答

-1

你可以用下一:

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

相关问题