การใช้สัญลักษณ์แทนในชื่อในไฟล์โฮสต์ Windows


53

มีวิธีการสร้างโดเมนไวด์การ์ดในไฟล์โฮสต์ Windows หรือไม่

ฉันลองสิ่งนี้

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

สิ่งนี้ใช้ไม่ได้อาจมีไวยากรณ์อื่นที่ฉันควรใช้หรือไม่

ฉันกำลังทำงานบน Windows 7


1
ฉันเพิ่งตอบคำถามเกี่ยวกับการทำเช่นนี้กับ DNSmasqบน ServerFault (ไม่ใช่ใน windows แน่นอน แต่ในเราเตอร์ที่ใช้ DD-WRT / OpenWRT มันทำได้)
quack quixote

XP SP2 รวมการตัดอัพไฟล์โฮสต์ - securityfocus.com/archive/1/431032/30/0/threaded เหตุผลที่สันนิษฐานว่าเป็นคนที่ใช้มันเพื่อบล็อกโฆษณาในขณะที่เรียกดู นี่คือการคาดเดาเท่าที่ฉันรู้ว่า Microsoft ไม่เคยเปิดเผยว่าทำไมพวกเขาถึงทำเช่นนี้และทำไมพวกเขาถึงทำทุกสิ่งตั้งแต่นั้นมา หากคุณสามารถใส่พร็อกซีเซิร์ฟเวอร์ระหว่างพีซีของคุณกับอินเทอร์เน็ตคุณสามารถบล็อกสิ่งที่คุณต้องการได้
bvaughn

คำตอบ:


61

นั่นไม่ใช่. ไฟล์โฮสต์ไม่ฉลาดมากคุณต้องแสดงรายการโดเมนย่อยทุกรายการแยกกัน (รวมถึง www และไม่มี www)


16

คำตอบสำหรับคำถาม StackOverflow ที่คล้ายกันนั้นทำงานได้ดีสำหรับฉัน

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

การสนับสนุนตัวแทนใน XP ที่ hostsfile สนุก.

โดยทั่วไปโปรแกรมนี้Acrylicทำงานเป็นพร็อกซี DNS สำหรับเครื่องของคุณ เพียงแค่ชี้ Local Area Connection ไปที่ 127.0.0.1 จากนั้นแก้ไข AcrylicHosts.txt ในลักษณะที่คล้ายกันมากกับไฟล์โฮสต์ปกติ - เฉพาะด้วยสัญลักษณ์แทน!


2
Acrylic ใช้งานได้ดี แต่อาจทำให้คุณสับสนหากคุณพยายามเข้าถึงเครื่องด้วยที่อยู่ IP แบบไดนามิก ฉันมีเครื่องที่เชื่อมต่อกับเครือข่ายในบ้านของฉันและฉันใช้ไดนามิก DNS เพื่อตั้งค่า IP สำหรับชื่อโดเมน ฉันใช้คริลิคบนแล็ปท็อปของฉันและฉันก็หายไปสองสามวันในเวลาที่เปลี่ยน IP ของฉัน แต่คริลิคจำได้ว่ามันเป็น IP เก่าและฉันไม่สามารถเข้าถึงเว็บไซต์ แต่การรันโปรแกรม "Purge Acrylic Cache Data" นั้นเป็นปัญหา
leeand00

น่าเสียดายที่คริลิคไม่สนับสนุนชื่อแทน DNS ซึ่งทำให้ฉันไม่ได้ผล
Spero

10

Dnsmasqเป็นสิ่งที่คุณต้องการ แต่มันใช้งานไม่ได้กับ Windows ดังนั้นฉันจึงเขียนทางเลือกบน Windows เรียกDNSAgent

คุณสามารถใช้การแสดงออกปกติในกฎ นอกจากนี้ยังมีคุณสมบัติขั้นสูงบางอย่างเช่นการปรับแต่งแคช TTL เซิร์ฟเวอร์ DNS ที่ไม่ได้มาตรฐานพอร์ตการกลายพันธุ์ของตัวชี้การบีบอัด ฯลฯ เปิดแหล่งที่มาภายใต้ใบอนุญาต MIT


1

ครั้งแรกฉันเห็นด้วยกับ phoshi ว่ามันเป็นไปไม่ได้ที่จะทำสิ่งที่คุณต้องการในไฟล์โฮสต์ของ windows (ไม่ใช่ยูนิกซ์)

ประการที่สองคุณต้องควบคุมผลของการร้องขอไปยัง DNS ทางเลือกหนึ่งคือการใช้การแก้ไข DNS ของคุณเองบนเราเตอร์ของคุณ (dnsmasq, dnscache + tinydns, ผูกอะไรก็ตามดูความคิดเห็นของนักต้มตุ๋น) และปรับแต่งมันหรือใช้ dns-resolver บน windows ซึ่งคุณสามารถควบคุมได้ตามที่คุณต้องการ

ดูที่นี่สำหรับรายการของตัวแก้ไข DNS ตรวจสอบคอลัมน์ "ตัวแทน" บางทีpowerdnsหรือmaradnsหรือposadisเป็นสิ่งที่เหมาะกับความต้องการของคุณ


-1

เป็นอีกรูปแบบไวยากรณ์: xxx.xxx.xxx.xxx somedomain.com

ตัวอย่างบางส่วนที่จะอธิบาย:

  • 127.0.0.1 .com บรรทัดนี้จะบล็อก dnsrequests ขาออกทั้งหมดที่ลงท้ายด้วย. com
  • 127.0.0.1 somesite.com จะบล็อก dnsrequests ขาออกทั้งหมดที่ลงท้ายด้วย somesite.com
  • 12.2.3.1 www.dns.com จะนำไปสู่ ​​dnsrequests ขาออกทั้งหมดที่ลงท้ายด้วย www.dns.com ไปที่ 12.2.3.1

คุณบล็อก / นำ URL ระดับวินาที (สาม, สี่ ... ) ทั้งหมดด้วย URL ระดับบนสุด (วินาที, สาม ... ) ในไฟล์โฮสต์


เมื่อพิจารณาจากประโยคสุดท้ายฉันถือว่าwww.example.comไม่ได้ถูกบล็อกโดยบรรทัดแรก แต่เมื่อเพิ่มเท่านั้น127.0.0.1 example.com?
Arjan

9
moonfern ฉันไม่เห็นด้วยกับรายการของคุณ 127.0.0.1 somesite.com จะไม่ปิดกั้นคำขอ DNS ขาออกทั้งหมดที่ลงท้ายด้วย somesite.com ทั้งหมดจะถูกบล็อกคือsomesite.comไม่ใช่ www.somesite.com หรือ subdomain.somesite.com หรือสิ่งที่คล้ายกัน

1
นั่นไม่ใช่กรณีบน Windows แน่นอนว่า moonfern
Owen Blacker

-3

หากคุณต้องการปิดกั้นทุกโดเมนย่อยใน somedomain.com ให้พิจารณาว่าละเว้น "*" หรือไม่ จะบรรลุสิ่งที่คุณต้องการ

การแก้ไขตัวอย่างของคุณ:

xxx.xxx.xxx.xxx somedomain.com

"พิจารณาว่า ... " ค่อนข้างคลุมเครือ คุณกำลังแนะนำอะไรให้เป็นทางออก?
fixer1234

โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม
DavidPostill

1
fixer1234 - ฉันไม่ทราบว่าปัญหาที่ผู้โพสต์ต้องการที่จะแก้ปัญหาคืออะไรในขณะที่พวกเขาถามราวกับว่าตัวแทนที่ชัดเจนจะอยู่ "พิจารณาว่า ... " แนะนำสิ่งที่อาจใช้งานได้หรือไม่ มันง่ายที่จะลองและต้องการตัวละครน้อย ฉันรู้ว่ามันใช้ได้ในบางกรณี เนื่องจากฉันมีบริบทไม่เพียงพอที่จะเข้าใจปัญหาฉันจึงไม่สามารถแนะนำวิธีแก้ปัญหาได้ David Postill - ฉันเชื่อว่าคำตอบของฉันอยู่และตรงประเด็นกับคำถามเดิม แต่บางทีคำตอบของคุณอาจจะดีกว่า
SquarePowder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.