Besser einen Host auf 0.0.0.0 als auf 127.0.0.1 blockieren?

11

Ich habe einige Hosts, die ich in meiner /etc/hostsDatei blockieren möchte . Dazu muss ich eine falsche IP-Adresse definieren, in die die DNS-Abfragen aufgelöst werden.

Die meisten Tutorials, die ich bisher gesehen habe, werden 127.0.0.1als Lösung dafür erwähnt. Aber ich habe mich gefragt, ob es vielleicht eine bessere oder eine andere Adresse gibt, die die Verbindung möglicherweise schon früher verwirft.

Also habe ich darüber nachgedacht, 0.0.0.0in meiner hostsDatei zu verwenden. Denken Sie, dass dies genauso funktionieren würde wie 127.0.0.1das Blockieren bestimmter Hosts?

comfreak
quelle
Wenn auf localhost kein Webserver ausgeführt wird, erhalten Sie wahrscheinlich das gleiche Ergebnis. (Der Webserver reagiert möglicherweise, wenn er vorhanden ist.) Ich denke, 0.0.0.0 wäre etwas schneller, da Ihr Computer die Anfrage nicht bearbeiten muss.
Cascer1

Antworten:

7

Unter Windows gibt es einen Unterschied: Pakete, an die gesendet 127.0.0.1wird, bombardieren am Ende jeden Server, den Sie auf Ihrem Computer ausgeführt haben (und Sie führen möglicherweise einen Server aus, ohne es zu wissen ), während der Versuch, Pakete zu senden 0.0.0.0, sofort mit dem Fehlercode 1214( ERROR_INVALID_NETNAME ) zurückgegeben wird.

TL; DR: Verwenden 0.0.0.0

kinokijuf
quelle
Das ist es was ich meinte. Ich denke jedoch, dass dieses Verhalten auf allen modernen Betriebssystemen gleich ist. Ich war mir nur nicht sicher, ob es ein Problem mit der Rücksendung gibt 0.0.0.0, weil möglicherweise eine Software diese unerwartete Adresse nicht verarbeiten kann.
Comfreak
1

Sie sind (normalerweise) gleich, und die Pakete enden am Ende gleich: Sie bombardieren Ihren eigenen Host mit den Anforderungen und einige Zeit und Verkehr (auf der lokalen Schnittstelle) verschwenden eine winzige Menge an Ressourcen. (Gleiches gilt für jede Adresse in 127.0.0.0/8, z. B. 127.2.3.4.)

Übrigens funktioniert es nur dann gut, wenn Ihr Host den Dienst, den Sie blockieren möchten, nicht ausführt (z. B. zum Blockieren von Webservern, während Ihr Host über einen Webserver verfügt). Andernfalls erhalten Sie Antworten von Ihrem eigenen Server. Die Verwendung einer definitiv nicht vorhandenen Adresse (z. B. 192.168.255.254) würde dies verhindern, jedoch zu Verzögerungen führen, da der Host für die Verbindungen nicht erreichbar ist.

Das Blockieren durch eine Firewall funktioniert normalerweise besser. :-)

Grinsen
quelle