Wie habe ich es geschafft, meine Mac OS X-Hosts zu manipulieren?

1534
alex_c

Vor einiger Zeit habe ich reddit.com in meinen Hosts auf 127.0.0.1 gesetzt, weil es viel zu viel Zeit versank. Ich kann mich nicht genau erinnern, wie ich es eingestellt habe - ich weiß, dass ich einige Probleme damit hatte und ein paar verschiedene Dinge ausprobiert habe, bevor ich die "richtige" Methode gefunden habe.

Egal was ich mache, ich kann es nicht deaktivieren oder auf etwas anderes einstellen - es ist irgendwie auf 127.0.0.1 "hängen geblieben".

$ sudo nano /etc/hosts Password: 

Ich füge diese zwei Zeilen hinzu:

208.96.53.70 reddit.com 208.96.53.70 reddit2.com 

Speichern, beenden und dann:

$ dscacheutil -flushcache $ ping reddit.com PING reddit.com (127.0.0.1): 56 data bytes $ ping reddit2.com PING reddit2.com (208.96.53.70): 56 data bytes 

Dasselbe, wenn ich reddit.com überhaupt nicht spezifiziere.

Was vermisse ich?? Ich habe keinen anderen Eintrag für reddit.com in meiner hosts-Datei. Es ist kein Router- oder ISP-Problem - andere Computer auf demselben Router sind in Ordnung. Wo könnte es sonst definiert werden?

Der Vollständigkeit halber habe ich alles von meinen Gastgebern gesäubert, und es enthält nur Folgendes:

## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 
0
Welche IP-Adresse gibt Ihnen "dig reddit.com"? Steve Folly vor 14 Jahren 0
reddit.com. 6 IN A 216.207.68.88 reddit.com. 6 IN A 216.207.68.72 (Ich habe 208.96.53.70 von einer Google-Suche erhalten, nur zum Testen. Wahrscheinlich nicht mehr aktuell.) alex_c vor 14 Jahren 0
Versuchen Sie 'dscacheutil -cachedump -entries host' als Administrator. Ist reddit.com dort und wenn ja, in welchem ​​DS-Knoten wurde es gefunden? Steve Folly vor 14 Jahren 2

3 Antworten auf die Frage

3
Gordon Davisson

Es hört sich an, als hätten Sie den Host-Eintrag in DSLocal und nicht in / etc / hosts erstellt. Um dies herauszufinden, führen Sie Folgendes aus:

dscl /Search -read /Hosts/reddit.com 

Es sollte mit so etwas zurückkommen:

AppleMetaNodeLocation: /Local/Default IPAddress: 127.0.0.1 RecordName: reddit.com RecordType: dsRecTypeStandard:Hosts 

Siehe die AppleMetaNodeLocation? Das sagt Ihnen, woher die Informationen kommen. Wenn es heißt /BSD/local, ist es in / etc / hosts; Wenn es sagt /Local/Default(was ich vermute, wird es das sein), ist dies der lokale Standard-Verzeichnisknoten, alias DSLocal. Wenn es sagt <dscl_cmd> DS Error: -14136 (eDSRecordNotFound), dann habe ich keine Ahnung, was Sie getan haben.

Vorausgesetzt der Eintrag kommt von DSLocal, ist es ziemlich einfach zu entfernen:

sudo dscl /Local/Default -delete /Hosts/reddit.com 
Vielen Dank, Sir - das ist es genau! Würde abstimmen, aber noch kein Vertreter :) alex_c vor 14 Jahren 0
1
Tyler

Versuchen

dscacheutil -flushcache ping reddit.com 

und melden Sie sich zurück.

Schon getan - siehe oben. Soweit ich das beurteilen kann, sollte es den Trick tun, aber das ist es nicht, deshalb bin ich verblüfft. alex_c vor 14 Jahren 0
Wow, es tut mir leid, dass ich beim Lesen anscheinend darüber gesprungen bin. Ich würde vielleicht für reddit.com in / etc grep und sehen, was kommt. Tyler vor 14 Jahren 0
0
Sopoforic

Es scheint, dass Sie laufen müssen

sudo niload -v -m hosts . < /etc/hosts 

Nach dem Aktualisieren der hosts-Datei, wenn die Änderungen übernommen werden sollen.

Ich denke, das war für ältere Versionen von Mac OS X, ich verwende 10.5.7 - "Befehl nicht gefunden" auf meiner. alex_c vor 14 Jahren 0