2012-01-06 15 views
0

Packet.Netを使用してHTTPヘッダー情報を抽出します。 SharpPcapを使用してパケットをキャプチャし、TCPパケットのUser-Agentフィールドにアクセスする必要があります。私が正しく理解すれば、Pac​​ket.Netはキャプチャされたパケットを分析するために使用されます。この点について、助けていただければ幸いです。次のコードでTCPパケットを表示しようとしましたが、バイトが表示されます。私は開発言語としてC#を使用しています。Packet.Netを使用してHTTPヘッダー情報を抽出します。

 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); 

    } 
+0

何「バイトが表示されます」という意味ですか?あなたは見ているもののサンプル出力を提供できますか? –

+0

SharpPcapではなく、[Pcap.Net](http://pcapdotnet.codeplex.com/)を使用することもできます。これは、HTTPメッセージの解析をサポートしているためです。 –

答えて

1

Packet.Netには現在HTTPデコードがサポートされていません。 httpメッセージは複数のパケットに分けることができるので、最初にtcp接続の後続を許可するサポートを追加してから、httpセッションの検出と解析をTCPデータストリームの先頭に追加するのが良い方法のようです。パケットごとにhttpデータを解析しようとすると、データまたはhttpメッセージのヘッダーで動作する可能性がありますが、数KBのhttpメッセージの完全な内容を取得できないため、堅牢なソリューションではありませんサイズで。

(私は、次のデコード以下とHTTPセッションのTCPセッションを追加SharpPcap/Packet.Net上に構築、市販のライブラリーを持っている。あなたは私が詳細であなたを電子メールで送信したい場合はここにあなたの電子メールを投稿してください。)

関連する問題