Menggunakan wildcard dalam nama dalam file host Windows

54

Apakah ada cara untuk membuat domain wildcard di file host Windows.

Saya mencoba ini

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

Ini tidak berfungsi, apakah mungkin ada beberapa sintaks lain yang harus saya gunakan?

Saya bekerja di Windows 7

Saif Bechan
sumber
1
saya baru saja menjawab pertanyaan tentang melakukan ini dengan DNSmasq di ServerFault (tidak pada windows, jelas, tetapi pada router yang menjalankan DD-WRT / OpenWRT itu bisa dilakukan)
quack quixote
XP SP2 termasuk kastrasi dari file host - securityfocus.com/archive/1/431032/30/0/threaded Alasan diasumsikan adalah orang menggunakannya untuk memblokir iklan saat browsing. Ini adalah dugaan sejauh yang saya tahu Microsoft tidak pernah mengungkapkan mengapa mereka melakukan ini dan mengapa mereka terus maju untuk semuanya sejak saat itu. Jika Anda dapat memasukkan server proxy antara PC dan internet, maka Anda dapat memblokir apa yang Anda inginkan.
bvaughn

Jawaban:

61

Tidak ada. File host tidak terlalu pintar, Anda harus mendaftar setiap subdomain satu per satu (termasuk www dan no-www)

Phoshi
sumber
16

Jawaban untuk pertanyaan StackOverflow yang sangat mirip bekerja dengan baik untuk saya.

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

Dukungan wildcard pada XP di hostsfile. Nikmati.

Pada dasarnya, program ini Acrylic bekerja sebagai proxy DNS untuk komputer lokal Anda. Arahkan saja Local Area Connection Anda ke 127.0.0.1, lalu edit AcrylicHosts.txt dengan cara yang sangat mirip dengan file host biasa - hanya dengan wildcard!

Curtis Gibby
sumber
2
Akrilik bekerja dengan baik, tetapi dapat membingungkan Anda jika Anda mencoba mengakses mesin dengan alamat IP dinamis. Saya memiliki mesin yang terhubung ke jaringan rumah saya, dan saya menggunakan dns dinamis untuk mengatur ip untuk nama domain. Saya menggunakan Acrylic di laptop saya dan saya pergi selama beberapa hari, sementara itu ip saya berubah, tetapi Acrylic mengingatnya sebagai ip lama, dan saya tidak dapat mengakses situs tersebut. Tetapi menjalankan program "Membersihkan Data Cache Akrilik" mengatasi masalah tersebut.
leeand00
Sayangnya akrilik tidak mendukung alias DNS, yang membuatnya tidak berguna bagi saya.
Spero
11

Dnsmasq adalah yang Anda butuhkan tetapi tidak bekerja dengan baik di Windows. Jadi saya menulis alternatif pada Windows yang disebut DNSAgent .

Anda dapat menggunakan ekspresi reguler dalam aturan. Ada juga beberapa fitur canggih seperti menyesuaikan cache TTL, server DNS non-standar-port, mutasi pointer kompresi, dll. Buka bersumber di bawah lisensi MIT.

Stackia
sumber
1

pertama, saya setuju dengan phoshi bahwa itu tidak mungkin untuk melakukan apa yang Anda inginkan di file hosts-windows (baik di unix).

kedua, Anda harus mendapatkan kontrol atas hasil permintaan ke dns. satu pilihan adalah menggunakan dns-resolving Anda sendiri di router Anda (dnsmasq, dnscache + tinydns, bind, apa pun, lihat komentar quack) dan atur atau gunakan dns-resolver pada windows yang dapat Anda kontrol sesuai keinginan.

lihat di sini untuk daftar dns-resolvers, periksa kolom "wildcard", mungkin powerdns atau maradns atau posadis adalah sesuatu yang sesuai dengan kebutuhan Anda.

akira
sumber
-1

Ini sintaks lain: xxx.xxx.xxx.xxx somedomain.com

Beberapa contoh untuk menjelaskannya:

  • 127.0.0.1 .com baris ini akan memblokir semua dnsrequest keluar yang diakhiri dengan .com
  • 127.0.0.1 somesite.com akan memblokir semua dnsrequest keluar yang berakhir dengan somesite.com
  • 12.2.3.1 www.dns.com akan mengarahkan semua dnsrequest keluar keluar dengan www.dns.com hingga 12.2.3.1

Anda memblokir / memimpin semua url tingkat kedua (ketiga, keempat ...) dengan url tingkat atas (kedua, ketiga ...) dalam file hosts.

moonfern
sumber
Mengingat kalimat terakhir, saya menganggap www.example.comtidak diblokir oleh baris pertama, tetapi hanya saat menambahkan 127.0.0.1 example.com?
Arjan
9
moonfern, saya tidak setuju dengan daftar Anda. 127.0.0.1 somesite.com TIDAK AKAN memblokir semua permintaan DNS keluar yang diakhiri dengan somesite.com, semua yang akan diblokir adalah somesite.com , bukan www.somesite.com atau subdomain.somesite.com atau sejenisnya.
1
Itu jelas tidak terjadi pada Windows, moonfern.
Owen Blacker
-3

Jika Anda ingin memblokir setiap subdomain di somedomain.com, maka pertimbangkan apakah menghilangkan "*." akan mencapai apa yang Anda inginkan.

Mengedit contoh Anda:

xxx.xxx.xxx.xxx somedomain.com
SquarePowder
sumber
"Pertimbangkan apakah ..." cukup ambigu. Apa, tepatnya, yang Anda rekomendasikan sebagai solusinya?
fixer1234
Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal.
DavidPostill
1
fixer1234 - Saya tidak tahu apa masalah yang ingin dipecahkan oleh poster, sementara mereka bertanya seolah-olah wildcarding eksplisit akan mengatasinya. "Pertimbangkan apakah ..." menyarankan sesuatu yang mungkin berhasil. Sangat mudah untuk dicoba, dan membutuhkan beberapa karakter. Saya tahu ini berfungsi dalam beberapa kasus. Karena saya tidak memiliki konteks yang cukup untuk memahami masalah, saya tidak dapat merekomendasikan solusi. David Postill - Saya percaya jawaban saya ditujukan dan sesuai dengan pertanyaan awal. Tetapi mungkin jawaban Anda sendiri akan bekerja lebih baik.
SquarePowder