着信TCP / IPパケットを傍受し、Linux上でNATを実行します。

着信TCP / IPパケットを傍受し、Linux上でNATを実行します。

ファイアウォールの背後にあるどのコンピュータがパケットを送信しているかを確認したいと思います。

ファイアウォールの後ろに2台のPCがあり、NATを実行する前に(私のアルゴリズム)に基づいてファイアウォールレベルで決定を下したいとしましょう。デフォルトでは、パケットを傍受して決定を下します。どうすればいいですか?

そのためにカスタムCコードを書くにはどのツールを使うべきですか?

答え1

実際には、パケット内のデータに対して操作を実行したいのか、単にデータを送信するコンピュータに応じてデータをルーティングするのかはわかりません。

iptablesルーティングは可能ですが、非常に複雑です。皮肉なことに、これは「テーブル」であることを利用しているため、データがさまざまな「テーブル」を通過するときにデータを調べてパスを変更できます。

詳しくはこのチュートリアルをご覧ください。http://wiki.centos.org/HowTos/Network/IPTables

3つの基本テーブルがありますが、プラグイン/モジュールを介してさらに追加でき、カスタムテーブルを開発できます。

基本:

  • 入力する
  • 今後
  • 出力

したがって、パケットがボックスに入ると、実行できる「入力」テーブルを通過します。パケットがボックスから流れ出ると、「出力」テーブルを通って流れます。

詳しくはこのチュートリアルをご覧くださいiptables

関連情報