如何从传入数据包中提取HTTP信息

问题描述

我已经构建了一个捕获传入数据包的c#应用程序,但到目前为止,我只能从中提取低级信息。我正在使用的库SharpPcap不允许提取http信息。

有关更多背景信息,我正在尝试构建反向代理应用程序。我知道有诸如fiddler和Wireshark之​​类的现有工具可以帮助您,但我打算自动化该过程。下面是附带的代码

            private static void device_OnPacketArrival(object sender,CaptureEventArgs e)
           {
            //custom code
            var parsedPacket = Packet.ParsePacket(LinkLayers.Raw,e.Packet.Data);
            Console.WriteLine(System.Text.Encoding.ASCII.GetString(parsedPacket.HeaderDataSegment.Bytes));
            var time = e.Packet.Timeval.Date;
                var len = e.Packet.Data.Length;
                Console.WriteLine("{0}:{1}:{2},{3} Len={4}",time.Hour,time.Minute,time.Second,time.Millisecond,len);
            Console.WriteLine(e.Packet.ToString());
           }

parsedPacket.HeaderDataSegment.Bytes上方的字节数组未正确编码(已经尝试了其他编码类型无用)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)