Ich möchte den Zugriff auf eine bestimmte IP-Adresse über den Windows-Host blockieren.
Dies ist die IP-Adresse 41.190.8.17
. Und dies ist der Inhalt meiner Hostdatei.
# localhost name resolution is handle within DNS itself.
127.0.0.1 41.190.8.17
Wenn ich in meinem Browser öffne und eingebe 41.190.8.17
, werde ich direkt zur Site weitergeleitet.
Kann mir bitte jemand sagen, warum das ignoriert wird?
Antwort1
So funktioniert es nicht, da die Hosts-Datei nur zur Namensauflösung über DNS verwendet wird. Da es sich bereits um eine IP-Adresse handelt, muss Windows (oder Ihre Anwendung) keine DNS-Suche durchführen.
Ich glaube, Sie müssen den Zugriff auf die IP-Adresse mithilfe der Windows-Firewall blockieren. VielleichtDaswürde helfen, aber es hängt davon ab, welche Windows-Version Sie verwenden.
Antwort2
Sie können IP-Adressen nicht über die Hostdatei blockieren, nur Domänenauflösungen! Wenn Sie IPs an den lokalen Host weiterleiten möchten, müssen Sie Proxy-Regeln erstellen, aber wenn Sie nur den IP-Adressverkehr blockieren möchten, würde ich dies verwenden.
Speichern Sie dies als 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%
Führen Sie es dann über eine administrative Befehlszeile
block.bat 192.168.0.1
oder die IP-Adresse aus, die Sie blockieren möchten. Dadurch wird keine Weiterleitung zu 127.0.0.1 durchgeführt, sondern es wird nur blockiert.