2016-07-14 14 views
-1

ネットワークを受信(または送信)するパケットをフィルタリングしたいと思います。それらのコピーは必要ありません。パケットをフィルタリングし、必要に応じてそのパケットをドロップします。だから私はイーサネット層でそのパケットにアクセスしたい、私はARPのようなパケットをフィルタリングしたい。linuxのC++でイーサネットパケットをフィルタするUbuntu

私はLinux、Ubuntuでこれを行いたいと思います。私はC++、QTを使用しています。

誰でもライブラリなどを手伝ってもらえますか?何かがこのことをする本やジュニアを描いています。以前はNETFilterを検索しましたが、それは私を助けませんでした。

ありがとうございました

+1

wiresharkを実装しますか?あなたはpcapライブラリを使用することができます..とにかくこれはあまりにも広い質問です、それは閉鎖されます – nayana

+6

人私はウィンドウマネージャと許可の制御を持つOSを書いてみたい、ライブラリを提供してください、Cで行う方法+ + – nosbor

+0

@otopolsky閉じられる? wotesharkはパケットを表示するだけのものではなく、OSに入る前にパケットに制御したいと思っています。 –

答えて

0

Qtはリンクレイヤのパケットキャプチャ機能を実装していません。 libpcapを使用して、Linuxでパケットをキャプチャできます。あなたのプログラムは、ネットワークインタフェースをそのように使うためには、ほぼ確実にroot権限が必要です。

+0

これはイーサネットレイヤーにありますか? –

+0

@ArianBはい、イーサネットはtcpdumpとOSIモデルの観点からリンク層プロトコルです。 – Sergey

0

Linux用のイーサネットネットワークドライバを作成する必要があります。ソケットレベルでは、フィルタのルールに一致するパケットだけが受け入れられ、ソケットに渡されるようにフィルタを添付します。 このlinkは良いスタートになります。

関連する問題