ฉันกำลังพยายาม ping เว็บไซต์ของฉันhttp://www.example.com/และแก้ไขเป็นที่อยู่ IP ที่ไม่รู้จักและหมดเวลา
PING http://www.example.com/ (198.105.254.228): 56 data bytes
Request timeout for icmp_seq 0
อาร์กิวเมนต์สำหรับ ping คือชื่อโฮสต์ (หรือที่อยู่ IP)
ดังนั้นต่อไปนี้จะทำงานทั้งหมด:
ping example.com
ping www.example.com
ping 127.0.0.1
ในทางกลับกัน,
ping http://www.example.com/
จะไม่ทำงานเนื่องจากhttp://www.example.com/เป็น HTTP Uniform Resource Locator (URL)ไม่ใช่ชื่อโฮสต์ที่ถูกต้อง (แม้ว่าส่วนหนึ่งจะเป็นชื่อโฮสต์)
HTTP URL ประกอบด้วย 4 ส่วนดังนี้
- Scheme - ปรากฎอยู่เสมอ
- ชื่อโฮสต์ - แสดงเสมอ
- เส้นทางหรือต้นกำเนิด - แสดงเสมอ แต่บางครั้งก็เป็นโมฆะ
- พารามิเตอร์ - ตัวเลือก
โดยปกติแล้ว Ping จะไม่รู้จัก URL เป็นชื่อโฮสต์ปลายทางที่ถูกต้อง
หมายเหตุ :
ไม่ใช่ทุกรูปแบบที่กล่าวถึงข้างต้น
URL ที่สมบูรณ์ประกอบด้วยตัวระบุโครงร่างการตั้งชื่อแล้วตามด้วยสตริงที่มีรูปแบบเป็นฟังก์ชันของโครงร่างการตั้งชื่อ
รูปแบบของ URL ถูกกำหนดไว้ในข้อกำหนดคุณสมบัติ IETF Uniform Resource Locators (URL)
การหักหลัง DNS
ข้อยกเว้นข้างต้นอาจเกิดขึ้นได้หากเซิร์ฟเวอร์ DNS (ซึ่งแก้ไขชื่อโฮสต์เป็นที่อยู่ IP) ได้รับการกำหนดค่าให้ส่งคืนที่อยู่ IP ที่ถูกต้องแม้ว่าจะมีการระบุชื่อโฮสต์ที่ไม่ถูกต้องก็ตาม
เหตุการณ์นี้อาจเกิดขึ้นได้หาก ISP ทำการไฮแจ็ก DNS ของคุณ
จากคำตอบเหตุใด ping จึงเปลี่ยนเป็น IP 198.105.254.228 สำหรับชื่อโฮสต์แบบสุ่มใด ๆ ที่ฉันพิมพ์ โดยMichael Hampton :
พวกเขากำลังพยายามที่จะ "เป็นประโยชน์" โดยการเปลี่ยนเส้นทางคำขอสำหรับโดเมนที่ไม่มีอยู่ไปยังบริการป้ายกำกับสีขาวที่ให้ผลลัพธ์การค้นหาและการโฆษณาซึ่งทุกคนจะได้รับ แต่คุณจะได้รับรายได้ลดลง
โชคดีที่พวกเขามีหน้าตั้งค่าที่คุณสามารถปิดได้