Как заблокировать IP-адрес через Windows Host

Как заблокировать IP-адрес через Windows Host

Я хочу заблокировать доступ к определенному IP-адресу через хост Windows.

Это IP-адрес 41.190.8.17. А это содержимое моего файла hosts.

# localhost name resolution is handle within DNS itself.

127.0.0.1 41.190.8.17

Если я зайду в свой браузер и введу 41.190.8.17, то попаду прямо на сайт.

Пожалуйста, кто-нибудь может мне сказать, почему он это игнорирует?

решение1

Это не сработает, так как файл hosts используется только для разрешения имен через DNS. Поскольку это уже IP-адрес, Windows (или вашему приложению) не нужно выполнять поиск DNS.

Я думаю, что вам нужно заблокировать доступ к IP-адресу с помощью брандмауэра Windows. Возможноэтотможет помочь, но это зависит от используемой вами версии Windows.

решение2

Вы не можете блокировать IP-адреса через файл хоста, только разрешения домена! Если вы хотите перенаправить IP-адреса на localhost, вам придется создать правила прокси, но если вы хотите просто заблокировать трафик IP-адресов, я бы использовал это.

Сохраните это как block.bat

set ip=%1
netsh advfirewall firewall add rule name="BLOCK IP ADDRESS - %ip%" dir=in action=block remoteip=%ip%
netsh advfirewall firewall add rule name="BLOCK IP ADDRESS - %ip%" dir=out action=block remoteip=%ip%

затем из административной командной строки выполните команду block.bat 192.168.0.1 или любой другой IP-адрес, который вы хотите заблокировать. Это не перенаправит на 127.0.0.1, а просто заблокирует его.

Связанный контент