Używanie symboli wieloznacznych w nazwach w pliku hostów Windows


53

Czy istnieje sposób utworzenia domeny wieloznacznej w pliku hosts Windows?

Próbowałem tego

xxx.xxx.xxx.xxx * .somedomain.com

To nie działa, czy może powinienem użyć innej składni?

Pracuję na systemie Windows 7


1
właśnie odpowiedziałem na pytanie dotyczące robienia tego z DNSmasq na ServerFault (oczywiście nie na Windowsie, ale na routerze z DD-WRT / OpenWRT jest to wykonalne)
— quack quoteote

XP SP2 zawierał kastrację pliku hosta - securityfocus.com/archive/1/431032/30/0/wątek Przypuszczalny powód, dla którego ludzie używali go do blokowania reklam podczas przeglądania. Jest to przypuszczenie, o ile wiem, Microsoft nigdy nie ujawnił, dlaczego to zrobił i dlaczego odtąd wszystko to realizuje. Jeśli możesz umieścić serwer proxy między komputerem a Internetem, możesz umieścić blok dla tego, co chcesz.
— bvaughn

Odpowiedzi:


61

Tam nie ma. Plik hosts nie jest bardzo sprytny, musisz wymienić każdą subdomenę osobno (w tym www i no-www)


16

Odpowiedź na bardzo podobne pytanie StackOverflow działała dla mnie dobrze.

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=UserManual

Obsługa symboli wieloznacznych w XP na pliku hostów. Cieszyć się.

Zasadniczo ten program Acryl działa jako serwer proxy DNS dla komputera lokalnego. Wystarczy wskazać połączenie lokalne na 127.0.0.1, a następnie edytować plik AcrylicHosts.txt w bardzo podobny sposób jak zwykły plik hosts - tylko przy użyciu symboli wieloznacznych!


2
Akryl działa świetnie, ale może mylić, jeśli próbujesz uzyskać dostęp do maszyny z dynamicznym adresem IP. Mam maszyny podłączone do mojej sieci domowej i używam dynamicznego dns do ustawienia adresu IP dla nazwy domeny. Używam Acrylu na swoim laptopie i nie było mnie przez kilka dni, w międzyczasie zmieniło się moje ip, ale Acrylic zapamiętał go jako stary ip i nie mogłem uzyskać dostępu do strony. Ale uruchomienie programu „Wyczyść dane akrylowej pamięci podręcznej” rozwiązało problem.
— leeand00

Niestety akryl nie obsługuje aliasów DNS, co czyni mnie bezużytecznym.
— Spero,

10

Dnsmasq jest tym, czego potrzebujesz, ale nie działa całkiem dobrze w systemie Windows. Napisałem więc alternatywę dla systemu Windows o nazwie DNSAgent .

W regułach można używać wyrażeń regularnych. Istnieje również kilka zaawansowanych funkcji, takich jak dostosowywanie pamięci podręcznej TTL, niestandardowy serwer DNS, mutacja wskaźnika kompresji itp. Otwarte źródło na licencji MIT.


1

po pierwsze, zgadzam się z phoshi, że nie można zrobić tego, co chcesz w pliku hosts systemu Windows (ani na Uniksie).

po drugie, musisz przejąć kontrolę nad wynikiem zapytania do dns. jedną z opcji jest użycie własnego rozwiązania dns na routerze (dnsmasq, dnscache + tinydns, powiązanie, cokolwiek, patrz komentarz quacka) i dostosowanie lub użycie dns-resolvera w oknach, które możesz kontrolować w dowolny sposób.

patrz tutaj dla listy DNS-przeliczniki, sprawdzić na „wildcard” kolumny, może PowerDNS lub maradns lub posadis jest coś, co pasuje do Twoich potrzeb.


-1

To kolejna składnia: xxx.xxx.xxx.xxx somedomain.com

Kilka przykładów, aby to wyjaśnić:

  • 127.0.0.1. .Com ten wiersz zablokuje wszystkie wychodzące żądania kończące się na .com
  • 127.0.0.1 somesite.com zablokuje wszystkie wychodzące żądania kończące się na somesite.com
  • 12.2.3.1 www.dns.com poprowadzi wszystkie wychodzące zapytania kończące się na www.dns.com do 12.2.3.1

Blokujesz / prowadzisz wszystkie adresy URL drugiego (trzeciego, czwartego ...) poziomu za pomocą adresu URL najwyższego (drugiego, trzeciego ...) w pliku hosts.


Biorąc pod uwagę ostatnie zdanie, zakładam, że www.example.comnie jest blokowany przez pierwszy wiersz, ale tylko podczas dodawania 127.0.0.1 example.com?
— Arjan

9
Moonfern, nie zgadzam się z twoją listą. 127.0.0.1 somesite.com NIE ZABLOKUJE wszystkich wychodzących żądań DNS kończących się na somesite.com, wszystko co zablokuje to somesite.com , a nie www.somesite.com lub subdomain.somesite.com lub podobne.

1
Z pewnością nie jest tak w Windows, Moonfern.
— Owen Blacker

-3

Jeśli chcesz zablokować każdą subdomenę w somedomain.com, zastanów się, czy pominąć „*”. osiągnie to, co chcesz.

Edycja twojego przykładu:

xxx.xxx.xxx.xxx somedomain.com

„Zastanów się, czy ...” jest dość niejednoznaczne. Co dokładnie polecacie jako rozwiązanie?
— fixer1234,

Przeczytaj uważnie pytanie ponownie. Twoja odpowiedź nie odpowiada na pierwotne pytanie.
— DavidPostill

1
fixer1234 - Nie wiem, na czym polega problem, który plakat chce rozwiązać, a pytają, jakby to rozwiązało jawne symbole wieloznaczne. „Zastanów się, czy ...” sugeruje coś, co może działać. Jest łatwy do wypróbowania i wymaga kilku znaków. Wiem, że to działa w niektórych przypadkach. Ponieważ nie mam wystarczającego kontekstu, aby zrozumieć problem, nie mogę polecić rozwiązania. David Postill - wierzę, że moje adresy odpowiedzi są związane z pierwotnym pytaniem. Ale być może Twoja własna odpowiedź będzie działać lepiej.
— SquarePowder
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.