hosts file (%SystemRoot%system32driversetchosts
) позволяет сделать google.com укажите, например, 127.0.0.1 на вашей локальной машине, но что, если бы я хотел сделать, скажем, 192.168.1.5 указать на 127.0.0.1 на моей локальной машине? Есть ли способ сделать это? Можно ли это сделать в файле hosts в Windows 7?
Сопоставление одного IP-адреса с другим в файле hosts
3 ответа
вы не можете использовать для этого файл hosts.
Это сопоставляет только имена на IP-адресах.
Я не пробовал это сам, но я бы предположил, что вы можете оскорблять команду Route для этого:
route add 192.168.1.5 127.0.0.1
это указывает стеку IP маршрутизировать весь трафик для 192.168.1.5 к шлюзу в 127.0.0.1. Конечно, там нет шлюза, поэтому это служит только для трафика blackhole. Вы не можете сделать ничего полезного с трафиком.
Как все остальные отметили, Вы не можете сделать это через файл hosts. Вам нужна некоторая форма перезаписи пакета: наиболее распространенным является Преобразование Сетевых Адресов. Нат обычно используется, чтобы позволить нескольким устройствам использовать один "публичный" IP-адрес (и это единственная форма, что многие дешевые роутеры могут делать), но более комплексный нац двигатель как это сделано в Cisco IOS или Linux с помощью iptables можно сделать обобщенный переписывание.
обратите внимание, что NAT не является панацеей решение для этого: некоторые протоколы, такие как FTP включают IP-адреса в пакетах данных, а также в IP-заголовке, и если механизм NAT не обрабатывает такие протоколы специально, просто переписывание заголовка вызовет вещи сломаться.
вы не можете сопоставить IP-адрес другому в файле hosts.
вы, вероятно, можете переписать IP-адреса в некоторых брандмауэрах на некоторых платформах (возможно, в Linux iptables или эквивалент).
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]