Проверка доступности сайта/ресурса из Linux

Дмитрий Корнев
30 января 2018

Несколько полезных команд, позволяющих быстро выполнить диагностику сайта.

Ping

Это самый простой вариант:

ping d1mon.com
PING d1mon.com (31.28.27.162) 56(84) bytes of data.
64 bytes from d1mon.com (31.28.27.162): icmp_seq=1 ttl=51 time=29.7 ms
64 bytes from d1mon.com (31.28.27.162): icmp_seq=2 ttl=51 time=30.9 ms
64 bytes from d1mon.com (31.28.27.162): icmp_seq=3 ttl=51 time=27.4 ms
64 bytes from d1mon.com (31.28.27.162): icmp_seq=4 ttl=51 time=28.1 ms
64 bytes from d1mon.com (31.28.27.162): icmp_seq=5 ttl=51 time=28.5 ms
64 bytes from d1mon.com (31.28.27.162): icmp_seq=6 ttl=51 time=27.9 ms
^C
--- d1mon.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 27.438/28.762/30.883/1.179 ms

Показывает не только доступность сайта, но и собирает статистику, насколько связь с сайтом качественная. Статистика собирается до тех пор, пока вы сами это не остановите, «Ctrl+C».

Traceroute

Если ответы от сайта приходят с заметной задержкой или иногда не приходят вовсе, то бывает полезно посмотреть весь маршрут. Утилита traceroute — аналог tracert в Windows.

traceroute d1mon.com
traceroute to d1mon.com (31.28.27.162), 30 hops max, 60 byte packets
 1  _gateway (192.168.0.1)  0.315 ms * *
....
12  10.0.92.141 (10.0.92.141)  37.551 ms 10.0.92.145 (10.0.92.145)  33.810 ms 10.1.92.105 (10.1.92.105)  35.119 ms
13  198.18.9.239 (198.18.9.239)  32.169 ms  32.897 ms  31.888 ms
14  10.10.13.25 (10.10.13.25)  34.266 ms  37.400 ms  36.562 ms
15  10.254.1.38 (10.254.1.38)  39.955 ms  31.481 ms 10.254.1.110 (10.254.1.110)  30.940 ms
16  185.229.8.54 (185.229.8.54)  30.322 ms 172.20.16.1 (172.20.16.1)  34.986 ms  34.824 ms
17  d1mon.com (31.28.27.162)  29.611 ms 185.229.8.54 (185.229.8.54)  32.439 ms  32.250 ms

Установка в Ubuntu/Debian, если утилиты еще нет в системе:

sudo apt install inetutils-traceroute

cURL

Позволяет не только проверить доступность, но и получить код состояния:

curl -Is https://d1mon.com | head -n 1
HTTP/2 200
curl -Is http://d1mon.com | head -n 1
HTTP/1.1 308 Permanent Redirect

Аналогично на сайте можно проверить доступность страницы или файла:

curl -Is https://d1mon.com/robots.txt | head -n 1
HTTP/2 200

Проверка порта

Далее команды, позволяющие проверить доступность определенного порта:

nmap -p 80 d1mon.com
telnet d1mon.com 80
curl d1mon.com:80

Комментарии