使用Packet.Net提取HTTP标头信息
本文关键字:信息 HTTP 提取 Packet Net 使用 | 更新日期: 2023-09-27 18:19:41
我想使用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);
}
Packet.Net当前不支持http解码。由于http消息可以在多个数据包中分割,因此一个好的方法似乎是首先添加支持以允许以下tcp连接,然后在tcp数据流之上添加http会话检测和解析。尝试在每个数据包的基础上解析http数据可能适用于数据或某些http消息的标头,但这不是一个稳健的解决方案,因为它会阻止获取可能有几千字节大小的http消息的完整内容。
(我有一个基于SharpPcap/Packet.Net的商业库,它添加了tcp会话跟踪和http会话跟踪并解码。如果你想让我给你发电子邮件了解更多详细信息,请在这里发布你的电子邮件。)