Windows รู้ได้อย่างไรว่ามีการเชื่อมต่ออินเทอร์เน็ตหรือหากการเชื่อมต่อ Wi-Fi ต้องการการรับรองความถูกต้องในเบราว์เซอร์


132

ใน Windows 7 ไอคอนเครือข่ายพื้นที่แจ้งเตือนจะแสดงตัวบ่งชี้ข้อผิดพลาดหากไม่มีการเชื่อมต่ออินเทอร์เน็ตWiFi-ผิดพลาดและไอคอนข้อผิดพลาดจะหายไปเมื่อการเชื่อมต่ออินเทอร์เน็ตเครือข่ายปกติสำเร็จ บางครั้งหากการเชื่อมต่อ WiFi ต้องใช้ขั้นตอนการรับรองความถูกต้องในเบราว์เซอร์เช่นในเครือข่ายผู้เข้าพักจำนวนมากในโรงแรมหรือมหาวิทยาลัยจากนั้นป๊อปอัพบับเบิลต่อไปนี้จะปรากฏขึ้นโดยบอกว่า: อาจต้องมีการบันทึกข้อมูลเพิ่มเติมคลิกเพื่อเปิดเบราว์เซอร์ของคุณ

Windows รู้ได้อย่างไรว่ามีการเชื่อมต่ออินเทอร์เน็ตที่ประสบความสำเร็จหรือไม่
สันนิษฐานว่าเป็นการตรวจสอบบริการออนไลน์ของ Microsoft เพื่อดูว่ามีการเชื่อมต่อที่ประสบความสำเร็จได้รับการเปลี่ยนเส้นทางไปยังหน้าอื่นหรือไม่ได้รับการตอบสนองใด ๆ เลย แต่ฉันไม่ได้เห็นว่ากระบวนการนี้หรือบริการที่ใช้ . ใครช่วยอธิบายวิธีการนี้ได้บ้าง? ฉันต้องการคำตอบที่อ้างถึงข้อเท็จจริงมากกว่าที่จะคาดเดา แต่ถ้าคุณมีการคาดเดาที่ดีจริงๆไปเลย

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


1
หากต้องตรวจสอบบริการของ Microsoft จะผ่านขั้นตอนการเปิดใช้งานในเบราว์เซอร์ได้อย่างไร หรือฉันเข้าใจคุณผิด (+1 btw คำถามที่น่าสนใจ)
slhck

@slhck: นั่นคือจุดที่ตรวจสอบ: หากไม่สามารถเข้าถึงบริการได้อย่างถูกต้อง แต่ความพยายามของมันได้รับการตอบสนองบางอย่างมันจะทึกทักว่าอาจมีขั้นตอนในเบราว์เซอร์ หากไม่มีการตอบกลับเลยก็ถือว่ามีเพียงการเข้าถึงในท้องถิ่น ฉันไม่แน่ใจว่ากระบวนการนั้นทำงานอย่างไร ฉันได้อัปเดตคำถามของฉันให้ชัดเจนยิ่งขึ้นแล้ว (หวังว่า)
nhinkle

@ ริ้วรอยฉันไม่มีพีซีที่ใช้ Windows แต่อาจมีใครบางคนสามารถดับ Wireshark เพื่อดูว่าเครื่องทำอะไรในกรณีเช่นนี้
slhck

เมื่อตัวบ่งชี้ข้อผิดพลาดบอกว่าไม่มีอินเทอร์เน็ตให้เปิดตัวแก้ไขปัญหาเครือข่าย ในขณะที่เครื่องมือแก้ปัญหาทำงานคุณสามารถเห็นขั้นตอน "พยายามเชื่อมต่อกับ Microsoft.com" อย่างชัดเจน ดังนั้นฉันเดาว่ามันใช้บริการ
Mayank

คำตอบ:


91

หลังจากการขุด (จำนวนเครือข่ายและบริการที่เกี่ยวข้องกับอินเทอร์เน็ตใน Windows เป็นสิ่งที่น่าอัศจรรย์) ฉันคิดว่าฉันพบมัน Windows Vista และ 7 มีคุณสมบัติ Network Awareness ที่หลากหลายซึ่งหนึ่งในนั้นคือตัวบ่งชี้สถานะการเชื่อมต่อเครือข่ายที่ทำการทดสอบการเชื่อมต่อที่ใช้งานโดยไอคอน systray เครือข่าย การทดสอบการเชื่อมต่ออินเทอร์เน็ตนั้นง่ายมาก:

  1. NCSI พยายามโหลดหน้าเฉพาะผ่านทาง HTTP (แม่นยำยิ่งขึ้น: เอกสารข้อความ) และทดสอบว่าจะสามารถดึงข้อมูลได้หรือไม่
  2. หากไม่สำเร็จ Windows จะรายงานว่า "ไม่สามารถเข้าถึงอินเทอร์เน็ต"

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

เหตุผลที่รายงานว่า "ไม่มีการเข้าถึงอินเทอร์เน็ต" เมื่อคุณยังไม่ได้ตรวจสอบสิทธิ์กับ Hotspot แต่ยังอยู่ในลักษณะที่ Hotspot ทำงาน มันบล็อกพอร์ตทั้งหมดนอกเหนือจาก 80 และ 443 (สำหรับ HTTP และ HTTPS ตามลำดับ) ซึ่งได้รับการเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์การตรวจสอบความถูกต้องของฮอตสปอตและอาจยุ่งกับคำขอ DNS ไม่ทางใดก็ทางหนึ่ง ดังนั้น NCSI จึงไม่สามารถแก้ไขโดเมนที่โฮสต์ทดสอบไฟล์และแม้ว่าจะไม่สามารถเข้าถึงไฟล์จริงได้เนื่องจากการรับส่งข้อมูล HTTP ถูกเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์

ที่มา: http://technet.microsoft.com/en-us/library/cc766017%28WS.10%29.aspx


13
ฮอตสปอตจะต้องอนุญาต DNS ไม่เช่นนั้นความพยายามในการเข้าถึงเซิร์ฟเวอร์ด้วยชื่อโฮสต์ (แทนที่จะเป็นที่อยู่ IP) จะล้มเหลวด้วยข้อผิดพลาด "ไม่สามารถแก้ไขที่อยู่" ได้ ขึ้นอยู่กับการตั้งค่าฮอตสปอตมันอาจแก้ไขชื่อทั้งหมดไปยังที่อยู่ของเซิร์ฟเวอร์รับรองความถูกต้องหรืออาจแก้ไขชื่อได้อย่างถูกต้องและอาศัยการเปลี่ยนเส้นทางของการเชื่อมต่อ http (s) ไปยังเซิร์ฟเวอร์รับรองความถูกต้องเท่านั้น ส่วน DNS ของการตรวจสอบที่อธิบายในเอกสารที่ชอบคือการตรวจสอบว่า dns.msftncsi.com แก้ไขไปยังที่อยู่ที่ถูกต้องไม่ว่าจะแก้ไขได้หรือไม่
Dave Sherohman

1
นั่นถูกต้องแน่นอน ฉันอัพเดตคำตอบเพื่อให้สะท้อนถึงสิ่งนั้น
Tobias Plutat

การค้นหาที่ยอดเยี่ยมและคำอธิบายที่ดีว่ามันทำงานอย่างไร! หากไม่มีคำตอบที่ดีกว่าปรากฏขึ้นมีความโปรดปรานเข้ามาเร็ว ๆ
nhinkle

นอกจากนี้ยังบอกว่าNo Internet accessถ้าคุณอยู่หลังพร็อกซี;)
ออสการ์ Mederos

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

69

นี่คือรายละเอียดของกระบวนการกำหนดสถานะการเชื่อมต่อ:

รายการต่อไปนี้อธิบายวิธีที่ NCSI อาจสื่อสารกับเว็บไซต์เพื่อตรวจสอบว่าเครือข่ายมีการเชื่อมต่ออินเทอร์เน็ตหรือไม่:

  1. คำขอแก้ไขชื่อ DNS ของ dns.msftncsi.com

  2. คำร้องขอ HTTP สำหรับhttp://www.msftncsi.com/ncsi.txtส่งคืน 200 OK และข้อความMicrosoft NCSI

สิ่งนี้สามารถปิดการใช้งานได้ด้วยการตั้งค่ารีจิสทรี หากตั้งไว้

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
     NlaSvc\Parameters\Internet\EnableActiveProbing

เป็น0Windows จะไม่ทำการสอบสวนการเชื่อมต่ออินเทอร์เน็ตอีกต่อไป

Apple ทำสิ่งที่คล้ายกันมากใน iOS เพื่อตรวจสอบการเชื่อมต่ออินเทอร์เน็ตและหน้า WiFi "ล็อกอิน" ของโรงแรมที่เป็นไปได้เป็นต้น


1
ใหม่กว่า (ฉันคิดว่า Gingerbread และใหม่กว่า ... ) เวอร์ชั่น Android ทำเช่นนี้ ... พวกเขาจะแสดงไอคอนไร้สายเป็นสีขาวหากพวกเขาสามารถเชื่อมต่อกับเครือข่ายได้และมันจะเปลี่ยนเป็นสีเขียวหากสามารถโฮสต์ google ได้บ้าง หน้า. แนวคิดเบื้องหลังมันเหมือนกัน
TM

จุดไฟก็ทำได้เช่นกัน เมื่อฉันเชื่อมต่อกับ wifi ฉันจะได้รับแจ้งว่าฉันต้องเปิดเบราว์เซอร์และยอมรับเงื่อนไขการใช้งาน ฉันสงสัยว่าสิ่งนี้เกิดขึ้นได้อย่างไร
Kortuk

3
ดังนั้นหากmsftncsi.comหยุดทำงานคอมพิวเตอร์ Windows 7 ทุกเครื่องจะไม่สามารถแสดงสัญญาณออนไลน์ได้? นั่นคืออัจฉริยะ!
liamzebedee

8

อย่างที่ Jeff พูดเพื่อตรวจหาการเชื่อมต่ออินเทอร์เน็ต Windows จะทำสิ่งต่อไปนี้

  1. คำขอ DNS ไปยังเซิร์ฟเวอร์
  2. คำขอ HTTP สำหรับเนื้อหาที่รู้จัก

นอกจากคำตอบของเจฟฟ์แล้วฉันสงสัยว่า:

3. หากคำขอ HTTP ถูกเปลี่ยนเส้นทางไปยัง Microsoft นอก (หรือไม่ส่งคืนเนื้อหาที่คาดหมาย) ให้แสดงข้อความในภาพหน้าจอของคุณ


3

สำหรับการเชื่อมต่อที่ต้องการข้อมูลเพิ่มเติมเกี่ยวกับการเข้าสู่ระบบนั้นมีแนวโน้มที่จะถูกกำหนดผ่านขั้นตอนการแก้ปัญหา DNS ที่ Jeff พูดถึงโดยมีเหตุการณ์สามอย่างต่อไปนี้เกิดขึ้น:

  • หากระบบแก้ไขที่อยู่ที่ถูกต้องการเชื่อมต่อจะชัดเจนทั้งหมด (การเชื่อมต่ออินเทอร์เน็ต)
  • หากระบบแก้ไขคำขอ dns แต่ไม่ใช่ที่อยู่ที่ถูกต้องแสดงว่ามีการขอข้อมูลซ้ำอีกครั้ง (อาจจำเป็นต้องมีการบันทึกข้อมูลเพิ่มเติม)
  • หากระบบไม่สามารถแก้ไขคำร้องขอ dns แสดงว่ามีปัญหาการเชื่อมต่ออินเทอร์เน็ต (การเชื่อมต่อสร้างไปยังเครือข่าย / จุดเชื่อมต่อ แต่ไม่มีการเชื่อมต่ออินเทอร์เน็ต)

ฉันคิดว่าคำขอสำหรับ:

http://www.msftncsi.com/ncsi.txt

เป็นวิธีที่รวดเร็วในการทดสอบว่าการเชื่อมต่ออินเทอร์เน็ตนั้นชัดเจนหรือไม่ หลังจากนั้นคำร้องขอ dns จะถูกรันเพื่อพิจารณาสถานะทั้งหมดของการเชื่อมต่อ

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