Если вы привыкли работать с сетевыми командами в Windows — такими как ping или tracert — то, оказавшись в Linux (или внутри WSL), легко запутаться: есть ли тут что-то похожее? Спокойно, всё это на месте и даже больше!
ping
Помню, как на одной из первых пар по сетям преподаватель продемонстрировал ping в командной строке Windows. С тех пор мы и не расставались — даже после полного перехода в Linux (и в WSL тоже пользуюсь именно ей).
Самая простая проверка сети в Linux и WSL — просто введите ping и нужный адрес или домен.
Можно проверить и подключение к локальному компьютеру — так называемому "loopback-интерфейсу". Ping показывает, доступен ли другой хост и отвечает ли он на ваши запросы. Учтите: некоторые сайты специально блокируют ping из соображений безопасности. А ещё по ping удобно проверить, проблема у вас, или сайт реально у всех не работает.
Важное отличие: в Linux ping по умолчанию работает бесконечно, пока не нажмёте Ctrl + C. В Windows ping по умолчанию делает 4 попытки и завершает работу сам. После остановки Linux-версия выведет сводную статистику по пакетам.
Хотите, чтобы ping сработал определённое число раз? Просто добавьте опцию -c с нужным количеством попыток. Например, если нужно четыре запроса:
tracert: traceroute или tracepath в Linux
В Windows очень удобно искать "вторые дна" в маршруте с помощью tracert — он показывает, как ваш трафик проходит до нужного сервера через все промежуточные точки сети. Не все из них отвечают, но эта команда реально спасает при отладке проблем с соединением.
В Linux tracert нет, её заменяет traceroute:
Или попробуйте tracepath:
В разных сборках Linux эти команды могут быть не установлены "из коробки". Если увидите ошибку — просто установите нужный пакет через менеджер пакетов вашей системы.
Совет: попробуйте mtr! Он совмещает ping и traceroute. В Ubuntu команду mtr установить проще простого:
Далее используйте её с адресом сайта или IP — как ping или traceroute:
По умолчанию откроется графическое окно, где маршрут будет тестироваться в реальном времени. Хотите вывод прямо в терминал? Добавьте параметр -t:
Можно задать этот режим навсегда, прописав переменную среды MTR_OPTIONS:
Добавьте это в .bashrc или .zshrc, и команда mtr всегда будет вести себя именно так.
В отличие от обычных traceroute, mtr выводит ещё и подробную статистику по каждому узлу: средние, минимальные, максимальные задержки и даже стандартное отклонение. Разобраться, где "затык" или потери в связи, становится гораздо проще!
ipconfig — теперь просто ip в Linux
В Windows за всеми сетевыми настройками следит ipconfig. В Linux долгие годы этим занималась команда ifconfig, но теперь эстафету приняла новая команда — ip.
Чтобы посмотреть все сетевые интерфейсы на компьютере:
А чтобы узнать свой IP-адрес:
В WSL2 по умолчанию отобразится IP виртуальной машины WSL. Всё, что относится к сетям Windows, лучше смотреть штатными средствами самой Windows — Linux-команды здесь не помогут.
netstat — вместо него lsof или ss
Иногда нужно быстро выяснить, какие программы сейчас подключены к интернету: вдруг что-то подозрительное "бликует" в фоне? В Windows тут незаменим netstat, но в Linux есть аналогичные инструменты.
lsof обычно используют для проверки открытых файлов, но в Linux всё — файл, включая сетевые соединения! Просто введите lsof в терминале:
По умолчанию lsof покажет всё, что открыто в системе. Чтобы вывести только интернет-соединения, используйте опцию -i:
Есть ещё команда ss — она, как и netstat, показывает активные подключения и слушающие порты:
Важно: в WSL эти команды показывают только активность Linux-приложений. Если нужен список подключений Windows-программ — запускайте netstat Windows прямо из-под WSL. Как? Читайте дальше!
nslookup: используйте nslookup или dig на Linux
Чтобы узнать, к какому серверу привязан домен, в Windows используют nslookup. В Linux команды почти не отличаются!
Подпишитесь: только лучшие советы по сетям в Linux и WSL
В Linux просто введите nslookup:
А если хочется больше деталей — используйте dig:
Обе команды покажут, к каким DNS-серверам привязан выбранный домен.
Есть нюанс: в большинстве свежих дистрибутивов Linux dig и nslookup по умолчанию отсутствуют — в частности, в Ubuntu на WSL. Здесь поможет установка пакета bind9-dnsutils.
Добавить его очень просто — одна команда apt, и всё работает:
Бонус: как запускать команды Windows и Linux в WSL одновременно!
Если вы работаете через WSL, используйте возможности обеих систем одновременно!
В Linux-дистрибутиве WSL достаточно дописать ".exe" к любой знакомой команде — и получите версию из Windows. Например, чтобы вызвать netstat Windows:
А если вы всё-таки в Windows, просто пропишите в PowerShell: wsl + нужная команда из мира Linux:
Если вы уже освоили сетевые команды Windows, то в Linux откроется ещё больше возможностей. Особенно в WSL — тут можно пользоваться обоими наборами команд сразу. И, кстати, большинство сетевых утилит Windows когда-то появились именно на Unix — не зря они такие похожие!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru