Пинг е проста, широко използвана помощна програма за междуплатформени мрежи за тестване дали даден хост е достъпен на интернет протокол (IP) мрежа. Работи чрез изпращане на серия от Протокол за контролни съобщения в Интернет (ICMP) ECHO_REQUEST съобщения до целевия хост и чака an ICMP ехо отговор (или ECHO_RESPONSE).
Можете да стартирате ping тест, за да установите дали вашият компютър може да комуникира с друг компютър (целеви хост); помага ви да определите:
- Дали целевият хост е достъпен (активен) или не.
- За да измерите времето, необходимо на пакетите да стигнат до целевия хост и обратно до вашия компютър (времето за отиване и връщане (rtt) при комуникация с целевия хост) и
- Загубата на пакети се изразява като процент.
Неговият изход е списък с отговори от целевия хост заедно с времето, необходимо на последния пакет да достигне целевия хост и обратно до вашия компютър.
Той също така показва статистическо обобщение на теста, обикновено включващо броя на предадените и получените пакети, процента на загуба на пакети; минималното, максималното, средното време за обиколка и стандартното отклонение на средната стойност (mdev). В случай, че ping тестът е неуспешен, ще видите съобщения за грешка като изход.
Примери за команда Ping в Linux
В тази статия ще обясним 12 практичен ping команда примери за тестване на достъпността на хост в мрежа.
Съдържание
1. Ping домейн или IP адрес
Можете да стартирате прост пинг тест, за да видите дали целевият хост www.google.com е достижима или не. Можете също да използвате IP адрес вместо името на домейна, както е показано.
$ ping www.google.com OR $ ping 172.217.27.196
Примерен изход:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
От резултатите от горната команда, пинг беше успешен и нямаше загубени пакети. Едно важно нещо, което трябва да вземете под внимание, в резултата от ping тест е времето в края на всеки ping отговор.
Ако приемем, че извършвате ping тестване на вашите сървъри, тогава стойността тук има голямо значение, в зависимост от типа приложение, което изпълнявате на сървър.
Ако, например, имате уеб приложение, при което една потребителска заявка води до толкова много заявки към база данни(и) за генериране на резултати в потребителския интерфейс, тогава по-ниското време за ping до този конкретен сървър предполага, че се предават повече данни без забавяне и обратното е вярно.
2. Ping ехо заявка
Можете да посочите броя на ECHO_REQUESTs да бъде изпратен, след което излиза ping, използвайки -c
флаг, както е показано (в този случай ping тестът ще спре след изпращане 5 пакети).
$ ping -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. Задайте Ping Interval Timeout
The -i
флаг ви позволява да зададете интервали в секунди между изпращането на всеки пакет, стойността по подразбиране е една секунда.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. DoS атака с Ping Flooding, известна още като Ping of Death
За да определите реакцията на вашата мрежа при условия на високо натоварване, можете да стартирате „наводнение пинг”, който изпраща заявки възможно най-бързо, използвайки -f
превключвател. Само root може да използва тази опция, в противен случай използвайте sudo команда за получаване на root права.
$ sudo ping -f www.google.com OR $ sudo ping -f -i 3 www.google.com #specify interval between requests PING www.google.com (172.217.163.36) 56(84) bytes of data. .......................................................................................................................................................................................^C --- www.google.com ping statistics --- 2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms
5. Ping излъчване на LAN
Можете да активирате ping за излъчване, като използвате -b
опция, която ще получи отговор от всички IP адреси, свързани към вашата LAN мрежа.
$ ping -b 192.168.0.0
6. Задайте Ping TTL стойност
За да ограничите броя на мрежовите скокове (TTL – Време за живот), които сонди преминават, използвайте -t
знаме. Можете да зададете произволна стойност между 1 и 255; различните операционни системи задават различни настройки по подразбиране.
Всеки рутер, който получава пакета, изважда поне 1 от броя и ако броят все още е по-голям от 0рутерът препраща пакета към следващия хоп, в противен случай го отхвърля и изпраща ICMP отговор обратно към вашия компютър.
В този пример, TTL е надвишено и пинг тестът е неуспешен, както е показано на екранната снимка.
$ ping -t 10 www.google.com

7. Задайте размер на Ping пакета
Размерът на пакета по подразбиране трябва да е достатъчен за ping тест, но можете да го промените, за да отговаря на вашите специфични нужди от тестване. Можете да посочите размера на полезния товар в броя байтове, като използвате -s
опция, която ще доведе до общ размер на пакета от предоставената стойност плюс 8 допълнителни байтове за ICMP заглавката.
$ ping -s 1000 www.google.com
8. Задайте Ping Preload
Ако се добави предварително зареждане, ping изпраща толкова много пакети, които не чакат отговор. Имайте предвид, че само коренът може да избере предварително зареждане от повече от 3в противен случай използвайте sudo команда за получаване на root права.
$ sudo ping -l 5 www.google.com
9. Задайте Ping Timeout
Също така е възможно да зададете времето за изчакване на отговор в секунди, като използвате -W
опция, както е показано.
$ ping -W 10 www.google.com
10. Задайте Ping Timeout в секунди
За да зададете a таймаут за секунди, преди ping да излезе, независимо колко пакета са изпратени или получени, използвайте -w
знаме.
$ ping -w 5 www.google.com
11. Ping Debug ICMP пакети
The -d
опция ви позволява да активирате подробностите за IP пакета за отстраняване на грешки, както е показано.
$ ping -d www.google.com
12. Пинг подробен изход
Можете да активирате подробен изход, като използвате -v
флаг, както следва.
$ ping -v www.google.com
Забележка: Пинг не е задължително да се използва за тестване на мрежова свързаност, той просто ви казва дали даден IP адрес е активен или неактивен.
Обикновено се използва заедно с програмата traceroute, но MTR – модерен инструмент за мрежова диагностика съчетава функционалността на пинг и traceroute и предлага много допълнителни функции.
За изчерпателен списък с мрежови инструменти вижте: Linux Network Management, Troubleshooting, and Debugging
Резюме
Пинг е много често срещан метод за отстраняване на проблеми с достъпността на хостове в мрежа. В тази статия обяснихме 12 практически примери за команда ping за тестване на достъпността на мрежово устройство. Споделете вашите мисли с нас чрез формата за коментари по-долу.
Публикациите се превеждат автоматично с google translate