TL;DRは下部にあります
私は、2台のラップトップ(両方ともUbuntuを実行している)が、APまたはアドホックのいずれかによってワイヤレスネットワークを介して接続されていなくても、基本的なメッセージをやり取りできるようにする方法を模索してきました。 。アドホックネットワークは私が探しているものではないことをここで繰り返し述べたいと思います。私はここで多くの同様の質問を答えとして見てきました。
私が求めているのは、どうすればこれを達成できるかということだと思います。私が本当に必要としているのは、あるコンピュータがパケットを送信できるようにし、次に別のコンピュータが何らかのパケットスニファを介してそれを受信できるようにすることです。
現在:両方のラップトップをモニターモード(aircrack-ngのairmon-ngから作成されたmon0インターフェイス経由)にして、近くのトラフィックをスニッフィングできるようにしています(Wireshark、tcpdump、tcpcump.orgのサンプルlibpcapコードを使用し、rawソケットを開いてすべてのパケットを印刷します。何か別のことをしている/何かを除外している可能性があると思ったという理由だけで、それぞれを試しました)。また、rawソケットを開いて、細工されたイーサネットフレームを空中に送信するという非常に基本的なプログラムもありますが、2台のマシンに相手のパケットを表示させることができません。各マシンで実行されているスニファーは、そのマシンから出て行くパケットのみを見ることができます(近くのビーコンに加えて/エリア内のwifiからのトラフィックを制御します)。
重要かもしれないことに注意するいくつかの事柄は次のとおりです。
-送信しているパケットは、Wireshark(送信マシン上のみ)に不正な形式の802.11パケットとして表示されます(おそらく、今のところジャンクデータで埋めているだけだからです)。私は他のラップトップもそれらを不正な形式のパケットと見なすだろうという印象を受けましたが、何も得られません
-私が使用しているソケットは、socket(PF_PACKET、SOCK_RAW、ETH_P_ALL)の呼び出しからのものです。生のソケットは私が最近気付いたものなので、それらがどのように機能するか誤解する可能性がありますが、私の印象では、レイヤー2パケットを手作業で作成し、ワイヤー/空気に直接出荷できます。
なぜ私がこのようなことをしたいのか知りたいのなら、それは私が取り組んでいるプロジェクトの好奇心と研究の一部です。アドホックネットワークをセットアップするプロセスを合理化/自動化したいのですが、ここでやろうとしているのは、ラップトップが作成しようとしているアドホックネットワークの詳細を把握するために小さな交換を行うことです。次に、一方の人が明示的にネットワークを設定したり、両方の人にネットワークの名前などを事前に決定させたりして、両方のコンピュータに常にその特定のネットワークへの接続を試みさせる代わりに、そのネットワークを自動的に作成/参加します。
コードが機能するかどうかではなく、このプロセスを正しい方法で進めているかどうか、誰かが私の(非常に基本的な、Stack Overflowの別の投稿から取得した)rawソケットコードを投稿すると役立つと思われる場合は、もっと興味があります。私は出来ます。
編集:これを機能させることができれば、手順を含むコードの完全なセットを投稿できてうれしいです。私はインターネット上でこのトピックに関する多くの有用な情報を見つけることができませんでした、そして私は同じことをしようとしている将来の人々のためにそれを載せたいと思います。
TL; DRあるラップトップからパケットを送信し、ある種のパッケンスニファを介して別のラップトップでそれをピックアップしたいと思います。Wi-Fiネットワークやアドホックネットワークは含まれていません。少量のデータを送信する目的でAPのビーコンフレーム(または同様のもの)をスプーフィングすることに似たもの。
編集2:少し考えた後、おそらく私が探しているのは、ある種の生の802.11の使用ですか?Wi-Fiラジオを直接制御できますか?そのようなことは可能ですか?