ทำไม localhost ของฉันไม่ใช่ 127.0.0.1 แต่เป็น :: 1 และนั่นคืออะไร? [ซ้ำ]


62

เมื่อฉันใช้คำสั่ง Ping กับ localhost ของฉัน (บน Windows Vista) มันไม่แสดงเป็น 127.0.0.1

C: \ Windows \ system32> ping localhost กำลัง
ส่ง Ping GIGA [:: 1] จาก :: 1 พร้อมข้อมูล 32 ไบต์:

ปิงปอง

แต่จะปรากฏเป็น::1(คู่ของโคลอนและหนึ่ง) นี่เป็นสัญกรณ์อะไร? และทำไมถึงไม่ปรากฏเป็น 127.0.0.1

นี่คือสิ่งที่ฉันเห็นในc:\windows\system32\drivers\etc\hostsไฟล์

:: 1 localhost
127.0.0.1 localhost

ตามคำแนะนำของGreggฉันได้ลองเปลี่ยนคำสั่งนี้แล้ว

127.0.0.1 localhost
:: 1 localhost

ผลลัพธ์ที่คาดหวังคือสิ่งนั้น127.0.0.1จะมีความสำคัญมากกว่า::1แต่ก็ไม่เป็นเช่นนั้น

ตามที่ฉันได้เรียนรู้ตอนนี้สามารถทำได้โดยการเพิ่มนโยบายคำนำหน้าแทน หากต้องการบังคับให้ cmd ใช้ IP เวอร์ชัน 4 ตัวเลือก-4สามารถใช้ได้ ในการบังคับให้ Windows ใช้ IP รุ่น 4 เสมอคุณสามารถปิดใช้งาน IP รุ่น 6 หรือส่วนประกอบบางส่วนผ่านกล่องโต้ตอบคุณสมบัติสำหรับการ์ดเชื่อมต่อเครือข่ายหรือผ่านการปรับแต่งรีจิสตรี


7
ในคำตอบของ Tom Wijsman คุณจะพบsuperuser.com/questions/414050/…
Rudolph

1
ไม่เพียง แต่เป็นที่ IPv6 แต่มีอะไรพิเศษหรือกำหนดค่าตายตัวเกี่ยวกับlocalhost; มันจะถูกระบุไว้ในไฟล์HOSTS เป็น127.0.0.1ค่าเริ่มต้น แต่คุณสามารถเปลี่ยนเป็นสิ่งที่คุณต้องการหรือลบออกโดยสิ้นเชิง
Synetech

1
@Synetech บน Windows 7 มันแสดงความคิดเห็นโดยค่าเริ่มต้นด้วยหมายเหตุ:localhost name resolution is handled within DNS itself.
gronostaj

คำตอบ:


90

นี่เป็นเพราะ ping บน Windows Vista และ Windows ที่ใหม่กว่าใช้IPv6ตามค่าเริ่มต้นเมื่อพร้อมใช้งาน ::1เป็นสัญกรณ์สั้น IPv6 อยู่ย้อนกลับ - เทียบเท่าของ IPv4 127.0.0.1ย้อนกลับ

สัญกรณ์เต็มรูปแบบของยาก::1อยู่ IPv6 0000:0000:0000:0000:0000:0000:0000:0001คือ

หากคุณต้องการบังคับpingให้ใช้ IPv4 แทนคุณสามารถระบุที่อยู่ IPv4 ได้อย่างชัดเจนหรือใช้-4ตัวเลือก

ping 127.0.0.1
ping -4 localhost

หากคุณต้องการที่จะเปลี่ยนการตั้งค่า IPv6 / IPv4 โดยรวมคุณสามารถตรวจสอบIPv4 IPv6 เทียบกับความสำคัญใน Windows 7

สำหรับข้อมูลเพิ่มเติมคุณยังสามารถดูบทความlocalhost


18

[::1]จดชวเลขสำหรับที่อยู่ลูปแบ็คใน IPv6 หากคุณต้องการปิดการใช้งาน IPv6 ด้วยเหตุผลบางอย่าง (ฉันจะไม่แนะนำ แต่คุณอาจมีเหตุผลเฉพาะที่ต้องการ) สิ่งที่คุณต้องทำมีดังต่อไปนี้ (สำหรับ Windows 7):

  • เริ่มแผงควบคุม
  • เครือข่ายและการแบ่งปัน
  • ดูเครือข่ายที่ใช้งาน, การเชื่อมต่อเครือข่ายท้องถิ่น, คุณสมบัติ
  • ยกเลิกการทำเครื่องหมายที่ช่องถัดจาก Internet Network Protocol Version 6

หากคุณต้องการภาพหน้าจอ, คู่มือจากไมโครซอฟท์สามารถพบได้ที่นี่: การเชื่อมโยง

นอกจากนี้คุณอาจต้องการดูหน้า Wikipedia สำหรับ IPv6 โดยเฉพาะการนำเสนอ :

ที่อยู่ localhost (ลูปแบ็ค), 0: 0: 0: 0: 0: 0: 1, และที่อยู่ที่ไม่ได้ระบุ IPv6, 0: 0: 0: 0: 0: 0: 0: 0, 0, 0, 0: 0: 0: 0, 0: 0: 0: 0: 0 1 และ :: ตามลำดับ การแทนที่สองโคลอนนี้อาจใช้เพียงครั้งเดียวในที่อยู่เนื่องจากเหตุการณ์ที่เกิดขึ้นหลายรายการจะสร้างการแสดงที่ไม่ชัดเจน

เพื่อสรุปนี่เป็นพื้นฐานของความต้องการที่จะเขียนทุก ๆ หมายเลข 1 ถึง 100 แต่แทนที่จะเขียนทุก ๆ หมายเลขแทนคุณเขียน1, 2, 3...99, 100หรือ1-100

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.