2013-12-13 46 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);

相關問題