hostsファイル (%SystemRoot%\system32\drivers\etc\hosts
)を使用すると、ローカルマシンでgoogle.comをたとえば127.0.0.1にポイントできますが、たとえば、ローカルマシンで192.168.1.5を127.0.0.1にポイントしたい場合はどうしますか?それを行う方法はありますか? Windows 7のhostsファイルでそれを行うことはできますか?
これにはhostsファイルを使用できません。
これは、IPアドレスの名前のみをマップします。
私はこれを自分で試したことはありませんが、このためにrouteコマンドを悪用できると思います。
route add 192.168.1.5 127.0.0.1
これは、IPスタックに192.168.1.5のすべてのトラフィックを127.0.0.1のゲートウェイにルーティングするように指示します。もちろんそこにはゲートウェイがないので、これはトラフィックをブラックホール化するためだけに役立ちます。あなたはトラフィックで何も役立つことはできません。
HostsファイルでIPアドレスを別のIPアドレスにマッピングすることはできません。
おそらく、一部のプラットフォームの特定のファイアウォールソフトウェアでIPアドレスを書き換えることができます(おそらくLinux iptables または同等のもの)。
他の人が指摘したように、hostsファイルからこれを行うことはできません。何らかの形式のパケット書き換えが必要です。最も一般的なのは ネットワークアドレス変換 です。 NATは通常、複数のデバイスが同じ「パブリック」IPアドレスを使用できるようにするために使用されます(これは、多くの安価なホームルーターが実行できる唯一の形式です)が、より包括的ですNAT CiscoにあるようなエンジンIOSまたはLinux IPTablesは、一般的な書き換えを行うことができます。
NATはこれに対する万能の解決策ではないことに注意してください。FTPなどの一部のプロトコルは、IPヘッダー内だけでなくデータパケット内にもIPアドレスを含み、NATエンジンはこのようなプロトコルを特別に処理しません。ヘッダーを書き直すだけで問題が発生します。