Apa alamat IP eksternal yang dapat diandalkan untuk melakukan ping untuk memeriksa apakah internet tersedia? [Tutup]


53

Apakah ada server biasa yang selalu aktif, yang dapat saya atur untuk melakukan ping dalam mode otomatis untuk mendeteksi internet tersedia? Suka Google atau apa? Mungkin 8.8.8.8?

Situasi spesifik saya adalah saya menggunakan router WAN ganda. Setiap WAN terhubung ke salah satu ISP. Ketika uang saya berakhir di salah satu ISP, itu tidak memblokir saluran. Alih-alih, itu diarahkan ke halaman peringatan. Jadi, router menganggap internet dalam keadaan aktif, karena data sedang bepergian. Opsi lain untuk router ini adalah melakukan ping ke beberapa alamat untuk memeriksa apakah internet aktif.

Saya ingin tahu, jika saya melakukan ping 8.8.8.8, tidakkah saya akan dilarang oleh Google karena penggunaan yang tidak tepat? Saya curiga, bahwa Google mungkin memiliki beberapa kuota. Jika saya akan melakukan ping ke server nama terlalu sering, maka saya terkadang akan mendapatkan penolakan DNS.


1
Saya sarankan Anda menguji apa yang sebenarnya Anda inginkan. Ketika Anda mengatakan "Internet tersedia", apa maksud Anda?
David Schwartz

1
@ Davidvidchwartz maksudnya internet tidak tersedia. Jika Anda ingin tes tertentu, banyak yang akan berbasis WAN jadi bukan pilihan untuk menguji karena melewati dinding tetapi ISP akan tahu.
barlop

5
ping stackexchange.com;)

6
@barlop Itu agak lucu, tetapi tidak membantu. Apa yang dimaksud dengan "internet tidak tersedia"? Jika saya tidak dapat menjangkau situs web Google, apakah "internet tidak tersedia"? Jika DNS berfungsi tetapi tidak ada halaman web yang berfungsi, apakah internet tersedia? Langkah pertama untuk menjawab pertanyaan adalah memahami pertanyaan itu.
David Schwartz

4
@ DavidvidSchwartz Saya tidak bercanda, dan mengingat bahwa dia berbicara tentang ping IP yang terkait google sebagai tes, dan tidak ping domain seperti www.google.com sebagai tes, dia jelas berarti bahwa dalam kasus di mana DNS tidak tersedia tetapi semua yang lain tersedia, maka ia menganggap Internet tersedia. Tidak tersedia. Jika Anda ingin menemukan tanda tanya, itu akan b apakah router yang buruk adalah 'internet tidak tersedia' tetapi jelas jika Anda dapat memberikan tes 4 bahwa skenario vs WAN tersedia, atau spesifik di dalamnya, itu akan lebih bermanfaat daripada hanya memberinya tes untuk satu kasus tertentu atau lebih buruk, tidak ada kasus.
barlop

Jawaban:


56

Coba ping 8.8.8.8, ini adalah server DNS primer Google. Saya selalu ping untuk memverifikasi koneksi saya dan saya tidak pernah menemukannya. Atau Anda dapat mencoba 8.8.4.4, yang merupakan DNS sekunder Google.


3
pingmenerima TLD juga. Karena itu ping google.comsebaiknya lakukan triknya, jika Anda tidak ingin mengingat empat kali lipat delapan.
Johannes Pille

38
@JohannesPille Mem-ping nama domain memerlukan server DNS yang berfungsi. Dengan demikian bisa gagal jika permintaan DNS gagal, yang tidak menyiratkan bahwa koneksi internet Anda benar-benar turun.
Jonathan

3
Jika server nama resmi Anda akan turun, internet di zona Anda tidak akan banyak berguna, bukan?
Johannes Pille

6
@JohannesPille Anda dapat mengganti DNS utama Anda menjadi 8.8.8.8 sebagai ganti dari standar DCHP
ratchet freak

6
@JohannesPille pingtidak menerima TLD. Itu juga tidak menerima nama domain. Hanya saja sebagian besar nama domain juga merupakan nama host dan diselesaikan ke alamat IP. Jadi orang bisa mengetik http://example.comalih-alih http://www.example.com, sebelum browser sangat pintar untuk menambahkan www.ke nama host jika itu tidak berhasil. (Cobalah ping army.miljika Anda tidak percaya kepada saya.)
Dubu

33

Anda dapat melakukan apa yang dilakukan microsoft: periksa itu

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

mengembalikan "Microsoft NCSI". (Ini memverifikasi bahwa Anda bisa mendapatkan data yang benar dari suatu situs, mis. Bukan portal Wifi atau yang lainnya).

Anda juga dapat memeriksa (mis. Ping) bahwa dns.msftncsi.com

menunjuk ke 131.107.255.255 (ini memverifikasi bahwa DNS berfungsi).

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

NB: Anda juga dapat mengunjungi http://www.msftconnecttest.com/redirect untuk masuk melalui portal captive jika diperlukan.


1
+1. IIRC, Windows juga memiliki API untuk memeriksa tingkat konektivitas internet menggunakan metode ini.
Navin

7
Mengapa ini tidak lebih dipilih? salah satu dari beberapa cara yang sangat baik, terutama untuk Pertanyaan spesifik. Jika ISP Anda mengalihkan lalu lintas Anda ke halaman peringatan, memeriksa jawaban seperti ini adalah salah satu dari beberapa opsi yang dapat diandalkan!
Falco

Tidak lagi berfungsi
user2924019

1
Apa yang tidak berhasil? Situs masih mengembalikan teks yang tepat, dns masih memutuskan ke IP yang tepat, dokumentasi masih mengembalikan info yang tepat
Mark Sowul

FYI Anda tidak bisa melakukan ping 131.107.255.255- waktu habis. www.msftncsi.commelewati a1961.g2.akamai.net, yang memutuskan 23.59.182.83pada saat penulisan - saya tidak tahu apakah itu IP statis atau tidak. Meskipun ini adalah jawaban yang bagus untuk pertanyaan "apa URL yang bagus untuk menguji koneksi internet saya dengan andal" dengan misalnya cURL atau browser, ini bukan IP daripada dapat diperiksa dengan pingperintah sederhana sehingga bukan jawaban untuk pertanyaan khusus ini.
iono

13

Kasus khusus

Anda ingin melakukan ping ke IP tetap "terdekat" yang tidak dapat dirutekan ketika ISP memasuki kondisi lalu lintas yang berlebihan. Pada sistem saya, saya dapat meniru situasi ini dengan gagal otentikasi ADSL. Dalam hal itu, dengan membandingkan hasil traceroute -ndalam kondisi normal dan abnormal, saya melihat bahwa lompatan pertama ke 8.8.8.8 (atau situs eksternal mana pun) yang tidak merespons adalah 151.6.68.45, yang merupakan bagian dari infrastruktur ISP saya.

Dengan menggunakan yang IP sebagai tuan rumah "check-hidup" (setelah mengulangi tes hanya untuk memastikan itu adalah tetap), saya bisa mendeteksi ISP anomali tanpa mendapatkan positif palsu dalam kasus ADSL adalah OK, tetapi routing ISP memiliki masalah .

Tentu saja, saya dapat menggunakan 8.8.8.8 dengan sengaja , dengan alasan bahwa jika saya tidak dapat mencapai infrastruktur Google, saya tidak peduli tentang alasannya , saya mungkin juga mencoba dengan router cadangan.

Kasus umum

"Internet tersedia" adalah hal yang jauh lebih rumit daripada sekadar "Apakah 8.8.8.8 (atau IP lainnya) dapat dijangkau".

Untuk pemeriksaan cepat, kotor, dan tidak selalu dapat diandalkan, ping 8.8.8.8 bagus. Tetapi melihat bagaimana Anda menggunakan IP numerik alih-alih nama domain, Anda telah menambahkan fakta bahwa Anda mungkin memiliki konektivitas IP dan masih "tidak ada Internet" karena masalah DNS.

Diagnosis yang lengkap harus mulai dekat dengan PC Anda.

  • permintaan konfigurasi jaringan lokal dan mengambil gateway dan server DNS.
  • ping gateway. Itu harus bisa dijangkau. Jika tidak, ada masalah lokal.
  • menjalankan traceroute dengan TTL pendek (sebenarnya, traceroute TCP seperti yang disediakan oleh hping lebih baik) dari alamat eksternal, 8.8.8.8 tidak apa-apa.
  • Anda ingin melihat itu, setelah gateway Anda, beberapa node tambahan merespons.

Misalnya di Windows XP di rumah saya punya:

 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

Sekarang coba ping DNS. Itu harus bisa dijangkau. Lebih baik lagi, jalankan pemeriksaan DNS sederhana. Untuk menghindari cache DNS, saya terkadang menggunakan beberapa domain yang akan menjawab semua pertanyaan apa pun yang terjadi. Jadi misalnya

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

sementara jika server DNS tidak dapat diandalkan, permintaan yang sama mungkin mengembalikan alamat portal captive untuk wifi

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

atau 127.0.0.1, atau bahkan kesalahan.

Dalam hal kegagalan DNS saya dapat mencoba traceroute dari alamat IP DNS (atau DNS yang berbeda seperti yang OpenDNS). Itu tidak hanya akan memberi tahu saya apakah masalahnya adalah DNS atau ISP, itu akan sering memungkinkan saya untuk mengatasi gangguan.

Jika semuanya baik-baik saja pada saat ini saya tahu bahwa koneksi berfungsi, secara umum; mungkin masih gagal untuk beberapa situs. Yang saya butuhkan sekarang adalah untuk isup.mebangun :-), lalu memeriksa

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

atau situs seperti Down Detector akan memberi saya informasi tentang "cuaca Internet".

Sebenarnya, di server rumah saya ada cache Squid dan halaman kesalahan berisi data terakhir yang berhasil diambil dari statistik situs, jadi saya mungkin melihat sesuatu seperti

                Google.com is not reachable

                STORM ALERT: 12 out of 14 sites are unreachable!

sama seperti yang terjadi Jumat lalu di sini di Italia.


Jika Anda dapat melakukan ping 8.8.8.8, alihkan saja server DNS Anda ke sana sehingga masalah DNS ISP tidak masalah
Zeb McCorkle

2
Ya, tetapi Anda harus melakukannya hanya setelah Anda memverifikasi bahwa masalahnya memang berdasarkan DNS. Jenis masalah lain ada, dan mereka mungkin meninggalkan perutean ke 8.8.8.8 (atau protokol ICMP) utuh saat merusak sesuatu yang lain. Sebaliknya, kegagalan untuk melakukan ping 8.8.8.8 mungkin tidak mengindikasikan masalah routing atau DNS sama sekali.
LSerni

6

Seperti yang dikatakan pasangan, Anda dapat melakukan ping, katakanlah, DNS primer Google untuk mendapatkan respons tetapi tidak bergantung pada satu alamat. Alamat (karena beberapa alasan) mungkin tidak aktif untuk jangka waktu tertentu, di mana perangkat lunak Anda akan melaporkan "tidak ada konektivitas", ketika, pada kenyataannya, konektivitas jaringan Anda mungkin tidak mengalami masalah. Anda harus selalu berusaha berkomunikasi dengan lebih dari satu alamat sehingga Anda dapat mengesampingkan negatif palsu.

Saya akan menulis fungsi yang mem-ping alamat sekali, jika gagal pindah ke yang lain (hingga, katakanlah, tiga IP) dan saat Anda mendapatkan beberapa balasan positif, fungsi tersebut harus memberi tahu aplikasi / skrip Anda bahwa Internet tersedia dan terus.


3

Ketika saya bekerja untuk sebuah organisasi dengan koneksi internet yang flakey, saya memiliki skrip yang menguji beberapa server "selalu up" untuk konektivitas: pertama router LAN / switch, kemudian server file lokal, lalu router T1, lalu DNS ISP, lalu Google. Saya menguji dua yang terakhir sebagai alamat numerik dan sebagai domain, untuk memeriksa masalah DNS vs ping per se. Jika salah satu ping gagal terlalu sering, saya mendapat ide di mana masalah dalam menghubungkan ke internet yang paling mungkin ada.

Untuk alamat numerik untuk Google, saya hanya menggunakan satu yang saya dapatkan dari nslookup sebelumnya - saya tidak pernah menemukan kasus di mana itu turun. Saya kira 8.8.8.8 akan lebih sederhana.

Cukup sering, ketika orang-orang menelepon untuk mengatakan "internet sedang down", ternyata hanya DNS yang down; kita mungkin menyebutnya hal-hal yang berbeda, tetapi dari sudut pandang kolega saya, internet tidak tersedia dalam kedua kasus tersebut.



2

Coba server DNS Anda, Anda tetap akan membutuhkannya (dan koneksi luar ISP Anda mungkin sedang turun). Itu benar-benar tergantung pada apa yang Anda inginkan. Jika Anda perlu mengakses layanan spesifik, periksa.


Ini hanya valid jika Anda tahu bahwa server DNS ISP merespons ping. Mungkin berfungsi tetapi memblokir ICMP.
Olli

Ini adalah jawaban paling sederhana dan terbaik, IMO.
njbair
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.