134

ローカルホストで実行される単純なサーバー アプリを C で作成しました。Wireshark を使用してローカルホストのトラフィックをキャプチャする方法は?

4

9 に答える 9

75

Windows を使用している場合、 それは不可能です。以下をお読みください。代わりにマシンのローカル アドレスを使用すると、データをキャプチャできます。CaptureSetup/Loopbackを参照してください。

要約: Linux、Mac OS X を含むさまざまな BSD、および Digital/Tru64 UNIX のループバック インターフェイスでキャプチャできます。Irix と AIX ではできるかもしれませんが、Solaris、HP では絶対にできません。 -UX... .

このページには、Windows では Wireshark のみを使用してこれを行うことはできないと記載されていますが、別の回答に記載されている回避策を使用して実際に記録することができます。


編集:約3年後、この答えは完全に正しくなくなりました。リンクされたページには、ループバック インターフェイスでキャプチャするための手順が含まれています。

于 2011-05-01T07:45:37.607 に答える
56

何らかの理由で、私の場合、以前の回答はどれもうまくいきませんでした。そのため、トリックを行ったものを投稿します。Windows でローカルホストのトラフィックをキャプチャできるRawCapという小さな宝石があります。利点:

  • わずか17kB!
  • 外部ライブラリは不要
  • 使い方は非常に簡単です (起動して、ループバック インターフェイスと宛先ファイルを選択するだけです)。

トラフィックがキャプチャされた後、それを開いて通常どおり Wireshark で調べることができます。私が見つけた唯一の欠点は、フィルタを設定できないことです。つまり、大量のローカルホスト トラフィックをすべてキャプチャする必要があります。Windows XP SP 3 に関するバグも 1 つあります。

さらにいくつかのアドバイス:

于 2013-01-25T15:59:34.767 に答える
48

Windows プラットフォームでは、Wireshark を使用してローカルホスト トラフィックをキャプチャすることもできます。あなたがする必要があるのは、Microsoft loopback adapterをインストールしてから、それをスニッフィングすることです。

于 2012-01-14T02:25:28.017 に答える
26

私は実際にこれを試したことはありませんが、ウェブからのこの回答は有望に思えます:

Windows TCP スタックの性質上、Wireshark は実際には Windows XP でローカル パケットをキャプチャできません。パケットが同じマシンで送受信される場合、wireshark が監視するネットワーク境界を越えないように見えます。

ただし、これを回避する方法があります。Windows XP マシンで (一時的な) 静的ルートを設定することにより、ネットワーク ゲートウェイ (ルーター) 経由でローカル トラフィックをルーティングできます。

XP の IP アドレスが 192.168.0.2 で、ゲートウェイ (ルーター) のアドレスが 192.168.0.1 だとします。Windows XP のコマンド ラインから次のコマンドを実行して、すべてのローカル トラフィックを強制的にネットワーク境界を越えて行き来させることができます。データ (このシナリオでは、Wireshark はパケットを 2 回報告することに注意してください。1 回は PC を離れたとき、もう 1 回は戻ってきたときです)。

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087、たった今アクセスしました。

于 2012-03-08T12:55:07.347 に答える
11

Npcap をお試しください: https://github.com/nmap/npcap。これは WinPcap に基づいており、Windows でのループバック トラフィック キャプチャをサポートしています。Npcap は Nmap ( http://nmap.org/ ) のサブプロジェクトであるため、Nmap の開発リスト ( http://seclists.org/nmap-dev/ ) で問題を報告してください。

于 2015-08-25T13:08:58.100 に答える
9

Windowsの場合、

Wiresharkローカル ループバックのパケットをキャプチャすることはできませんが、 RawCapという非常に小さいが便利なプログラムを使用できます。

RawCap

コマンド プロンプトでRawCapを実行し、 Loopback Pseudo-Interface (127.0.0.1)を選択してから、パケット キャプチャ ファイル ( .pcap )の名前を書き込むだけです。

簡単なデモは次のとおりです。

C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
 0.     169.254.125.51  Local Area Connection* 12       Wireless80211
 1.     192.168.2.254   Wi-Fi   Wireless80211
 2.     169.254.214.165 Ethernet        Ethernet
 3.     192.168.56.1    VirtualBox Host-Only Network    Ethernet
 4.     127.0.0.1       Loopback Pseudo-Interface 1     Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File        : test.pcap
Packets     : 48^C
于 2015-12-21T23:56:31.817 に答える
6

Solaris、HP-UX、または Windows ではループバックをキャプチャできませんが、RawCapなどのツールを使用すると、この制限を非常に簡単に回避できます。

RawCap は、127.0.0.1(localhost/loopback) を含む任意の IP で raw パケットをキャプチャできます。Rawcap はpcapファイルを生成することもできます。Wiresharkpcapでファイルを開いて分析できます。

RawCap と Wireshark を使用して localhost を監視する方法の詳細については、こちらを参照してください。

于 2014-03-14T20:50:40.173 に答える
2

はい、Npcap Loopback Adapter を使用して localhost トラフィックを監視できます

于 2018-12-01T02:22:19.740 に答える