web-dev-qa-db-ja.com

特定のアプリケーションのトラフィックをキャプチャする

サーバーと通信するアプリケーションがあります。このサーバーのIPを知りたい。 Wiresharkのようにすべてのトラフィックだけでなく、特定のアプリケーションからのすべてのトラフィックをキャプチャするにはどうすればよいですか?

14
melco-man

Windows Sockets API呼び出しをインターセプトすることにより、特定のアプリケーションのすべてのネットワークトラフィックをキャプチャすることが可能です。これらは役立つツールです。

  1. Proxocket Luigi Auriemmaによって作成されました。 API呼び出しをインターセプトし、キャプチャされたトラフィックをWireshark対応の.capファイルとしてtcpdump形式で保存します。ルイージ自身によって提供された画像よりも説明的なものはありません: Screenshot

  2. NirSoftには SocketSniff アプリケーションがあり、特定のプロセスのトラフィックをキャプチャできます。写真は千の言葉にも値する: Screenshot

残念なことに、前述のツールは64ビットアプリケーションをサポートしない可能性があります。ただし、32ビットAPIと64ビットAPIの両方をサポートする mhook ライブラリを使用してカスタムインターセプターを作成することは可能です。

4
PF4Public

Microsoft Network Monitor を使用すると、「このアプリケーションとの間で送受信されるパケットのみをキャプチャする」と言うことができます。

2
user164970

使用が最も簡単なのはFiddler 2です。これは、PC上の任意のアプリケーションでHTTP、HTTPS、およびFTP(構成されている場合は両方)要求を表示できるデバッガーです。

インストールした後、特定のアプリケーションをターゲットにするには、メニュー項目「Any Process」をクリックしてそのまま保持し、カーソルを開いているウィンドウにドラッグして離します。メニュー項目を右クリックしてターゲットプロセスを赤いテキストで読み取り、リリースするまで、そのターゲットアプリケーションのみが表示されます。

http://fiddler2.com/

1
cbabb

proxifierhttps://www.proxifier.com
これは、Windows OSで特定のアプリケーションのプロキシを設定するための優れたプログラムです。

0
Power me

Windowsでは、 TCPView が必要なことを実行します。特定のプログラムが開いているすべてのTCPおよびUDP接続を表示できます。

ただし、これが役立つのは、プログラムが接続を開いたままにしている場合のみです。特定のプログラムによるすべてのネットワークトラフィックは表示されません。たとえば、ロード時に非常に短いテレフォンホームコールを発信することは可能ですが、TCPViewを実行するまでに接続が失われます。

Process Monitor は、詳細を取得するのに役立つ可能性がありますが、まだ使用していないため、ネットワークソケットについてどれだけキャプチャするかわかりません。

0
James Polley