Скрипт, позволяющий посмотреть трассу прохождения пакетов. Программа traceroute бывает установлена не на всех компьютерах, и для установки ее может потребоваться наличие подключения к Интернету. А это может быть проблематично, если у вас какие-то проблемы с сетью. Особенность работы этого скрипта в том, что при указании IP-адреса он работает очень быстро, в связи с тем, что нет необходимости преобразовывать доменное имя в IP-адрес. Воспользуемся командой ping.
pingtrace.sh:
#!/bin/bash REMOTE_HOST=$1 REMOTE_HOST_2=`host $1 | grep 'has address' | awk '{printf $4}'` TARGET_HOST="_" TARGET_TTL=1 echo Tracing host $REMOTE_HOST\($REMOTE_HOST_2\) while [ "$REMOTE_HOST" != "$TARGET_HOST" -a "$REMOTE_HOST_2" != "$TARGET_HOST" ] do TARGET_HOST=`ping -c 1 -t $TARGET_TTL $REMOTE_HOST | grep 'exceeded' | awk '{printf $2}'` if [ "$TARGET_HOST" != "" ] then echo $TARGET_HOST, TTL=$TARGET_TTL TARGET_TTL=$(($TARGET_TTL+1)) else echo $REMOTE_HOST, TTL=$TARGET_TTL exit fi done
Необходимо, однако, помнить, что ping и traceroute используют разный тип пакетов во время работы, и если на сетевом уровне существуют соответствующие ограничения, то скрипт работать не будет.
[wysija_form id=»2″]
Команда пинг (ping) и tracert (traceroute) — как правильно использовать?
Не понял вопроса. Ping используют обычно для проверки доступности хостов, tracert (traceroute) — для трассировки, просмотра списка узлов, через которые проходит пакет до указанного узла.
Если вы о параметрах командной строки, то добавьте к командам либо — -help (в *nix), либо /? (Windows)