0

Packet.Netを使用してHTTPヘッダー情報を抽出したいと思います。SharpPcapを使用してパケットをキャプチャしており、TCPパケットのUser-Agentフィールドにアクセスする必要があります。私が正しく理解していれば、Pac​​ket.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);

   } 
4

1 に答える 1

1

Packet.Net は現在、http デコードをサポートしていません。http メッセージは複数のパケットに分割できるため、まず tcp 接続の追跡を許可するサポートを追加し、次に tcp データ ストリームの上に http セッションの検出と解析を追加することをお勧めします。パケットごとに http データを解析しようとすると、データのヘッダーまたは一部の http メッセージに対して機能する可能性がありますが、数キロバイトになる可能性のある http メッセージの完全なコンテンツを取得できなくなるため、堅牢なソリューションではありません。サイズで。

(私は、SharpPcap/Packet.Net に基づいて構築された商用ライブラリを持っています。これは、tcp セッションの追跡と http セッションの追跡とデコードを追加します。詳細をメールで送りたい場合は、ここにメールを投稿してください。)

于 2012-02-01T16:20:50.417 に答える