私のコンピュータとルーター間のトラフィックを傍受するネットワーク盗聴装置を作成したいと思います。 2つのイーサネットポートがあり、Linuxを実行しているRaspberry Piまたは同様のデバイスを想像してみてください。ルータとコンピュータの間に接続すると、ルータとPC間のトラフィックを中継する簡単な「スイッチ」として機能しました。そのトラフィックを傍受したい。つまり、パターンが一致したときにトラフィックを監視し、いくつかのデータを記録したいと思います。
できればパケットも修正できればいいようです。また、好ましくは、自分のデバイスがネットワーク上で「見えない」もの、つまりルータとPCの間にあるネットワークデバイスとして検出されないことをお勧めします。しかし、それが不可能な場合は、ネットワークスイッチとして認識しても構いません。
私はこれがマイナーなプロジェクトではないかもしれないことを知っているので、ここで全体のレシピを期待していません。どこから始めるべきか、どのような可能性があるのかなどのガイドラインを探しています。
前回確認したとき、Windowsはネットワーキングに関してはあまりにも制限的であり、Windowsデバイスとして構築することは不可能です(イーサネットポートの数に関係なく)。一方、Linuxはより優れた能力を持っていますが、私が尋ねた人の中には、非常に深刻なシステムプログラミング(カーネル操作など)がなければ不可能かもしれないと言いました。私のLinuxコーディング技術は、Pythonの汎用(つまりシステムレベルではない)プログラミングに限定されています。
では、どうすればこれが可能になりますか?そのようなデバイスにどのようなアーキテクチャを提案できますか?このようなプロジェクトを構築するには、Linuxネットワークプログラミングについて何を学ぶ必要がありますか?簡単に言うと…どこから始めるべきですか?
私の紹介:私はネットワーキングの「開発者レベル」(つまり中級)の知識とWiresharkと同様のツールの経験がありますが、Linuxの経験は非常に限られたシニアソフトウェアエンジニア(.Net / Web Dev)です。