私は、リモート サーバー (パブリック IP を使用 - ただし、このサーバーはもう存在しません) からダウンロードしている構成情報を傍受して、古いネットワーク ハードウェアにアクセスしようとしていました。デバイスが起動すると、リモート サーバーに HTTP GET 要求が送信されます。このサーバーの IP アドレスを特定することができました (ネットワーク インターフェイスをキャプチャすることにより)。ローカル マシンで http Web サーバーを模倣して、この GET 要求がリモート サーバーに対して行われたときに、代わりにローカル Web サーバーがそれに応答するようにするにはどうすればよいですか (カスタム構成情報を使用)。Perl でこれを実現できますか。HTTP::Server::Simple? 役に立つ読み物があれば教えてください。
私は上の図のようなトポロジを使用しています。5が私が話しているデバイスであると仮定します(2つのクライアントマシンは無視してください)。Linuxを実行しているホストマシンのeth5ポートからeth3ポートに流れるトラフィックを傍受できますか?ポート間の接続をスヌーピングしてトラフィックを注入するにはどうすればよいですか。元の質問はここここに移動することが推奨されました。[画像はマイクロソフトの所有物です]
答え1
接続しようとしている IP アドレスがわかっている場合は、それを eth ポート 5 のインターフェイスにエイリアスとして追加するだけです。すると、マシンはその IP アドレスとして応答するようになり、任意の HTTP サーバーを使用してファイルを送り返すことができるようになります。
Linux ボックスには、eth0 と eth1 というイーサネット インターフェイスがあると仮定します。Eth0 はアップストリーム (ISP、ケーブル モデム、DSL など) に接続され、eth1 はローカル ネットワークです。次のようにします。
sudo ifconfig eth1:0 ip.address.you.need up
ここで、Linux ボックスが LAN のデフォルトの GW であると仮定すると、LAN 上のどのデバイスがip.address.you.need
ボックスにアクセスしようとしても、ルーティング テーブルに '/32' ルートとして表示されるため、インターネットにさえ接続されないため、応答します。その後、その IP アドレスをリッスンする Web サーバーをセットアップするだけで、必要なファイルをサーバーに返すことができます。
永続的に設定する必要がある場合は、使用している Linux のバージョンを知る必要があります。バージョンごとに設定場所が若干異なるためです。