LINUX.ORG.RU

Как правильно удостовериться, что есть интернет

 ,


2

2

Я пользуюсь в своих скриптах пингом на гугл: ping -c1 8.8.8.8 | grep -F "64 bytes from" и далее по тексту..

Два вопроса.

Первый. Как правильно удостоверяться на десктопе(в скриптах), что есть подключение к интернету?

Второй вопрос. Я столкнулся, что выше приведенная команда сейчас у меня не работает. Вернее сказать, один пинг из трёх не проходит(1 packets transmitted, 0 received, 100% packet loss, time 0ms). Особо я не исследовал, но где-то так. При этом yahoo пингуется без пропусков.. Вообще интернет нормальный. ЧЯДНТ?

один пинг из трёх не проходит

А ты действительно думаешь, что у DNS сервера ICMP в приоритете перед остальным трафиком стоит?

Valkeru ★★★★
()
Ответ на: комментарий от anonymous

Я не пользуюсь nm. Вернее, там где пользуюсь, там пригодится. Но в данном случае это домашние компьютеры, которые попеременно выходят в интернет через pppoeconf или NAT.

forest22
() автор топика
Ответ на: комментарий от Valkeru

Я так не думаю, но до сих пор работало. Сейчас обратил внимание, что метод несовершенен.

forest22
() автор топика

В порядке тяжёлой наркомании

Можно стягивать курлом или wget какой-нибудь небольшой файлик, 100% доступный в любое время по прямой не меняющейся ссылке и проверять его наличие. Если нравится вариант с пинанием DNS - dig google.com ns @8.8.8.8 +short | head -n 1

Valkeru ★★★★
()
Последнее исправление: Valkeru (всего исправлений: 2)
Ответ на: комментарий от Legioner

вдруг ТС в одном датацентре с серверами гугла, дожирающими последний запас солярки в генераторах,а вокруг перерезанные кабели, разруха и вообще третья мировая началась? )

Harald ★★★★★
()
Ответ на: комментарий от Harald

Ну ТСу же важен некий абстрактный факт наличия интернета, а не конкретные сервисы. Как по-мне, раз гугл работает, значит интернет есть. А что там вокруг — это уже проблемы вокруга.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

некий абстрактный факт наличия интернета

и по каким признакам его можно определить?

Harald ★★★★★
()
Ответ на: комментарий от forest22

ладно, другой вариант

ты забыл оплатить интернет, и провайдер при попытке открытия любого сайта редиректит тебя на свою страничку с предложением заплатить, внезапно сервер той странички тоже отдаёт «The document has moved.» и твой скрипт выдаёт ошибочный результат, что интернет есть

Harald ★★★★★
()
Ответ на: комментарий от Harald

Мама поймёт, что нет интернета, и выключит комп.

Или включит свой судоку.

forest22
() автор топика
Ответ на: комментарий от Legioner

Да гугл регулярно лежит, о чём ты? http://currentlydown.com/google.com#2016-05-14

Не говоря уж о том, что случается так, что часто выпадают отдельные датацентры на пути трафика, например, в связи с какерской атакой. Или там чебурашка шалит.

anonymous
()
Ответ на: комментарий от forest22

Учитывая, что гуглоком переадресовывает на региональную версию - да. Если принципиально, чтобы был код 200 - curl -I https://yandex.ru

Valkeru ★★★★
()
Ответ на: комментарий от forest22

Там пару месяцев назад картинка была красная и куча сайтов на территории СШП была в дауне. Downtime: none относится распространяется на крайний месяц или около того.

anonymous
()
Ответ на: комментарий от anonymous

А может и только на сегодняшний день.

anonymous
()
Ответ на: комментарий от anonymous

Не говоря уж о том, что случается так, что часто выпадают отдельные датацентры на пути трафика, например, в связи с какерской атакой. Или там чебурашка шалит.

Ну тогда надо формализовать понятие «есть интернет». Можно пинговать свой модем. Можно пинговать ближайший провайдерский гейтвей. Можно пробовать google.[mycountry]. Можно пробовать рандомные 8 сайтов из топ-100, если больше 50% ответили, значит всё хорошо. Смотря зачем это всё нужно.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Можно пинговать свой модем. Можно пинговать ближайший провайдерский гейтвей

Я, принципе, могу иметь адрес провайдерского хоста с компа, через который я выхожу в интернет..

Короче, да, если я соединен с првайдером, то есть интернет.

Хотя, Harald говорит, что это не обязательно. Наверно поэтому я пингую.

forest22
() автор топика
Ответ на: комментарий от forest22

Интересно все-таки, что это за документ и куда он мувед

valkeru@valkeru-laptop:~$ curl -I google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.ru/?gfe_rd=cr&ei=EZVlV_CvHZLDNP2Vu7AE
Content-Length: 256
Date: Sat, 18 Jun 2016 18:38:09 GMT

Ну и кагбе в самом выхлопе написано:

valkeru@valkeru-laptop:~$ curl google.com
<HTML><HEAD><meta http-equiv=«content-type» content=«text/html;charset=utf-8»>
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.ru/?gfe_rd=cr&ei=-Z1lV43zJMnEsAHa5J_ABA">here</A>.
</BODY></HTML>

Valkeru ★★★★
()

Из каментов понятно что интернет может быть и может не быть в одно и то же время. Поэтому для определения нужен квантовый скрипт и квантовый кампутер

zolden ★★★★★
()

Сначала определи для себя где с твоей точки зрения начинается интернет.

traceroute github.com
traceroute to github.com (192.30.252.120), 30 hops max, 60 byte packets
 1  KEENETIC_GIGA (192.168.0.1)  6.258 ms  6.290 ms  6.288 ms
 2  172.16.9.34 (172.16.9.34)  71.062 ms  71.087 ms  71.107 ms
 3  172.16.10.254 (172.16.10.254)  71.104 ms  71.100 ms  79.181 ms
 4  pgag-cr02-ae52.100.nnov.stream-internet.net (85.140.1.253)  79.189 ms  79.181 ms  79.170 ms
 5  bek-cr01-ae5.52.nnov.stream-internet.net (195.34.59.98)  129.169 ms  129.194 ms  129.194 ms

Вот п.5 - это уже интернет или ещё не очень?

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

можно любой выхлоп traceroute сымитировать со стороны провайдера, это вовсе не означает, что интернет на самом деле есть )

Harald ★★★★★
()
Ответ на: комментарий от Harald

И факт существования Вселенной не доказан, кстати. Какой уж тут интернет.

Deleted
()

wget ya.ru, wget linux.org.ru и еще 10-20-100 сколько нужно адресов, потом проверяешь сколько файлов скачал.

ilovewindows ★★★★★
()

Никак, интернета не существует, это заговор ротшильдов, всё снято в голливуде.

anonymous
()

Просто сделал солянку из перечисленных выше способов. Пока работает.

forest22
() автор топика
Ответ на: В порядке тяжёлой наркомании от Valkeru

В порядке тяжёлой наркомании

Тяжёлая - это попросить у провайдера BGP full view и оценивать размер принятой таблицы. :-)

AS ★★★★★
()
Ответ на: комментарий от r0ck3r

плюсую оценку кода возврата. разве что -q добавить, чтобы мусор не захламлять

ananas ★★★★★
()
Ответ на: комментарий от r0ck3r

Потом это чем угодно точно так же окажется в локальной сети.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.