web-dev-qa-db-ja.com

アプリケーションから送信されたパケットを傍受し、そのヘッダーとコンテンツを確認するにはどうすればよいですか?

特定のアプリケーションから送信されたパケットを傍受し、それらのパケットの内容を確認する方法を知りたいのですが。こんなことをしたことがないので、自分で学びたいので、どうしたらいいかアドバイスが必要です。

13
Jax

Pcap.Net

Pcap.Netは、C++/CLIおよびC#で記述されたWinPcapの.NETラッパーです。ほとんどすべてのWinPcap機能を備え、パケット解釈フレームワークを含みます。

SharpPcap

SharpPcapは、有名なpcap/WinPcapライブラリに基づく、.NET環境用のクロスプラットフォームパケットキャプチャフレームワークです。 C#やVB.NETなどの.NET言語を使用して、パケットをキャプチャ、注入、分析、構築するためのAPIを提供します。

Pcap.NetとSharpPcapの比較

ワイヤーシャーク

ネットワークのトラブルシューティング、分析、ソフトウェアと通信プロトコルの開発、および教育に使用されます。そして、これは今まで使用した中で最も用途の広いパケットスニファだと思います。

フィドラー

Fiddlerは、コンピューターとインターネット間のすべてのHTTP(S)トラフィックをログに記録するWebデバッグプロキシです。 Fiddlerを使用すると、トラフィックを検査し、ブレークポイントを設定し、着信データまたは発信データを「いじる」ことができます。 Fiddlerには、強力なイベントベースのスクリプトサブシステムが含まれており、任意の.NET言語を使用して拡張できます。最近、フィドラーはTelerikに抜かれた。しかし、それはまだ無料のAFAIKです。

19
Harsh Baid

C#スニファーソケット作成のいくつかの例。

    mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw,
                           ProtocolType.IP);

    // Bind the socket to the selected IP address
    mainSocket.Bind(newIPEndPoint(IPAddress.Parse(cmbInterfaces.Text),0));

    // Set the socket options
    mainSocket.SetSocketOption(SocketOptionLevel.IP,  //Applies only to IP packets
                               SocketOptionName.HeaderIncluded, //Set the include header
                               true);                           //option to true

    byte[] byTrue = newbyte[4]{1, 0, 0, 0};
    byte[] byOut = newbyte[4];

    //Socket.IOControl is analogous to the WSAIoctl method of Winsock 2
    mainSocket.IOControl(IOControlCode.ReceiveAll,  //SIO_RCVALL of Winsock
                         byTrue, byOut);

    //Start receiving the packets asynchronously
    mainSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
                            newAsyncCallback(OnReceive), null);
6
Ruslan F.

Fiddlerを使用して、HTTPトラフィックを表示できます http://www.fiddler2.com/fiddler2/

または、Wireshark http://www.wireshark.org/ より高度なもの

パケットアナライザの概要 http://en.wikipedia.org/wiki/Packet_analyzer

あなたが達成しようとしていることの詳細は、私たちが助言するのに役立ちます。

2
GraemeMiller