我想使用Packet.Net提取HTTP头信息。我正在使用SharpPcap捕获数据包,并且需要访问TCP数据包中的User-Agent字段。如果我理解正确的话,应该使用Packet.Net来分析捕获的数据包。在这方面,我们将不胜感激。我尝试使用以下代码显示TCP数据包,但显示了字节。我使用C#作为开发语言。
private static void device_OnPacketArrival(object sender,CaptureEventArgs packet){
Packet p =Packet.ParsePacket(packet.Device.LinkType,packet.Packet.Data);
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
String StringMessage = ASCII.GetString(p.Bytes);
Console.WriteLine(StringMessage);
} 发布于 2012-02-02 00:20:50
Packet.Net目前不支持http解码。因为http消息可以被拆分到多个分组中,所以似乎一种好的方法是首先添加支持以允许以下tcp连接,然后在tcp数据流之上添加http会话检测和解析。尝试在每个分组的基础上解析http数据可能适用于数据的报头或一些http消息,但不是一个健壮的解决方案,因为它将阻止能够获得可能是几千字节大小的http消息的全部内容。
(我有一个建立在SharpPcap/Packet.Net上的商业库,它添加了tcp会话跟踪和http会话跟踪和解码。如果您希望我给您发送更多详细信息,请在此处发布您的电子邮件。)
https://stackoverflow.com/questions/8757930
复制相似问题