ไฟล์โฮสต์: เครื่องมืออันทรงพลังสำหรับผู้ใช้และนักพัฒนา

เผยแพร่แล้ว: 2020-09-23

คุณอาจเคยได้ยินเกี่ยวกับไฟล์ hosts มาก่อน แต่ไม่แน่ใจว่ามันคืออะไรหรือทำอะไร ในบทความนี้ เราจะอธิบายให้ชัดเจนและอธิบายว่าไฟล์โฮสต์คืออะไรและทำงานอย่างไร เราจะดูตัวอย่างของสิ่งที่คุณทำได้ด้วย มาเริ่มกันเลย!

ไฟล์โฮสต์คืออะไร?

พบไฟล์โฮสต์บนคอมพิวเตอร์ของคุณ (ไม่ว่าจะเป็น Mac หรือ Windows ก็จะมีไฟล์หนึ่งไฟล์) ไฟล์โฮสต์คือสิ่งที่เรียกว่า 'ข้อความธรรมดา' และมาจากเมื่อหลายสิบปีก่อน โดยที่ไฟล์เหล่านี้ถูกใช้เป็นรูปแบบแรกๆ ของ 'การแก้ไขชื่อ' โดยไฟล์เหล่านี้มุ่งไปที่เซิร์ฟเวอร์เป้าหมาย การใช้งานนี้ถูกแทนที่ด้วยการประดิษฐ์ระบบชื่อโดเมน (หรือ DNS) ซึ่งยังคงใช้อยู่ในปัจจุบัน

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

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

ลองดูกราฟิกด้านบนอย่างรวดเร็ว อย่างที่คุณเห็น คำขอที่ส่งมาจากคอมพิวเตอร์ของคุณจะถูกส่งไปยังไฟล์โฮสต์ของคอมพิวเตอร์ของคุณก่อน หากไฟล์โฮสต์มีที่อยู่ IP ของเว็บไซต์ที่คุณร้องขอที่บันทึกไว้ เบราว์เซอร์ของคุณจะส่งตรงไปยังไฟล์นั้น หากไม่เป็นเช่นนั้น ระบบจะนำเบราว์เซอร์ของคุณไปยังเซิร์ฟเวอร์ DNS ซึ่งควรมีข้อมูลที่จำเป็น

เมื่อพิจารณาจากสิ่งนี้ มีเหตุผลที่จะสรุปว่าการแก้ไขไฟล์โฮสต์ เราสามารถเลี่ยงผ่าน DNS และทำให้โดเมนแก้ไขที่อยู่ IP ใดๆ ในขณะที่ใช้เบราว์เซอร์ของเราได้ ความสามารถในการทำเช่นนี้สามารถมีประโยชน์มากมายและเราจะเห็น

หมายเหตุ: ก่อนพิจารณาเพิ่มเติมที่ไฟล์โฮสต์และวิธีการแก้ไข ควรสังเกตว่าไฟล์โฮสต์อาจเป็นเป้าหมายสำหรับการโจมตีที่เป็นอันตราย ด้วยเหตุนี้ จึงคุ้มค่าที่จะเปลี่ยนคุณสมบัติของมันเป็น 'อ่านอย่างเดียว' เมื่อคุณทำการแก้ไขเสร็จแล้ว

การแก้ไขไฟล์โฮสต์

การแก้ไขไฟล์โฮสต์บนคอมพิวเตอร์ของคุณทำได้ง่ายมากและมีประโยชน์อย่างมากในบางครั้ง มาดูกันว่าคุณจะแก้ไขไฟล์โฮสต์บน Windows, Linux และ Mac ได้อย่างไร

วิธีแก้ไขไฟล์โฮสต์ใน Windows 10

ไฟล์สามารถอยู่ที่ “C:\Windows\System32\drivers\etc”

ตำแหน่งไฟล์โฮสต์ - Windows

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

โฮสต์ไฟล์เนื้อหา

ด้านล่างเนื้อหาที่มีอยู่ (ประมาณบรรทัดที่ 24 ในตัวอย่างด้านบน) คุณสามารถพิมพ์ที่อยู่ IP เป้าหมายที่คุณต้องการเข้าถึง จากนั้นเว้นวรรค ตามด้วยชื่อโดเมน ซึ่งจะมีลักษณะประมาณดังนี้:

โปรดทราบว่าเครื่องหมาย # ใช้สำหรับความคิดเห็น อะไรก็ตามที่เขียนหลัง “#” ในบรรทัดเดียวกันจะถูกละเว้น คุณสามารถใช้สิ่งนี้เป็นป้ายกำกับเพื่อติดป้ายกำกับการแก้ไขไฟล์โฮสต์ของคุณ ตัวอย่างเช่น

 # my router's alias 192.168.1.1 myrouter.com

วิธีแก้ไขไฟล์โฮสต์บน Linux distribution

ตัวอย่างเช่น บน Ubuntu เส้นทางแบบเต็มไปยังไฟล์โฮสต์คือ /etc/hosts คุณสามารถเปิดไฟล์ด้วยตัวแก้ไขของคุณ (เราใช้ตัวแก้ไข Nano ในตัวอย่างนี้) ป้อนรหัสผ่าน sudo ของคุณเมื่อได้รับแจ้ง

ตำแหน่งไฟล์โฮสต์ - การกระจาย Linux

เมื่อเสร็จแล้วคุณสามารถเพิ่มบรรทัดที่เราทำสำหรับ Windows

วิธีแก้ไขไฟล์โฮสต์บน MacOS

บน MacOS เส้นทางแบบเต็มไปยังไฟล์คือ /etc/hosts หลังจากที่คุณเปิดหน้าต่างเทอร์มินัลแล้ว ให้เปิดไฟล์โฮสต์โดยใช้โปรแกรมแก้ไขข้อความของคุณ

  1. พิมพ์ sudo nano /private/etc/hosts แล้วกด Return
  2. ป้อนรหัสผ่านที่ร้องขอ ตอนนี้คุณจะเปิดไฟล์โฮสต์ในตัวแก้ไขนาโน
  3. ไปที่ด้านล่างเนื้อหาต้นฉบับในไฟล์ hosts และแก้ไขไฟล์ตามที่อธิบายไว้สำหรับ Windows และ Linux > ที่อยู่ IP เป้าหมาย > ช่องว่าง > ชื่อโดเมน
  4. กด Control-O เพื่อบันทึกไฟล์
  5. หากการเปลี่ยนแปลงไม่แสดงขึ้น ให้ล้างแคชด้วย > dscacheutil -flushcache

ตอนนี้เราเข้าใจวิธีการแก้ไขไฟล์โฮสต์บนเครื่องของคุณแล้ว มาดูสิ่งที่มีประโยชน์บางประการที่คุณสามารถทำได้ด้วยสิ่งนี้

เหตุผลหลักในการแก้ไขไฟล์โฮสต์

มีสาเหตุหลายประการที่คุณอาจต้องการแก้ไขไฟล์โฮสต์ของคุณ เราจะดำเนินการผ่านบางส่วนด้านล่าง

เมื่อทดสอบการพัฒนาเว็บไซต์

สมมติว่าคุณเป็นนักพัฒนา WordPress ที่ทำงานบนเว็บไซต์ของลูกค้าเวอร์ชันใหม่ซึ่งปัจจุบันอยู่ภายใต้โดเมน “mycompany.com” คุณกำลังเปลี่ยนแปลงเว็บไซต์เวอร์ชันท้องถิ่น (ที่บันทึกไว้ในคอมพิวเตอร์ของคุณ)

ปัญหาที่คุณพบคือการอ้างอิงใดๆ ในโค้ดของโดเมน "mycompany.com" จะเห็นเบราว์เซอร์ของคุณนำคุณไปยังเวอร์ชันที่ใช้งานจริงของไซต์แทนที่จะเป็นเวอร์ชันในเครื่องของไซต์ ซึ่งหมายความว่าแทบเป็นไปไม่ได้เลยที่จะทดสอบ การเปลี่ยนแปลงที่คุณได้ทำ ในกรณีนี้ คุณมีตัวเลือกสองสามอย่าง:

  1. ซื้อโดเมนชั่วคราวและชี้ไปที่ IP ที่มีเวอร์ชันอยู่ระหว่างการพัฒนา
  2. ปรับใช้ไซต์สดกับเซิร์ฟเวอร์การจัดเตรียม
  3. ใช้ไฟล์โฮสต์เพื่อชี้ "mycompany.com" ชั่วคราวไปยังที่อยู่ IP/เซิร์ฟเวอร์อื่นในเครื่อง

ดังนั้น เว้นแต่คุณต้องการทิ้งเงินในโดเมนชั่วคราว วิธีแก้ปัญหาที่ดีคือการใช้ไฟล์โฮสต์ และทำให้โดเมนแก้ไขได้ว่างานของคุณกำลังดำเนินการอยู่หรือที่ใด

ในการดำเนินการนี้ ทั้งหมดที่คุณต้องทำคือป้อนชื่อโดเมนและ IP ของเซิร์ฟเวอร์ที่คุณกำลังทำงานอยู่ (ตามที่เราอธิบายไว้ก่อนหน้านี้) ตัวอย่างเช่น หากที่อยู่ IP คือ 138.201.141.25 คุณต้องแก้ไขไฟล์ hosts เพื่ออ่าน:

เช่นเดียวกับหากคุณต้องการเพิ่มโดเมน www คุณสามารถทำได้โดยเพิ่มบรรทัดที่สองดังนี้:

หรือรวมทั้งสองในบรรทัดเดียวกันดังนี้:

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

การแก้ไขไฟล์โฮสต์ในลักษณะนี้มีประโยชน์อย่างมากสำหรับนักพัฒนาในการทดสอบเว็บไซต์ที่ยังไม่พัฒนาหรือทำงานประเภทอื่นซึ่งมีประโยชน์ในการแทนที่เซิร์ฟเวอร์ DNS และในการทำเช่นนี้เพื่อควบคุมการเข้าถึงเว็บไซต์และการรับส่งข้อมูลเครือข่าย

บล็อกเว็บไซต์

มีเว็บไซต์จำนวนมากซึ่งหลายเว็บไซต์ไม่น่าพอใจเป็นพิเศษ ดังนั้น คุณอาจต้องการบล็อกการเข้าถึงสิ่งเหล่านี้ (เช่น หากคุณมีลูกที่ใช้คอมพิวเตอร์ของคุณ) ซึ่งสามารถทำได้โดยกำหนดเส้นทางคำขอของเว็บไซต์เฉพาะไปยังที่อยู่ IP ในพื้นที่ของคุณ (ซึ่งโดยปกติคือ 127.0.0.1)

เราควรชี้ให้เห็นว่า:

  • ไซต์ HTTPS จะไม่ถูกบล็อกเว้นแต่คุณจะใส่ www ไว้ในที่อยู่
  • ระหว่างการปรับเปลี่ยนเหล่านี้ โปรดทราบว่าคุณจะต้องล้างแคชของเบราว์เซอร์เพื่อให้การเปลี่ยนแปลงมีผล

ตัวอย่างเช่น สมมติว่าคุณต้องการบล็อกการเข้าถึงเว็บไซต์ชื่อ www.badwebsite.com ในการดำเนินการนี้ คุณจะต้องป้อนข้อมูลต่อไปนี้ในไฟล์โฮสต์ของคุณ:

 127.0.0.1 badwebsite.com www.badwebsite.com

ผลที่ได้คือเว็บไซต์นี้จะไม่สามารถเข้าถึงได้จากคอมพิวเตอร์ของคุณ

คุณสามารถใช้ไฟล์โฮสต์เพื่อบล็อกสปายแวร์/เครือข่ายโฆษณาได้ ในการดำเนินการนี้ ให้สร้างรายชื่อเว็บไซต์สปายแวร์และชื่อโดเมน Ad Networks ทั้งหมดที่คุณต้องการบล็อกและเพิ่มลงในไฟล์โฮสต์ของคุณ โดยจับคู่กับที่อยู่ IP 127.0.0.1 ซึ่งจะชี้กลับไปที่เครื่องของคุณเสมอ ด้วยวิธีนี้เบราว์เซอร์ของคุณจะไม่สามารถเข้าถึงโดเมนเหล่านี้ได้

ข้อดีอย่างหนึ่งของการทำเช่นนี้คือหลังจากบล็อกไซต์ที่ไม่ต้องการดังกล่าว การท่องเว็บของคุณจะปลอดภัยยิ่งขึ้น เนื่องจากคุณจะไม่สามารถเข้าถึงไซต์ที่เป็นอันตรายที่รู้จักได้ นอกจากนี้ยังช่วยเพิ่มความเร็วในการเรียกดูของคุณ เนื่องจากคุณไม่จำเป็นต้องรออีกต่อไปในขณะที่คุณดาวน์โหลดโฆษณาจากไซต์เครือข่ายโฆษณา

บทสรุป

โดยสรุป การแก้ไขไฟล์โฮสต์ช่วยให้คุณควบคุมโดเมนที่จะแก้ไขไปยังที่อยู่ IP ในเครื่องของคุณได้อย่างสมบูรณ์ มีการใช้งานและประโยชน์ที่เป็นไปได้มากมาย เป็นเรื่องดีเสมอที่จะมีการควบคุมและรู้วิธีการรอบ ๆ ไฟล์โฮสต์คอมพิวเตอร์ของคุณ ช่วยให้คุณ... ควบคุมได้ เครื่องมืออันทรงพลังอย่างแน่นอน!