Для проверки сетевого подключения применяется команда ping. Этой команде передается имя или адрес хоста, подключение к которому надо проверить. Например, проверим подключение к сайту ubuntu.com:
ping www.ubuntu.com
Это заставит команду ping начать непрерывный вывод наподобие следующего:
eugene@Eugene:~$ ping www.ubuntu.com PING www.ubuntu.com (185.125.190.21) 56(84) bytes of data. 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=1 ttl=56 time=67.2 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=2 ttl=56 time=67.0 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=3 ttl=56 time=66.9 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=4 ttl=56 time=66.8 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=5 ttl=56 time=67.2 ms
Его можно прервать с помощью комбинации клавиш Ctrl+Z.
Команда ping также может принимать ряд опций, основные из них:
-c count
: устанавливает количество отправляемых пакетов в count. Команда ping автоматически завершается после достижения этого числа.
-l device
: устанавливает имя сетевого устройства, которое следует использовать. Полезно на компьютере с несколькими сетевыми устройствами.
-i seconds
: устанавливает количество секунд ожидания между отдельными пакетами ping. Значение по умолчанию — 1 секунда.
-f
: отправляет пакеты как можно быстрее, но только после получения ответа.
-l
: отправляет пакеты, не дожидаясь ответа.
-t ttl
: устанавливает время жизни (TTL - time to live) для отправляемых пакетов. Аргумент ttl указывает на максимальное количество маршрутизаторов,
через которые может пройти каждый пакет на пути к месту назначения. TTL уменьшается на единицу для каждого маршрутизатора, через который он проходит, пока TTL не станет равным 0,
что означает, что пакет больше не будет маршрутизироваться.
-b
: отправляет пакеты на широковещательный адрес сети и запрашивает ответ от каждого подключенного хоста, которому разрешено отвечать на ping-пакеты.
Так, используя опцию -c
, можно отправить ограниченное количество пакетов. Например, следующая команда отправляет на указанный хост всего три пакета:
ping -c 3 185.125.190.20
Команда ping используется не только для проверки возможности установления соединения - ее также можно использовать для проверки задержки между текщим компьютером и определенным хостом. Например:
eugene@Eugene:~$ ping -c 4 www.ubuntu.com PING www.ubuntu.com (185.125.190.20) 56(84) bytes of data. 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=1 ttl=51 time=78.3 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=2 ttl=51 time=78.2 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=3 ttl=51 time=78.0 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=4 ttl=51 time=78.0 ms --- www.ubuntu.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 77.974/78.104/78.252/0.118 ms eugene@Eugene:~$
Для проверки задержки надо обратиться к папраметру time
в выводе команды ping. Например, в моем случае это 3004 миллисекунд
Команда трассировки - tracepath позволяет определить путь отправки пакетов. Эта команда может быть полезна, если невозможно подключиться к удаленному хосту, и эта команда может помочь определить, на каком этапе возникает проблема. Стоит отметить, что данная команда во многом замещает другую команду, которая ранее добавлялась по умолчанию - traceroute.
Команда трассировки использует значение TTL отправляемых UDP-пакетов. Суть команды состоит в том, что когда значение TTL достигает 0, пакет отбрасывается маршрутизатором и сообщение отправляется обратно отправителю. При запуске трассировка использует значение TTL, равное 0, что приводит к тому, что пакет отбрасывается самым первым маршрутизатором. Так трассировка идентифицирует первый маршрутизатор.
Далее снова отправляется пакет в целевой пункт назначения, но с TTL, равным 1, что приводит к тому, что пакет отбрасывается вторым маршрутизатором. Так продолжается до тех пор, пока пакет не достигнет конечного пункта назначения.
В качестве аргумента команде передается имя хоста или ip-адрес. Например, обратимся к сайту ubuntu.com:
eugene@Eugene:~$ tracepath www.ubuntu.com 1?: [LOCALHOST] pmtu 1500 1: _gateway 0.593ms 1: _gateway 0.513ms 2: _gateway 0.580ms pmtu 1480 2: no reply 3: 64.233.165.113 7.608ms 4: 20.112.250.133 50.486ms asymm 5 5: port-channel2.core3.sto1.he.net 45.542ms asymm 4 6: no reply 7: port-channel1.core1.ams1.he.net 66.813ms asymm 6 8: port-channel1.core1.lon6.he.net 73.036ms asymm 7 9: port-channel1.core1.lon6.he.net 72.185ms asymm 7 10: website-content-cache-3.ps5.canonical.com 69.701ms reached Resume: pmtu 1480 hops 10 back 9
Таким образом, с помощью команды трассировки можно увидеть каждый пройденный маршрутизатор. Для каждого маршрутизатора отображается его имя, далее его IP-адрес, а затем время прохождения трех пакетов, отправленных на этот маршрутизатор.