ที่อยู่ IP ภายนอกที่เชื่อถือได้สำหรับการ ping เพื่อตรวจสอบว่ามีอินเทอร์เน็ตหรือไม่ [ปิด]


53

มีเซิร์ฟเวอร์ทั่วไปอยู่เสมอหรือไม่ซึ่งฉันสามารถตั้งค่าเป็น ping ในโหมดอัตโนมัติเพื่อตรวจสอบอินเทอร์เน็ตได้หรือไม่ ชอบ Google หรืออะไร? อาจเป็น 8.8.8.8?

สถานการณ์ที่เฉพาะเจาะจงของฉันคือฉันใช้เราเตอร์ Dual WAN แต่ละ WAN เชื่อมต่อกับหนึ่งใน ISP เมื่อเงินของฉันสิ้นสุดที่หนึ่งใน ISP จะไม่บล็อกช่อง แต่จะเปลี่ยนเส้นทางไปยังหน้าคำเตือน ดังนั้นเราเตอร์จึงคิดว่าอินเทอร์เน็ตเปิดอยู่เนื่องจากข้อมูลกำลังเดินทาง ตัวเลือกอื่น ๆ สำหรับเราเตอร์นี้คือการ ping ที่อยู่บางส่วนเพื่อตรวจสอบว่าอินเทอร์เน็ตเปิดอยู่หรือไม่

ฉันสงสัยว่าถ้าฉันส่ง 8.8.8.8 ฉันจะไม่ถูกแบนจาก Google สำหรับการใช้งานที่ไม่เหมาะสมหรือไม่? ฉันสงสัยว่า Google อาจมีโควต้าบ้าง ถ้าฉันจะ ping เป็นเนมเซิร์ฟเวอร์บ่อยเกินไปบางครั้งฉันก็จะได้รับ DNS ปฏิเสธ


1
ฉันขอแนะนำให้คุณทดสอบสิ่งที่คุณต้องการ เมื่อคุณพูดว่า "อินเทอร์เน็ตพร้อมใช้งาน" คุณหมายถึงอะไร
David Schwartz

1
@DavidSchwartz เขาหมายความว่าอินเทอร์เน็ตไม่สามารถใช้งานได้ หากคุณต้องการการทดสอบที่เฉพาะเจาะจงจะต้องใช้ WAN เป็นจำนวนมากดังนั้นจึงไม่ใช่ตัวเลือกในการทดสอบ 'เพราะมันผ่านพ้นกำแพงไปแล้ว แต่ ISP จะรู้
barlop

5
ping stackexchange.com;)

6
@barlop มันตลกดี แต่ก็ไม่มีประโยชน์ "อินเทอร์เน็ตไม่พร้อมใช้งาน" หมายความว่าอย่างไร หากฉันไม่สามารถเข้าถึงเว็บไซต์ของ Google "อินเทอร์เน็ตไม่พร้อมใช้งาน" หรือไม่? หาก DNS ใช้งานได้ แต่ไม่มีเว็บเพจใช้งานอินเทอร์เน็ตได้หรือไม่ ขั้นตอนแรกในการตอบคำถามคือการเข้าใจคำถาม
David Schwartz

4
@DavidSchwartz ฉันไม่ได้ล้อเล่นและพิจารณาว่าเขากำลังพูดถึงการทดสอบ google ที่เกี่ยวข้องกับการทดสอบและไม่ส่ง Ping โดเมนเช่น www.google.com เป็นการทดสอบเขาเห็นได้ชัดว่าหมายความว่าในกรณีที่ DNS ไม่พร้อมใช้งาน แต่ ทุกอย่างอื่นพร้อมใช้งานแล้วเขาคิดว่าอินเทอร์เน็ตไม่พร้อมใช้งานไม่ได้ถ้าคุณต้องการหาเครื่องหมายคำถามมันจะขว่าเราเตอร์ที่น่าสงสารคือ 'อินเทอร์เน็ตไม่พร้อมใช้งาน' แต่เห็นได้ชัดว่าถ้าคุณสามารถให้ทดสอบ 4 WAN พร้อมใช้งานหรือข้อมูลเฉพาะภายในนั้นมันจะมีประโยชน์มากกว่าแค่ให้เขาทดสอบเฉพาะกรณีเดียวหรือแย่กว่านั้นไม่มีกรณี
barlop

คำตอบ:


56

ลอง ping 8.8.8.8 เป็นเซิร์ฟเวอร์ DNS หลักของ Google ฉันมักจะ ping เพื่อยืนยันการเชื่อมต่อของฉันและฉันไม่เคยพบมัน หรือคุณอาจลองใช้ 8.8.4.4 ซึ่งเป็น DNS สำรองของ Google


3
pingยอมรับ TLD เช่นกัน ดังนั้นping google.comควรทำเคล็ดลับในกรณีที่คุณไม่ต้องการที่จะจำสี่เท่าแปด
Johannes Pille

38
@JohannesPille ส่ง Ping ไปที่ชื่อโดเมนต้องใช้เซิร์ฟเวอร์ DNS ที่ใช้งานได้ ดังนั้นจึงอาจล้มเหลวหากคำขอ DNS ล้มเหลวซึ่งไม่ได้หมายความว่าการเชื่อมต่ออินเทอร์เน็ตของคุณไม่ทำงาน
Jonathan

3
หากเซิร์ฟเวอร์ชื่อที่เชื่อถือได้ของคุณจะขัดข้องเน็ตในโซนของคุณจะไม่ใช้งานมากนักใช่ไหม?
Johannes Pille

6
@JohannesPille คุณสามารถแทนที่ DNS หลักของคุณเป็น 8.8.8.8 แทนที่จะเป็นค่าเริ่มต้นของ DCHP
ratchet freak

6
@JohannesPille pingไม่ยอมรับ TLD นอกจากนี้ยังไม่ยอมรับชื่อโดเมน เป็นเพียงเพื่อให้ชื่อโดเมนส่วนใหญ่เป็นชื่อโฮสต์และแก้ไขเป็นที่อยู่ IP เพื่อให้ผู้คนสามารถพิมพ์http://example.comแทนhttp://www.example.comก่อนที่เบราว์เซอร์จะฉลาดในwww.การเพิ่มชื่อโฮสต์ถ้ามันไม่ทำงานในตอนแรก (ลองping army.milถ้าคุณไม่เชื่อฉัน)
Dubu

33

คุณสามารถทำสิ่งที่ไมโครซอฟท์ทำ: ตรวจสอบสิ่งนั้น

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

ส่งคืน "Microsoft NCSI" (สิ่งนี้ยืนยันว่าคุณสามารถรับข้อมูลที่ถูกต้องจากเว็บไซต์เช่นไม่ใช่พอร์ทัล Wifi หรืออย่างอื่น)

นอกจากนี้คุณยังสามารถตรวจสอบ (เช่น ping) ที่ dns.msftncsi.com

ชี้ไปที่ 131.107.255.255 (เป็นการตรวจสอบว่า DNS ใช้งานได้)

ดูhttp://technet.microsoft.com/en-us/library/ee126135

หมายเหตุ: นอกจากนี้คุณยังสามารถเยี่ยมชมhttp://www.msftconnecttest.com/redirectเพื่อรับตัวเองผ่านพอร์ทัลเชลยหากจำเป็น


1
+1 IIRC, Windows ยังมี API สำหรับตรวจสอบระดับการเชื่อมต่ออินเทอร์เน็ตโดยใช้วิธีนี้
Navin

7
เหตุใดจึงไม่อัปโหลดมากกว่านี้ หนึ่งในไม่กี่วิธีที่ดีจริงๆโดยเฉพาะคำถามที่เฉพาะเจาะจง หาก ISP ของคุณเปลี่ยนเส้นทางการรับส่งข้อมูลไปยังหน้าคำเตือนการตรวจสอบคำตอบเช่นนี้เป็นหนึ่งในตัวเลือกที่น่าเชื่อถือ!
Falco

ไม่สามารถใช้งานได้อีกต่อไป
user2924019

1
อะไรไม่ทำงาน เว็บไซต์ยังคงส่งคืนข้อความที่ถูกต้อง DNS ยังคงแก้ไข IP ที่ถูกต้องเอกสารยังคงส่งคืนข้อมูลที่ถูกต้อง
Mark Sowul

FYI คุณไม่สามารถ ping 131.107.255.255- มันหมดเวลาแล้ว www.msftncsi.comผ่านa1961.g2.akamai.netซึ่งจะแก้ไข23.59.182.83ในเวลาที่เขียน - ฉันไม่ทราบว่าเป็น IP แบบคงที่หรือไม่ ในขณะที่นี่เป็นคำตอบที่ดีสำหรับคำถาม "อะไรคือ URL ที่ดีในการทดสอบการเชื่อมต่ออินเทอร์เน็ตของฉัน" ด้วยเช่น cURL หรือเบราว์เซอร์ แต่ไม่ใช่ IP ที่สามารถตรวจสอบได้ด้วยpingคำสั่งง่ายๆดังนั้นจึงไม่ใช่คำตอบสำหรับคำถามนี้
iono

13

กรณีเฉพาะ

คุณต้องการ ping IP ถาวร "ใกล้ที่สุด" ที่ไม่สามารถกำหนดเส้นทางได้เมื่อ ISP เข้าสู่สถานะการรับส่งข้อมูลเกินพิกัด ในระบบของฉันฉันสามารถจำลองสถานการณ์นี้ได้โดยการตรวจสอบ ADSL ล้มเหลว ในกรณีดังกล่าวโดยการเปรียบเทียบผลลัพธ์traceroute -nในสภาวะปกติและผิดปกติฉันเห็นว่าการกระโดดครั้งแรกเป็น 8.8.8.8 (หรือไซต์ภายนอกใด ๆ ) ที่ไม่ตอบสนองคือ 151.6.68.45 ซึ่งเป็นส่วนหนึ่งของโครงสร้างพื้นฐาน ISP ของฉัน

โดยใช้ที่ IP เป็น "ตรวจชีวิต" โฮสต์ (หลังจากการทำซ้ำการทดสอบเพียงเพื่อให้แน่ใจว่ามันเป็นคงที่) ผมสามารถตรวจสอบความผิดปกติของ ISP โดยไม่ได้รับผลบวกปลอมในกรณี ADSL เป็น OK แต่เส้นทาง ISP มีปัญหา .

แน่นอนว่าฉันสามารถใช้ 8.8.8.8 โดยมีเหตุผลว่าถ้าฉันไม่สามารถเข้าถึงโครงสร้างพื้นฐานของ Google ได้ฉันไม่สนใจเหตุผลฉันอาจลองใช้เราเตอร์สำรอง

กรณีทั่วไป

"อินเทอร์เน็ตสามารถใช้ได้" เป็นมากสิ่งที่ซับซ้อนมากขึ้นกว่าเพียง "คือ 8.8.8.8 (หรืออื่น ๆ IP) สามารถเข้าถึงได้"

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

การวินิจฉัยที่สมบูรณ์จะต้องเริ่มใกล้กับพีซีของคุณ

  • สอบถามการกำหนดค่าเครือข่ายท้องถิ่นและดึงเกตเวย์และเซิร์ฟเวอร์ DNS
  • ping เกตเวย์ ควรเข้าถึงได้ ถ้าไม่มีปัญหาในท้องถิ่น
  • เรียกใช้ traceroute ด้วย TTL สั้น ๆ (จริง ๆ แล้ว TCP traceroute เช่นที่ได้รับจาก hping จะดีกว่า) ของที่อยู่ภายนอกที่แน่นอน 8.8.8.8 ก็โอเค
  • คุณต้องการที่จะเห็นว่าหลังจากที่เกตเวย์ของคุณบางโหนดพิเศษกำลังตอบสนอง

ตัวอย่างเช่นใน Windows XP ที่บ้านฉันมี:

 1    <1 ms    <1 ms    <1 ms  192.168.4.200   -- (constant) Home Linux box (gateway)
 2    <1 ms    <1 ms    <1 ms  192.168.0.1     -- (constant) ADSL modem
 3     *        *        *     *               -- WAN interface, always fails; expected
 4     *        6 ms     6 ms  151.6.64.30     -- (varies) ISP gateway

ทีนี้ลองกระตุก DNS ควรเข้าถึงได้ ยิ่งไปกว่านั้นให้เรียกใช้การตรวจสอบ DNS อย่างง่าย เพื่อหลีกเลี่ยงการแคช DNS บางครั้งฉันใช้โดเมนบางตัวที่จะตอบคำถามทั้งหมดไม่ว่าจะเกิดอะไรขึ้น ตัวอย่างเช่น

$ host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201

ในขณะที่ถ้าเซิร์ฟเวอร์ DNS ไม่น่าเชื่อถือการสืบค้นเดียวกันอาจส่งคืนที่อยู่ของ Captive Portal สำหรับ WiFi

$ host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200

หรือ 127.0.0.1 หรือแม้แต่ข้อผิดพลาด

ในกรณีที่ DNS ล้มเหลวฉันอาจลองใช้ traceroute ของที่อยู่ IP DNS (หรือ DNS อื่นเช่นที่อยู่ของ OpenDNS) นั่นจะไม่เพียงบอกฉันว่าปัญหาคือ DNS หรือ ISP มันมักจะทำให้ฉันสามารถแก้ไขการหยุดชะงักได้

หากทุกอย่างไปที่จุดนี้ฉันรู้ว่าการเชื่อมต่ออยู่ในลำดับการทำงานโดยทั่วไป; มันอาจยังคงล้มเหลวสำหรับบางเว็บไซต์ สิ่งที่ฉันต้องการในตอนนี้คือisup.me:-) เพื่อตรวจสอบแล้ว

http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com

หรือเว็บไซต์เช่นDown Detectorจะแจ้งให้ฉันทราบเกี่ยวกับ "สภาพอากาศทางอินเทอร์เน็ต"

ที่จริงแล้วที่บ้านเซิร์ฟเวอร์ของฉันมีแคช Squid และหน้าข้อผิดพลาดมีข้อมูลล่าสุดที่ดึงมาได้สำเร็จจากสถิติการดาวน์ไซต์ดังนั้นฉันอาจเห็นสิ่งที่ชอบ

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

เหมือนที่มันเกิดขึ้นเมื่อวันศุกร์ที่ผ่านมาที่นี่ในอิตาลี


หากคุณสามารถปิง8.8.8.8ได้เพียงสลับเซิร์ฟเวอร์ DNS ของคุณไปที่ปัญหา DNS DNS ของ ISP ก็ไม่สำคัญ
Zeb McCorkle

2
ใช่ แต่คุณควรทำหลังจากที่คุณได้ตรวจสอบแล้วว่าปัญหานั้นเกิดจาก DNS โดยแท้จริงแล้ว มีปัญหาประเภทอื่นและพวกเขาอาจปล่อยให้การกำหนดเส้นทางไปที่ 8.8.8.8 (หรือโปรโตคอล ICMP) ไม่เสียหายขณะทำลายสิ่งอื่น ในทางกลับกันความล้มเหลวในการ ping 8.8.8.8 อาจไม่บ่งบอกถึงปัญหาการเราต์หรือ DNS เลย
LSerni

6

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

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


3

เมื่อฉันทำงานให้กับองค์กรที่มีการเชื่อมต่ออินเทอร์เน็ตที่ไม่มั่นคงฉันมีสคริปต์ที่ทดสอบเซิร์ฟเวอร์ "ตลอดเวลา" หลายแห่งสำหรับการเชื่อมต่อ: อันดับแรกเราเตอร์ LAN / สวิตช์จากนั้นเซิร์ฟเวอร์ไฟล์ในเครื่องจากนั้นเราเตอร์ T1 จากนั้น ISP ของ ISP จากนั้น Google ฉันทดสอบสองหลังเป็นที่อยู่ตัวเลขและเป็นโดเมนเพื่อตรวจสอบปัญหา DNS และ ping ต่อ se หากการปิงใด ๆ ล้มเหลวบ่อยเกินไปฉันก็มีความคิดว่าปัญหาในการเชื่อมต่ออินเทอร์เน็ตนั้นน่าจะมีอยู่จริง

สำหรับที่อยู่ตัวเลขสำหรับ Google ฉันเพิ่งใช้ที่ฉันเคยได้รับจาก nslookup ก่อนหน้านี้ - ฉันไม่เคยเจอกรณีที่มันล่ม ฉันคิดว่า 8.8.8.8 จะง่ายกว่านี้

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


3

ฉันใช้ 4.2.2.1 มานานกว่า 10 ปีแล้วก่อนที่จะมีบริการ DNS สาธารณะของ Googles ดูเหมือนว่าจะเป็นแคช DNS ที่เชื่อถือได้และการตอบกลับ ICMP


3
4.2.2.2 นั้นง่ายต่อการพิมพ์
user1886419

tummy.com/articles/famous-dns-serverนี้กล่าวถึงว่ามันไม่ได้มีไว้สำหรับการใช้งานสาธารณะ
kevinf

2

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


สิ่งนี้จะใช้ได้ต่อเมื่อคุณรู้ว่าเซิร์ฟเวอร์ DNS ของ ISP กำลังตอบสนองต่อการ ping อาจทำงานได้ดี แต่บล็อก ICMP
Olli

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