Я хочу послать себе рычание после того, как сервер SuSE завершит процесс загрузки. Я получил это сообщение socket_sendto(): unable to write to socket [101]: Network is unreachable in
.
Как я могу проверить из командной строки, доступна ли сеть, и ждать, если это не так?
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
. Это пингует сервер одним пакетом и выводит строку «0% потери пакетов». (пробел перед 0% важен) Если команда возвращает строку, вы подключены, иначе не подключены.Ответы:
ping
для внешнего хоста может произойти сбой по множеству причин, лишь немногие из которых действительно говорят что-либо полезное о состоянии вашей собственной сети.В качестве первого шага откройте окно терминала и введите
ip route ls
Вы должны увидеть вывод по линии
Это указывает на то, что ваша локальная сеть является сетевым соединением (
eth0
) с адресом192.168.15.0
и что ее шлюз по умолчанию, через который он получает доступ к остальной части Интернета, можно найти по адресу192.168.15.1
.Далее вы можете попробовать по
ping
этому адресу:Если вы видите что-то похожее на вышесказанное, ваша локальная сеть, по крайней мере, в порядке. На этом этапе вы можете начать поиск с более продвинутыми инструментами, например,
traceroute
увидеть, где может произойти сбой вашего соединения с пунктом назначения.Однако после быстрой проверки Google того, что
growl
на самом деле должно быть, у меня возникает ощущение, что что-то не так. Можете ли вы расширить свой вопрос, чтобы дать нам несколько более подробную информацию о том, что вы пытаетесь сделать, как вы пытаетесь это сделать, и полный вывод ошибок? Линия, которую вы сейчас нам даете, резко обрывается ...источник
ip route get 1.2.3.4
Надежнее, чем просто делатьip route ls
. В первом будут применяться любые правила, действующие в дополнение к маршрутам. Это также устраняет возможность неправильного прочтения таблиц маршрутизации.Очень простой и быстрый способ - использовать
ping
команду.Вы можете просто напечатать
(или cnn.com или любой другой хост) и посмотрите, вернетесь ли вы обратно. Это предполагает, что имена хостов могут быть разрешены (т.е. работает DNS). Если нет, то вы можете указать действительный IP-адрес / номер удаленной системы и посмотреть, можно ли его получить.
Вот страница справочника ping .
Обновление :
В качестве быстрого примера вы можете проверить возвращаемое значение (например, с помощью
"echo $?"
) from,ping
чтобы увидеть, была ли команда выполнена успешно (вы всегда можете перенаправить вывод команды> /dev/nul
). Обратите внимание, я использую-c 1
здесь, но вы могли бы использовать больше.источник
ping -c 2 -n <other host's IP>
и работайте с кодом возврата: если true (0), то у него есть подключение; если false (1), он не может общаться с этой машиной.mtr - это инструмент, который похож на ping, но дает вам больше информации, такой как потеря пакетов, статистика времени прохождения пакетов и т. д.
источник