私はここ数日、マニュアル ページ、ドキュメント、その他 Google が持ち出したあらゆるものを読んで過ごしましたが、最初よりもさらに混乱していると思います。
私がやりたいことは次のとおりです。C/C++ を使用した Linux システムでワイヤレス インターフェイス (802.11) を介して、独自のレイヤー 3-x プロトコルでデータ パケットを送受信したいと考えています。ここまでは順調ですね。ビーコン、関連付け、または AP/SSID 関連のものは必要ありません。ただし、データ送信については、MAC レイヤーが「通常どおり」に動作するようにしたいと考えています。つまり、ユニキャスト パケットが ACK され、再送信され、バックオフされます。また、拡張 QoS 機能 (802.11e と 4 つのキューと異なるアクセス カテゴリ)。一方、プロミスキャス モードは問題ではありません。ブロードキャスト パケットと特定のステーションに送信されるパケットのみが必要です。
それについて行く正しい方法は何ですか?raw ソケット アクセスに関するドキュメントのほとんどは、ネットワーク スニッフィングに焦点を当てているようで、役に立ちません。私はしばらくの間モニターモードをいじっていましたが、これまでに読んだことから、受信したパケットはモニターモードなどでACKされません.モニターモードがなければ、代替手段は何ですか? アドホック モードと unix raw ソケットを使用していますか? それとも、ドライバーをいじる必要がありますか?
私は完全な解決策を探しているのではなく、どこから始めるべきか、いくつかの良いアイデアを探しています。socket(2)、socket(7)、および packet(7) の man ページを読みましたが、さまざまなモードでの MAC 層の動作に関しては役に立ちませんでした。
前もって感謝します。