2

問題は、pCapライブラリでローカルシステムによって生成されたパケットをキャプチャできるかどうかです。ネットフィトラーフックのようなものですNF_IP_LOCAL_OUTが、ユーザースペースにありますか?
pCapがこれをサポートできない場合、サポートされているライブラリはありますか?

Webを見ると、pCapにはsetDirectionという関数があり、トラフィックの方向に応じてキャプチャするトラフィックを設定するという人もいますが、多くの人はこの関数はWindowsのみにあると言いました。そして、私が必要なことを実行できるかどうかをテストするためだけに、pCapについて学ぶ時間は少し限られています。

4

3 に答える 3

3

問題は、pCapライブラリでローカルシステムによって生成されたパケットをキャプチャできるかどうかです。

はい。実際、デフォルトでそれらをキャプチャします。libpcapの新しいバージョンでは、を呼び出すことでこれを無効pcap_setdirection()にすることができますが、デフォルトでは、キャプチャしているインターフェイスで着信パケットと発信パケットの両方をキャプチャします。 pcap_setdirection()WinPcapの新しいバージョンに存在しますが、エラーを返すだけです。WinPcapのみのフラグがあり、pcap_open()発信パケットのキャプチャを無効にできます。

于 2012-12-24T22:38:57.957 に答える
1

私は確かにtcpdump(Linux上)を使用して、ローカルインターフェイス上のトラフィックをキャプチャし、自分のマシンから発信しています。tcpdumpはlibpcapを使用するため、これが可能である必要があります。

ローカルパケットをキャプチャするようにlibpcapを構成する方法を正確に伝えることができないため、これはかなりごみの答えだと思います。ただし、tcpdump自体を使用するか、コードを確認することで、tcpdumpを開始することをお勧めします[もちろん、かなり大きく複雑ですが、tcpdumpを作成するために必要な設定がわかればやりたいことをしてから、tcpdumpにコードを追加して、同じことで使用する設定を出力することができます]。

繰り返しになりますが、「コードを提供」しなかったことについて少しお詫びします。

于 2012-12-24T09:34:06.423 に答える
0

また、dumpcap -i <capture interface>は、ライブトラフィックをキャプチャします。

Dumpcapは、ネットワークトラフィックダンプツールです。ライブネットワークからパケットデータをキャプチャし、ファイルにパケットを書き込むことができます。Dumpcapのネイティブキャプチャファイル形式はlibpcap形式であり、Wireshark、tcpdump、およびその他のさまざまなツールで使用される形式でもあります。

于 2012-12-24T09:57:35.133 に答える