Как можно решить проблемы с сетью в Windows с помощью консоли команд?
Каждый из нас знает (или догадывается), что наиболее популярной в мире операционной системой на настольных компьютерах и ноутбуках является ОС Windows. На момент, когда статья пишется, это 7-я модель линейки. На территории Евразии, однако, она более популярна, нежели на родине создателей. За что она нравится пользователям? Именно Windows – родоначальница удобного и красочного интерфейса, заточенного и оптимизированного для человека, позволяя комфортно выполнять возможные операции. Чтобы там ни говорили, а к производителям стороннего ПО для Windows Microsoft предъявляет не менее жёсткие требования относительно не только производительности, но и внешнего облика будущих программ.
Однако в те времена, когда “удобосмотрительность” и “удобочитаемость” даже Windows откровенно хромали, в состав системы было введено немалое количество полезных функций, которые могли проводить (часто грубое и поверхностное, но всё-таки) тестирование и анализ различных сфер работы системы, которые в обычные рамки не очень вписывались: это были “утилиты диагностики и решения проблем”. Их можно условно разбить на две основные группы:
- системные/ремонтные утилиты
- сетевые утилиты
Находясь внутри Windows, массовый пользователь их, однако, почти не использовал – они не имели графического интерфейса и работа с ними предполагала знание команд и рукописное их использование. С течением времени Windows почти всех их оформила в графический интерфейс или ввела в качестве невидимых инструментов-этапов на время проверки или диагностики возникающих проблем. Это очистка и дефрагментация диска, исправление ошибок поверхности диска и проверка и починка системных файлов, а также возможность проверить и исправить огрехи в сетевом соединении. Некоторые из функций вам известны:
На самом деле почти все из этих функций – лишь красивые “обёртки” для тех самых утилит, которые появились на заре ОС Windows и позволяли пользователю решать некоторые проблемы до определённого этапа. Они никуда не исчезли, их легко можно обнаружить в системных папках Windows, например, C:\Windows\System32). Многие эти утилиты доступны из командной консоли. И сейчас мы разберём те из них, которые отвечают за тестирование и проверку сетевого соединения, а также зондирование интересующих нас в глобальной сети источников. У всех программ есть русская справка.
Запускаем консоль от имени администратора:
и начинаем.
Статью я составлю по принципу группирования по утилитам или/и по вероятным неисправностям, а значит разные ссылки будут могут вас привести на одинаковые абзацы.
По названию утилиты:
По разрешаемым вопросам:
- просматриваемый сайт не обновляется
- по-моему, с моего компьютера что-то качают…
- не открывается какой-то сайт
- нестабильное интернет-соединение
- кто виноват в плохой сетевой связи: роутер, провайдер, сайт?
- что это за сайт и стоит ли ему доверять?
Ipconfig
Инструмент конфигурации IP, позволяющий обнаруживать информацию о сетевой карте компьютера, а также о сетевом соединении в локальной сети. Используется в качестве инструмента проверки качества широкополосного соединения, позволяя при этом изменять некоторые сетевые настройки. При этом утилита самодостаточно используется в случаях:
-
-
- вам нужно проверить всю информацию по устройствам, объединённым в локальную сеть
- необходимо мягко сбросить сетевые настройки в части очистки DNS кэша в попытке настроить соединение с ресурсами, расположенными в глобальной сети, и отображающимися некорректно.
Полезные флаги программы:
/? справка по утилите /all все данные по сетевой конфигурации /displaydns содержание кэша распознавателя DNS /flushdns очистка DNS кэша Проблемы с сетью: не видны изменения, проделанные на сайте
Представьте себе такую ситуацию, когда владелец некоего веб-ресурса размещает обещанную и ожидаемую многими статью, которую, однако, некоторые пользователи на своих компьютерах просто не видят. Это может продолжаться в течение длительного времени. И что же это значит?
Вероятнее всего, предыдущая версия сайта закэширована либо на стороне провайдера, либо на стороне самого пользователя. Если она – версия – будет обнаружена на стороне вашего компьютера, мы её удалим.
Проверим командой
ipconfig /displaydns
какие записи содержит в себе кэш DNS с посещаемых ресурсов на текущий момент:
В зависимости от того, сколько вы посещали ресурсов, список может быть немалым. Потому сразу совет: начните не со справочной проверки содержания кэша, а сразу с его очистки:
ipconfig /flushdns
Если после сброса кэша новенькая статья всё ещё не отображается, проблема не в вашем компьютере/браузере, а на стороне какого-то из провайдеров. В этом случае попробуйте познакомиться с прокси-серверами или, как вариант на скорую руку, обратитесь к расширениям в браузере на манер FreeGate как в статье
Как обойти блокировку сайта провайдером?
Netstat
Старая как мир утилита “нет-стат“, пришедшая в Windows из Unix систем, в которых также сохранилась и поныне. Отображает текущую статистику в отношении сетевых соединений системы. Она сообщит:
- какие из соединений открыты в портах
- какие программы этими портами/соединениями пользуются
- статус/состояние по каждому из соединений.
Полезные флаги:
-a Отображает все соединения и открытые (прослушиваемые) порты -b Отображает имена исполнительных файлов, которые устанавливают соединение или слушают порт [interval] Задаёт временной промежуток между результатами проверки состояния портов, в сек. Консоль будет список обновлять до остановки пользователем (Ctrl + C) Проблемы с сетью: мне кажется, кто-то подключился к компьютеру
Представьте себе ситуацию, в которой пользователь сталкивается с постоянными тормозами при соединении с сетью ДАЖЕ в тех случаях, когда ни один браузер не работает. Если он достаточно неглуп, можно сразу обратиться к Свойствам сетевых соединений и убедиться, что соотношение между скачиваемым и загруженным контентом приемлемое:
Со своими цифрами не сравнивайте – важно понять, что объёмы “скачивания с Windows” на компьютере обычного пользователя НЕ МОГУТ даже приближаться к объёмам загруженного из сети. Данный вариант – крайне груб, однако “непонятки” лучше сразу проверить.
Такая и не только эта проблема может быть вызвана тем, что ваша система заражена и используется злоумышленниками для скачивания личной информации или в качестве бота для организации атак на другие компьютеры. В любом случае команда
netstat –ab
позволит вам прямо сейчас проверить какие программы сейчас лезут в интернет. В предыдущей ссылке вы найдёте более подробную информацию. А пока проверяем:
Столбцы слева направо покажут вам тип протокола, IP адрес, номер порта, статус состояния и имя процесса, который лезет в сеть. Что нужно запомнить:
- большое количество просящихся “наружу” процессов – главная причина тормозящего интернета
- вы должны быть уверены в названии каждого из процессов и лучше проверить каждый не спеша по названию через поисковой запрос, чтобы убедиться, что этот процесс тот, за кого себя выдаёт (одного названия будет мало, лучше проверить и номер порта, который этим процессом используется). Так, например, процесс, использующий порт 6667 без запущенного мессенджера по обмену быстрыми сообщениями – обычный троян.
Tracert
Очередная сетевая утилита, замеченная именно в Unix ОС. Очень полезна, когда необходимо отследить путь, проходимый запросом от вашей Windows к нужному сайту/серверу. Работает на манер следующей в моём списке команды Ping, но запросы имеют особый характер: их задача зафиксировать временной промежуток жизни пакета (TTL). И потому прокладываемый маршрут не стоит воспринимать как окончательно сформированный: tracert этого просто не умеет делать. Она лишь может показать на каком из ТЕКУЩИХ маршрутов пакеты похерились. Таким образом, с помощью Tracert можно:
- определить приблизительный маршрут, прокладываемый вашим браузером до искомого сервера/сайта
- найти слабые звенья в указываемых районах маршрута, из-за которых связь с сайтом наиболее тормозит
Полезные флаги:
Наиболее конкретное применение команды может выглядеть так:
tracert [-d указывать IP, а не имена] [-h указанное-количество-прыжков] [-j список-хостов] [-w таймаут] имя-сервера
Проблемы с сетью: нестабильное интернет-соединение с провалами в работе
Представьте себе: фильмы смотрятся с задержкой, страницы, только что открытые, обновляются раз от раза. Кто виноват? Роутер, стоящий в коридоре, провайдер, ограничивающий скорость, или проблемы на любимых ресурсах?
Вот так может выглядеть проверка пути следования пакетов проверки, если у вас, как вам кажется, появились проблемы с сетью:
примеры использования некоторых флагов команды tracert
Более детальную информацию о состоянии сигнала можно будет получить из результатов работы утилиты Pathping.
Ping
“Пинг” – из самых древних команд, которая появилась в далёком 1983 г. и до сих пор является одним из самых простых, но всё ещё действенных инструментов проверки прямой связи с удалённым устройством. Действует по аналогии с морским сонаром, посылая на устройство сигнал и выжидая ответ. Сегодня команда пинг блокируется как самой операционной системой, так и практически всеми провайдерами: большинство информации, ради которой ping и был придуман, уже недоступен. Однако основные функции, такую как проверка на “живучесть”, он выполняет. Итак, используем ping с целью:
- проверить удалённый компьютер на предмет “готовности пообщаться”
- правильно ли настроен DNS для конкретного доменного имени
Полезные флаги:
ping имя-домена/адрес
Проблемы с сетью: конкретный сайт не открывается
А должен бы… Браузер у вас один и без прокси-настроек. Заблокирован ли сайт, на обслуживании ли, а из кэша поисковика страница открывается всё равно неполноценной: ссылки ведут в никуда, html код откровенно кривой… Что же делать?
Пингуем адрес и ждём ответа:
ping computer76.ru
Здесь самое главное – быть уверенным в правильности адреса, остальное пинг сделает за вас и ответит либо так:
сайт в сети, все пакеты на месте либо так:
такого сайта не существует либо так:
ресурс заблокирован Последняя из представленных ситуаций может случиться и когда адрес фильтруется провайдером (в части входящего ICMP трафика) и по решению государственных органов. Однако, если вы посмотрите внимательно, то будет понятно, что сайт жив и хоть иногда, но работает
. Догадались? Точно: пинг “срисовал” IP адрес хоста, поместив его в квадратные скобки в строке Обмен пакетами с … . Что это значит? А это значит, что остальные компьютеры (за пределами запретов) ищут и находят сайт именно по этому адресу.
Если же вы начинающий администратор веб-ресурса, вы должны помнить, что указанные IP адреса (1)в поиске ping-пробами (как в примере) и (2)в контрольной панели ресурса должны совпадать. В противном случае копайте в сторону DNS настроек: вероятно, нужно просто подождать обновления на DNS серверах.
Pathping
Эта утилита – комбинация утилит Ping и Tracert. Хорошее средство для поиска дополнительной информации в случае, если у вас появились проблемы со связью, учитывая особенности глобальной сети. Может выручить тогда, когда предыдущие две не справились. Pathping прокладывает трассу по выбранному IP, но в отличие от Tracert, она склонна анализировать этапы движения пакетов и их потери на каждом из прыжков. Теоретически может использоваться и провайдерами для проверки сетевых настроек внутри собственной сети. Времени на работу потому занимает поболе, чем остальные, но это объяснимо: информация более детальна, а содержимое данных может вскрыть проблемы в сетевом соединении.
Полезные флаги:
pathping имя_хоста
Информация в итоге куда более детальная и представлена в виде таблицы возможных проблем в части потери пакетов, где:
- прыжок – какой из этапов на маршруте до цели анализируется
- RTT (Round Trip Time) – время ответа на каждом из этапов
- Утер/Отпр – утерянных пакетов среди общего числа отправленных по всему маршруту следования пакетов (Исходный узел)
- % – соотношение потерь в процентах
- Утер/Отпр – утерянных пакетов среди отправленных на конкретном прыжке (Маршрутный узел)
- % – соотношение потерь в процентах
- Адрес – IP адрес устройства на пути следования пакетов
- | – символ, определяющий условную границу между устройствами/прыжками на пути следования пакетов
Как вы понимаете, таким макаром можно пинговать и прослеживать маршрут до доменов любого уровня, которые в этом доменном имени вам приглянулись. А обнаружить их вам помогут следующие сетевые утилиты…
Здесь мы продолжим рассматривать возможности командной консоли. Так что знакомьтесь: утилиты разведки и исследований
Whois
“Ху Из” – не знаю почему, но Windows не включает эту утилиту в состав (явно не из-за неблагозвучного для русского уха названия). Несомненно, на фоне бесплатных ресурсов на тему поиска информации по доменному имени, справка из консоли от имени whois смотрит бледновато. Однако вкупе с остальными консольными утилитами она может принести пользу. Напомню, её в Windows нет, так что качайте:
скачать бесплатно Whois для Windows
Для полноценной работы необходимо скопировать нужную версию в папку System32 и всё готово:
Всякий раз, когда регистрируется новое доменное имя, информация о нём вносится в доменный реестр. Ей пользуется весь интернет, чтобы получить о ресурсе все сведения для работы и правильного отображения. Каждый доменный реестр имеет свой собственный whois-сервер, и, запрашивая информацию по КОНКРЕТНОМУ доменному имени, вы обращаетесь к КОНКРЕТНОМУ whois-серверу. А они могут знать, как вы понимаете, не всё, отвечая лишь за информацию по определённым именам. Таким образом, с помощью Whois можно:
- проверить валидность (реальность, соответствие) доменного имени: ни подлог ли или не просрочен ли, и не собираются ли владельцы о него вскорости избавиться?
- узнать возраст домена – если он зарегистрирован на днях, отнеситесь ко всем действиям на нём с аккуратностью
- все изменения, которые могли иметь место в whois-записях относительно сайта за последние 3 суток; если замечены некие изменения, скорее всего, внутри сайта прямо сейчас происходит некая реорганизация и что похуже…
Полезные флаги:
Наиболее приемлемый вариант поиска информации таков:
Whois имя-домена [whois-сервер]
заключённое в квадратные скобки может при поиске опущено, однако, зная whois-сервер, вы можете рассчитывать на более достоверный и быстрый вариант. На полный список этих серверов можно взглянуть здесь. Так что команда для сайта, зарегистрированного в русской доменной зоне RU, может выглядеть так:
NSlookup
“Эн-Эс-лукап” представляет собой целый набор инструментов с целью поиска специфичных DNS записей. Как и некоторые другие, в Windows NSlookup переехала из Линукс. Итак, если сайт обрастает дополнительными поддоменами и почтовыми серверами с целью расширить функционал, владельцам не обязательно вводить в строй новое доменное имя: почтовые адреса, мобильная версия, дополнительно открытый магазинчик, новостная лента и т.п. отлично смотрятся на том же домене. И NSlookup раскрывает информацию по этим вопросам. Нередко они, вопросы, носят и разведывательный характер, когда я могу получить более-менее полную информацию о содержании какого-то сайта: я увижу всё, что к нему “приклеили” администраторы. Сразу: некоторые ошибки могут возникнуть при проверке сервера, если вы вводите его имя в “человекопонятном” виде. Так что лучше “пробить” его Ping-ом, узнав цифрой IP, а затем подключать к работе NSlookup.
Таким образом, NSlookup позволяет:
- определиться со списком адресов поддоменов (если они есть) искомого домена
- обнаружить контактную информацию по тем или иным поддоменам сайта в виде почтовых ящиков и другую информацию
- составить более точное представление о том, что из себя представляет ресурс в целом, понять структуру, устройство, разделение полномочий по поддоменам и многое другое
Полезные флаги:
nslookup команда на запуск пакета nslookup внутри консоли cmd Server name установка сервера по умолчанию Set type=опция установит тип записи на запрашиваемый пользователем * exit выход из nslookup в консоль cmd * Разновидности команды Set type=опция:- Cname – отобразит канонические имена для этого домена
- Any – отобразит любую информацию, какую смог обнаружить по доменному имени сервера вообще
- Ns – покажет имена серверов, запущенных на данный момент, для указанного доменного имени
- Mx – покажет список почтовых записей (серверов) для указанного домена
- Txt – отобразит текстовое содержание DNS записей по доменному имени с дополнениями и пометками к записям
- A – отобразит все обнаруженные адресные записи (соответствия между именами и IP-адресами) для доменного имени
Проблемы с сетью: что из себя представляет конкретный сайт?
Я хочу получить о посещаемом сайте максимум информации: почтовые адреса, поддомены, на которых есть дополнительные возможности,
Перед тем, как запустить пакет nslookup, можно заставить консоль показывать пути и названия на русском языке, установив нужную кодировку (на определённом этапе, однако, кракозябры вас вас будут подстерегать однозначно, так что лучше использовать английскую локаль).
- я ставлю английскую кодировку, запускаю сначала сам набор nslookup и выбираю нужные флаги; например, для проверки почтовых серверов сайта:
chcp 437 nslookup set type=mx
а теперь ввожу интересующий меня домен (поддомен):
computer76.ru
У меня со структурой сайта всё просто, вы же можете “пробивать” все поддомены интересующего ресурса:
- что ещё есть про сайт в DNS записях? Возьмём “конторы” покрупнее:
set type=txt
Обратите внимание на секцию v=spf1 в обеих записях. Они означают, что TXT содержание используется в качестве SPF записи (она и определяет, кто имеет право отсылать электронную почту с указанного домена). Эта секция может несколько адресов, и в этом случае они выстраиваются в ранг по приоритету получения почты (MX preference). Их список, равно как и правильную работу администрации ресурса лучше контролировать.
Полезные функции:
Справка набора скриптов nslookup русифицирована, так что отсылаю к ней:
nslookup ?
Следует указать, что nslookup принадлежит, скорее, к числу административных инструментов в составе тех, коими пользуются владельцы ресурсов и администраторы сетей. С помощью nslookup решаются различные проблемы с DNS, как то:
- корректность установленных серверов служб сопоставления NetBIOS-имён компьютеров с IP-адресами узлов
- проверка связи с прямой и обратной зонами поиска DNS и т.д.
С командами вы познакомитесь в справке, а я объясню ошибки в ответах.
Ошибки в NSlookup
Timed Out Сервер не отвечает на запрос(ы) по истечение некоторого промежутка времени. Можно изменить вручную период опроса и количество попыток (опции set timeout и set retry). No response from
serverНа этом компьютере не запущено программное обеспечение для серверных доменных имён No records DNS сервер не имеет записей в базе данных по запрашиваемой вами форме, хотя имя компьютера существует. Измените формат запроса с помощью опции set
querytypeNonexistant domain Такого компьютера или DNS имени нет Connection refused или
Network is unreachableСоединение с DNS или указующим (Finger) серверами не может быть установлено Server failure DNS сервер обнаружил внутренние несоответствия в базе данных и не может вернуть достоверный ответ на запрос Refused В ответе на запрос DNS сервером отказано Format error DNS сервер обнаружил ошибку в формате в пакете запроса. Вероятно, в процессе работы скрипта nslookup произошла ошибка Продолжение следует.
-