生のソケットとlibcapの使い方についてちょっと混乱しました。 Can、誰でも簡単に両方の使用の利点を指摘します。私はいくつかのリンクを読んだが、それは私を混乱させる。libpcapはその下にrawソケットを使用していますか?
答えて
「libpcap」と「rawソケット」は異なるトピックです。
LibpcapはLinux用のパケットキャプチャライブラリで、eth0などのネットワークインターフェイスを通過するトラフィック/パケットをキャプチャするために使用されます。
Windowsでは、Winpcapライブラリも同じことを行います。
Rawソケットは、OSによって提供されるソケットAPIの機能であり、アプリケーションで定義されたヘッダでパケットを送信するために使用でき、OSでは定義できません。したがって、rawソケットを使用して、IP、TCPヘッダーを指定してパケットを送信することができます。
Rawソケットは常にLinux上で使用できます。 Windowsのrawソケットは、Windows XPおよびWindows XP(SP1)でのみ使用できました。
winpcapライブラリには、Windows上でwinpcapを使用してrawソケット機能を実現できる任意のコンテンツを持つパケットを送信する機能があります。
libpcapは異なるオペレーティングシステムで異なるメカニズムを使用します。 Linuxの場合、インタフェースおよびのLinuxリンク層タイプ(ARPHRD_値)を知っているかどうかによって、そのリンク層タイプのインタフェースが有用なリンク層ヘッダ(PPP)を生成するかどうかによって、PF_PACKET rawソケットまたはcookedソケットが使用されますインターフェースはネットワーク層プロトコル識別子を見ることができません)。 Irixでは、RAWPROTO_SNOOPプロトコルでPF_RAWソケットを使用します。他のシステムでは、rawソケットはまったく使用しません。
Rawソケットは、リンクレイヤーを気にすることなく(つまり、ネットワークデバイスドライバーではなくIPレイヤーにプラグインする)未処理のIPv4パケットの送受信など、さまざまな目的で使用できます。 rawリンク層にアクセスする必要がある場合、ほとんどのOSのrawソケットはそれをサポートしていません(前の段落のLinuxとIrixは明白な例外です)。しかし、libpcapはそうします。
- 1. Linuxでrawソケットを使用してリスニング用のTCPソケットを作成できますか?
- 2. rawソケットの上にプロトコルを実装し、O_DIRECTを使用する
- 3. rawソケットとWinPcapを使用してHTTPリクエストを送信します
- 4. Rawソケットを使用してIP、IGMPパケットを作成している間に、それらのパケットの16進値をどのようにフィリングしますか?
- 5. ルア:Rawソケット
- 6. BSDオペレーティングシステムのRawソケット
- 7. Rails 3アプリケーションでraw SQLクエリを使用していますか?
- 8. LinuxでCでRAWソケットを使用してマルチキャストを送信する
- 9. rawソケットを使用してjavaで入力のオートコンプリートを行う方法
- 10. ソケット - IPPPROTO_TCP対0使用して間のカバーの下に違いは何
- 11. ohrwurmはlibpcapとarpspoofを使用してRTPトラフィックを破損させますか?
- 12. rawソケットとudpソケットの読み取り
- 13. Boost.AsioでSSLソケットと非SSLソケットを同時に使用していますか?
- 14. vconfigインターフェイスでlinux rawソケットを使用する
- 15. setsockopt()システムを使用したデバイスバインドのrawソケットはFedora Core 6(2.6.18-1.2798.fc6)
- 16. Linuxのrawソケットのioctl FIOREAD
- 17. rawソケットが作成されないのはなぜですか?
- 18. PythonのRawソケットとsendto
- 19. Rawソケットのアクセス許可IPhone?
- 20. パイソンICMP rawソケットの実装
- 21. iperfツールは、rawソケットのスループットを測定するために使用できますか?
- 22. そうでない場合は、所有権とrawポインタにunique_ptrを使用しますか?
- 23. UDPソケットにクライアントを登録するにはTCPソケットを使用しますか?
- 24. iptablesでRawソケットにリダイレクトするTPROXY
- 25. libpcap速度制限を使用してパケットを送信する
- 26. LIBAVCODECを使用してRAW RAW画像バッファをJPEGに変換する
- 27. WebソケットはPHPで使用するのに適していますか?
- 28. Scalaでlibpcapを使用する
- 29. C APIとrawソケットを取得する
- 30. RAWソケット - C# - フラグを設定する
Windowsでは、低レベルのネットワークドライバを使用してデータをキャプチャします。 RAWソケットは、現代版のWindowsでは管理者に制限されています。 –