Проверить интернет соединение линукс

How can I check Internet connectivity in a console?

Is there an easy way to check Internet connectivity from console? I am trying to play around in a shell script. One idea I seem is to wget —spider http://www.google.co.in/ and check the HTTP response code to interpret if the Internet connection is working fine. But I think there must be easy way without the need of checking a site that never crash 😉 Edit: Seems like there can be a lot of factors which can be individually examined, good thing. My intention at the moment is to check if my blog is down. I have setup cron to check it every minute. For this, I am checking the HTTP response code of wget —spider to my blog. If its not 200, it notifies me (I believe this will be better than just pinging it, as the site may under be heavy load and may be timing out or respond very late). Now yesterday, there was some problem with my Internet. LAN was connected fine but just I couldn’t access any site. So I keep on getting notifications as the script couldn’t find 200 in the wget response. Now I want to make sure that it displays me notification when I do have internet connectivity. So, checking for DNS and LAN connectivity is a bit overkill for me as I don’t have that much specific need to figure out what problem it is. So what do you suggest how I do it? Here is my script to keep checking downtime for my blog:

#!/bin/bash # Sending the output of the wget in a variable and not what wget fetches RESULT=`wget --spider http://blog.ashfame.com 2>&1` FLAG=0 # Traverse the string considering it as an array of words for x in $RESULT; do if [ "$x" = '200' ]; then FLAG=1 # This means all good fi done if [ $FLAG -eq '0' ]; then # A good point is to check if the internet is working or not # Check if we have internet connectivity by some other site RESULT=`wget --spider http://www.facebook.com 2>&1` for x in $RESULT; do if [ "$x" = '200' ]; then FLAG=1 # This means we do have internet connectivity and the blog is actually down fi done if [ $FLAG -eq '1' ]; then DISPLAY=:0 notify-send -t 2000 -i /home/ashfame/Dropbox/Ubuntu/icons/network-idle.png "Downtime Alert!" "http://blog.ashfame.com/ is down." fi fi exit 

This way I need to check for internet connectivity only where there is an issue with my blog response code. Its a bit heavy (as I am not using ping) but should not give any false positives. Right? Also how can I randomize pinging to a different site everytime, like facebook, google, yahoo etc. Also (I was trying to avoid any I/O) I can write to a log file by which I can check the count of downtime checks and then skip further checks till the site is down or cause longer checks (10mins instead of every min). What do you think?

Читайте также:  Samsung scx 4521f linux

Источник

Команды Linux для тестирования подключения и скорости передачи данных

img

Вот несколько команд Linux, которые могут проверять скорость соединения, анализировать задержки и проверять, доступны ли другие системы.

Существует довольно много инструментов, которые могут помочь проверить ваше подключение в командной строке Linux. В этой статье мы рассмотрим ряд команд, которые могут помочь оценить скорость вашего соединения, проверить, можете ли вы связаться с другими системами, проанализировать задержки соединения и определить, доступны ли определенные службы.

Ping

Команда ping-это самая простая и наиболее часто используемая команда для выполнения базового тестирования подключения. Он посылает пакеты, называемые эхо-запросами, и это пакеты, которые запрашивают ответ. Команда ищет ответы и отображает их вместе с тем, сколько времени занял каждый ответ, а затем сообщает, какой процент запросов был получен.

Время отклика будет в значительной степени зависеть от того, сколько маршрутизаторов должны пересечь запросы и перегружена ли ваша сеть. Пингинг локальной системы может выглядеть так. Обратите внимание на небольшое количество миллисекунд, необходимых для каждого ответа, и потерю пакетов в 0%.

Рис. 1 Отправка эхо-запросов в локальной сети

В системах Linux эхо-запросы будут продолжаться, пока вы не наберете ^c (CTRL+C), чтобы их остановить. Некоторые системы, включая Windows, выдают четыре эхо-запроса, а затем останавливаются самостоятельно. Удаленная система будет реагировать значительно дольше. Отсутствие потери пакетов — это всегда хороший знак, и даже когда вы проверяете связь с удаленной системой, вы, как правило, ожидаете получить ответ от нее, если только не возникнет проблема.

Команда ping обеспечивает простой способ проверки сетевого подключения для домашней сети. Отправляйте запросы в общедоступную систему, и вы должны ожидать 0% потери пакетов. Если у вас возникли проблемы, команда ping, скорее всего, покажет значительную потерю пакетов.

Читайте также:  Ssh сервер linux mint

Рис. 2 Отправка эхо-запросов в глобальную сеть Интернет

Traceroute

Предварительно установите пакет traceroute

Traceroute-это гораздо более сложная команда, поскольку она выполняет серию проверок, чтобы увидеть, сколько времени занимает каждый переход между маршрутизаторами, и сообщает об этом обратно. Если общая проверка занимает много времени, это может означать, что один или два прыжка перегружены. Если сообщенные результаты сводятся к последовательности звездочек, то последний достигнутый маршрутизатор не может ответить на используемый тип пакета (UDP по умолчанию в системах Linux).

Команда traceroute использует хитроумную технику для определения времени каждого прыжка. Он использует параметр времени жизни (TTL), который уменьшается с каждым прыжком, чтобы гарантировать, что каждый маршрутизатор на маршруте в какой-то момент отправит обратно сообщение об ошибке. Это позволяет traceroute сообщать о продолжительности времени между каждым переходом.

Вот пример использования traceroute для доступа к локальной системе (один переход и быстрый ответ):

Рис. 3 Применение команды traceroute в локальной сети

В следующем примере, команда traceroute пытается связаться с удаленной системой, но не может сообщить о каждом прыжке (те, которые показывают звездочки), потому что маршрутизаторы на некоторых прыжках не отвечают на тип используемого пакета. В этом нет ничего необычного.

По умолчанию максимальное количество переходов для traceroute составляет 30. Обратите внимание, что этот параметр отображается в первой строке вывода. Его можно изменить с помощью аргумента -m (например, traceroute -m 50 merionet.ru).

Рис. 4 Применение команды traceroute в глобальной сети для проверки сайта merionet.ru Рис. 4 Применение команды traceroute в глобальной сети для проверки сайта google.com

Netcat

Предварительно установите пакет netcat

Команда netcat-это многофункциональная сетевая утилита для записи данных по сети из командной строки, но в форме, показанной ниже, позволяет просто определить, можно ли подключиться к определенной службе. Первоначально он был написан для nmap (the network mapper).

Отправляя нулевые байты (параметр -z) на конкретный порт в удаленной системе, мы можем определить, доступна ли соответствующая служба, не прибегая к фактическому использованию соединения.

Читайте также:  Забавные команды в linux

Рис. 5 Применение команды netcat

Как вы, наверное, заметили, команду netcat можно вызвать с помощью nc или ncat.

Speedtest

Предварительно установите пакет speedtest-cli

Инструмент speedtest проверяет скорость вашего соединения с вашим интернет-провайдером. Обратите внимание, что скорость загрузки нередко бывает значительно ниже скорости выгрузки (отдачи). Интернет-провайдеры понимают, что большинство людей загружают значительно больше данных, чем отправляют. Инструмент speedtest выделит любые различия. В приведенном ниже тесте скорость загрузки не намного превышает скорость загрузки.

Рис. 6 Применение утилиты speedtest для проверки скорости Интернет-соединения

Результаты команд будут несколько отличаться от теста к тесту.

Вы также можете использовать утилиту speedtest через браузер, зайдя на сайт speedtest.net.

nethogs

Команда methods использует совершенно иной подход, чем команды, описанные выше. Он группирует использование полосы пропускания по процессам, чтобы помочь вам точно определить конкретные процессы, которые могут вызвать замедление сетевого трафика. Другими словами, он помогает вам точно определить «net hogs«.

Источник

Оцените статью
Adblock
detector