- Windows ПК как генератор ARP флуда
- Протокол ARP и «с чем его едят» (дополнено)
- Обнаружение сетевых устройств
- Обнаружение
- Сбор сведений
- Как это работает на примере Zabbix
- Работа с сетью в командной строке Windows (CMD)
- Утилита ARP.EXE
- Утилита NETSH.EXE
- Утилита NETSTAT.EXE
- Утилита NET.EXE
- Утилита NSLOOKUP.EXE
- Утилита PATHPING.EXE
- Утилита PING.EXE
- Утилита ROUTE.EXE
- Утилита TELNET.EXE
- Утилита TRACERT.EXE
- Примеры практического использования сетевых утилит командной строки.
Windows ПК как генератор ARP флуда
Доброго дня, %username%!
Хочу поведать поучительную историю, которая случилась сегодня у меня на работе. Работаю я в одной очень известной компании предоставляющей, в числе прочих, услуги доступа ко всемирной паутине. И суть моей работы заключается в поддержании нормальной работы сети передачи данных. Сеть эта построена по классической структуре Ядро, Агрегация, Доступ. Коммутаторы доступа приблизительно на половину производства D-Link, вторая (большая) часть от Huawei. Управление всем сетевым железом вынесено в отдельный вилан, через него же оно всё и мониторится.
И вот сегодня поутру стало твориться нечто неладное. Система управления и мониторинга железа стала выкидывать «портянки» событий «коммутатор *** офлайн»-«коммутатор *** онлайн». Причём сообщения эти приходили по сегментам сети, в которых установлены были коммутаторы производства Huawei. Беглый просмотр состояния шторм-контроля и загруженности интерфейсов на агрегации ничего не дал, ничего не сказали и логи. День обещал быть весёлым…
Звонок от службы мониторинга сети не добавил радости — завели инцидент по выпадению домовых узлов. При этом массовых жалоб от клиентов об ограничениях в получении услуги не поступало. Удалось даже найти клиента в проблемном сегменте, который отвечал на ICMP обнадёживающими 0,8-ю милисекундами. Попытки зайти на какой-либо коммутатор по телнету были сродни пытке: коннект либо отваливался по тайм-ауту, либо приходилось минутами ждать реакции на ввод логина/пароля и на команды. Отчаявшись посмотреть лог «полуживого» коммутатора я, для очистки совести, помучившись изрядно, перезагрузил его. Секунд 10 после старта коммутатор был жив, бодренько отвечая на ICMP запросы, но тут же «пинги» на глазах стали принимать совершенно неприличные значения в 800-1000 мс, а потом и вовсе пропали.
Тут до меня стало доходить, что процессоры, отнюдь не высокопроизводительные у коммутаторов, явно чем-то загружены и, по всей видимости, на все 100%. Запустив tcpdump на vlan-интерфейсе сервера мониторинга я нашел причину высокой загрузки CPU на коммутаторах. Аномально большое количество ARP трафика в вилане управления — несколько тысяч пакетов в секунду. Причина найдена, но вот как отыскать её источник? Было решено заблокировать вилан управления на всех портах агрегации и потом по очереди разблокировать его обратно пока не будет найден проблемный сегмент.
Я успел проделать эту операцию всего на двух узлах агрегации, как вдруг внезапно вся эта свистопляска прекратилась. Но очень подозрительным мне показалось то, что минутою раньше мой коллега, сидящий за соседним столом, вынул сетевой патчкорд из порта коммутатора который служил для доступа к оборудованию и его настройки. Я попросил коллегу снова подключить свой ноутбук в сеть — спустя 10 секунд «пинги» на коммутаторы опять взлетели до безобразных значений. Источник был найден, но этот ноутбук не один месяц использовался для обновления ПО и настройки сетевого оборудования, что же могло с ним такое случиться?
Для начала решили, хотя и наличествовал установленный антивирус, просканировать на наличие зловредов утилитами от доктора и лаборатории. Ничего существенного найдено не было. Попробовали загрузиться в Linux — сетевая молчала, никакого флуда. Обратно загрузили Windows — стойкий эффект, сразу же вилан наполнялся ARP флудом. Но буквально вчера с ноутбуком всё было в порядке! И тут я зачем-то полез в настройки сетевой карты… Коллега мой не часто занимается настройкой железа и обновлением ПО на нём, поэтому запомнить значения маски и шлюза для сети управления он не мог. И он допустил досадную ошибку в конфигурации сетевой карты — вместо 255.255.224.0 для маски подсети он указал 255.255.254.0!
Но что ещё более меня поразило, так это то, что несмотря на явно неправильную конфигурацию (шлюз в ней оказался за пределами сетевого сегмента из-за неверно указанной маски), операционка безропотно проглотила этот бред! Превратив ноутбук в генератор ARP трафика. Вот что было в настройках протокола ipv4:
При такой маске подсеть ограничена IP адресами 10.220.198.1 — 10.220.199.254 и шлюз 10.220.192.1 лежит вне этого диапазона. Операционная система не должна разрешать присваивать адрес шлюза из другой сети. Это явный баг!
Был бы признателен если бы кто-то взял на себя труд объяснить механизм возникновения ARP флуда в данной ситуации, от себя же хочу пожелать всем специалистам сетевикам внимательности и ещё раз внимательности. Как говорится — семь раз отмерь, один раз отрежь.
Протокол ARP и «с чем его едят» (дополнено)
Спасибо хабраюзеру hardex за публикацию первоначальной статьи, а также всем, кто плюсанул в карму для возможности моей собственноручной публикации. Теперь дополненная версия с учетом пожеланий и дополнений. Добро пожаловать под кат.
Доброго времени суток, дорогие хабраюзеры. Этой статьей я хочу начать цикл повествования о протоколах, которые помогают нам прозрачно, быстро и надежно обмениваться информацией. И начать с протокола ARP.
Как известно, адресация в сети Internet представляет собой 32-битовую последовательность 0 и 1, называющихся IP-адресами. Но непосредственно связь между двумя устройствами в сети осуществляется по адресам канального уровня (MAC-адресам).
Так вот, для определения соответствия между логическим адресом сетевого уровня (IP) и физическим адресом устройства (MAC) используется описанный в RFC 826 протокол ARP (Address Resolution Protocol, протокол разрешения адресов).
ARP состоит из двух частей. Первая – определяет физический адрес при посылке пакета, вторая – отвечает на запросы других станций.
Протокол имеет буферную память (ARP-таблицу), в которой хранятся пары адресов (IP-адрес, MAC-адрес) с целью уменьшения количества посылаемых запросов, следовательно, экономии трафика и ресурсов.
Пример ARP-таблицы.
192.168.1.1 08:10:29:00:2F:C3
192.168.1.2 08:30:39:00:2F:C4
Слева – IP-адреса, справа – MAC-адреса.
Прежде, чем подключиться к одному из устройств, IP-протокол проверяет, есть ли в его ARP-таблице запись о соответствующем устройстве. Если такая запись имеется, то происходит непосредственно подключение и передача пакетов. Если же нет, то посылается широковещательный ARP-запрос, который выясняет, какому из устройств принадлежит IP-адрес. Идентифицировав себя, устройство посылает в ответ свой MAC-адрес, а в ARP-таблицу отправителя заносится соответствующая запись.
Записи ARP-таблицы бывают двух вид видов: статические и динамические. Статические добавляются самим пользователем, динамические же – создаются и удаляются автоматически. При этом в ARP-таблице всегда хранится широковещательный физический адрес FF:FF:FF:FF:FF:FF (в Linux и Windows).
Создать запись в ARP-таблице просто (через командную строку):
Вывести записи ARP-таблицы:
После добавления записи в таблицу ей присваивается таймер. При этом, если запись не используется первые 2 минуты, то удаляется, а если используется, то время ее жизни продлевается еще на 2 минуты, при этом максимально – 10 минут для Windows и Linux (FreeBSD – 20 минут, Cisco IOS – 4 часа), после чего производится новый широковещательный ARP-запрос.
Сообщения ARP не имеют фиксированного формата заголовка и при передаче по сети инкапсулируются в поле данных канального уровня
Формат сообщения ARP.
А вот как происходит определение маршрута с участием протокола ARP.
Пусть отправитель A и получатель B имеют свои адреса с указанием маски подсети.
Главным достоинством проткола ARP является его простота, что порождает в себе и главный его недостаток – абсолютную незащищенность, так как протокол не проверяет подлинность пакетов, и, в результате, можно осуществить подмену записей в ARP-таблице (материал для отдельной статьи), вклинившись между отправителем и получателем.
Бороться с этим недостатком можно, вручную вбивая записи в ARP-таблицу, что добавляет много рутинной работы как при формировании таблицы, так и последующем ее сопровождении в ходе модификации сети.
Существуют еще протоколы InARP (Inverse ARP), который выполняет обратную функцую: по заданному физическому адресу ищется логический получателя, и RARP (Reverse ARP), который схож с InARP, только он ищет логический адрес отправителя.
В целом, протокол ARP универсален для любых сетей, но используется только в IP и широковещательных (Ethernet, WiFi, WiMax и т.д.) сетях, как наиболее широко распространенных, что делает его незаменимым при поиске соответствий между логическими и физическими адресами.
Обнаружение сетевых устройств
Сканирование сети с построением списка устройств и их свойств, таких как перечень сетевых интерфейсов, с последующим снятием данных в системах мониторинга, если не вникать в происходящее, может показаться особой, компьютерной, магией. Как же это работает — под катом.
Disclaimer
Автор не имеет профильного образования, связанного с администрированием сетей, поэтому наверняка имеются неточности и упомянуто не всё, что можно.
Обнаружение
Для обнаружения устройства, т.е. определения есть ли на выбранном ip-адресе что-либо, можно применить следующие методы:
Данные доступны по SNMP и telnet, и могут быть использованы при построении физической карты сети.
Сбор сведений
После того, как устройство обнаружено, можно переходить к сбору сведений о нем.
Используя ARP протокол, по ip можно получить MAC-адрес, а по нему вероятного производителя (часть оборудования допускает смену адреса, так что метод не очень надежен). Далее можно воспользоваться утилитой nmap, которая сканируя открытые порты, сверяется со своей базой отпечатков и делает предположение об используемой операционной системе, её версии и типе устройства.
Чтобы получить более подробные сведения по устройству потребуется один из следующих способов:
Для работы с SNMP можно использовать пакет утилит Net-SNMP. Чтобы получить, к примеру, описание устройства, надо указать версию протокола, пароль на чтение (community read, по умолчанию public) и адрес, в нотации SNMP называемый OID (object identificator) и состоящий из чисел и точек. Все адреса устройства можно представить в виде дерева, где адреса отсортированы в лексикографическом порядке. Протокол позволяет запросить текущее значение по адресу, а также адреса следующие за текущим.
Стандартный набор адресов весьма ограничен и содержит описание устройства, контакты, расположение и время работы (uptime). Остальные адреса зависят от производителя устройства и могут быть получены сканированием, например, утилитой snmpwalk. К счастью, Linux и Windows имеют типовые адреса для сетевых интерфейсов и загруженности процессоров/памяти, поэтому для них лишь знать (или уметь определить) используемую операционную систему.
Данные можно запрашивать, разумеется, только с Windows машин.
Также имеется консольная утилита wmic и ее Linux-порт
Как это работает на примере Zabbix
Как известно Zabbix может самостоятельно обнаруживать новые устройства в сети и автоматически опрашивать некоторые их параметры. Называется это — Low Level Discovery.
Обнаружение устройств задается правилами сетевого обнаружения, которые комбинируют перечисленные ранее методы обнаружения, определяют доступно ли устройство и какой шаблон к нему применить (обычно исследуется описание устройства). Шаблон содержит список свойств, которые можно получить с устройства, а также правила для обнаружения и создания новых, выполняемые по таймеру.
Работа с сетью в командной строке Windows (CMD)
В списке представлены сетевые утилиты командной строки для получения информации о сетевых настройках, выполнения операций по конфигурированию и диагностике сети.
В описании команд используется
Краткое описание и примеры использования сетевых утилит командной строки Windows:
Утилита ARP.EXE
Отображение IP-адресов (формируемых программным путем), в аппаратные адреса, выполняется с помощью следующих действий:
— в сеть отправляется широковещательный запрос (ARP-request), принимаемый всеми сетевыми устройствами. Он содержит IP и Ethernet адреса отправителя, а также, целевой IP-адрес, для которого выполняется определение MAC-адреса.
— каждое устройство, принявшее запрос проверяет соответствие целевого IP-адреса, указанного в запросе, своему собственному IP-адресу. При совпадении, отправителю передается ARP-ответ (ARP-Reply), в котором содержатся IP и MAC адреса ответившего узла. Кадр с ARP-ответом содержит IP и MAC адреса как отправителя, так и получателя-составителя запроса.
— информация, полученная в ARP-ответе, заносится в ARP-кэш и может использоваться для обмена данными по IP-протоколу для данного узла. ARP-кэш представляет собой таблицу в оперативной памяти, каждая запись в которой содержит IP, MAC и возраст их разрешения. Возраст записи учитывается для того, чтобы обеспечить возможность повторного выполнения процедуры ARP при каком либо изменении соответствия адресов.
arp[-a [InetAddr] [-NIfaceAddr]] [-g [InetAddr] [-NIfaceAddr]] [-dInetAddr [IfaceAddr]] [-sInetAddr EtherAddr [IfaceAddr]]
Примеры использования ARP:
Некоторые замечания по практическому использованию команды ARP:
Утилита командной строки IPCONFIG присутствует во всех версиях Windows. Некоторые параметры командной строки не поддерживаются в версиях предшествующих Windows Vista/Windows 7
Команда IPCONFIG используется для отображения текущих настроек протокола TCP/IP и для обновления некоторых параметров, задаваемых при автоматическом конфигурировании сетевых интерфейсов при использовании протокола Dynamic Host Configuration Protocol (DHCP).
ipconfig [/allcompartments] [/all] [/renew[Adapter]] [/release[Adapter]] [/renew6[Adapter]] [/release6[Adapter]] [/flushdns] [/displaydns] [/registerdns] [/showclassidAdapter] [/setclassidAdapter [ClassID]]
Если в параметрах командной строки IPCONFIG используется имя адаптера, содержащее пробелы, то оно должно заключаться в двойные кавычки. Если имя содержит символы русского алфавита, то оно должно быть представлено в DOS-кодировке.
Для имен адаптеров применимо использование символа * в качестве шаблона:
Пример отображаемой конфигурации сетевого адаптера :
Утилита командной строки GETMAC присутствует в версиях Windows XP и старше. Используется для получения аппаратных адресов сетевых адаптеров (MAC-адресов) как на локальном, так и на удаленном компьютере.
GETMAC [/S [/U [/P ]]] [/FO ] [/NH] [/V]
/U [ \] Имя пользователя. Если не задано, то используется текущая учетная запись.
Пример выводимой информации по GETMAC без параметров:
По имени транспорта можно найти в реестре записи, связанные с данным сетевым адаптером.
Команда NBTSTAT позволяет получить статистику протокола NetBIOS over TCP/IP (NetBT), таблицу имен локальных и удаленных компьютеров и содержимое кэш NetBIOS имен. Применение NBTSTAT позволяет принудительно обновить кэш NetBIOS-имен компьютеров и имена, зарегистрированные с помощью серверов Windows Internet Name Service (WINS).
nbtstat[-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
Параметры командной строки:
Утилита NETSH.EXE
Команды NETSH можно выполнить и на удаленном компьютере с использованием подключения по локальной сети. Netsh также предоставляет возможность выполнения сценариев, представляющих собой группу команд в текстовом файле, выполняемых в режиме очередности на определенном компьютере. В целом, возможности NETSH настолько обширны, что трудно найти сетевую задачу, которую невозможно было бы решить с использованием данной утилиты.
-p Password пароль для подключения к удаленному компьютеру.
Применимы следующие команды:
Доступны следующие дочерние контексты:
advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace nap netio p2p ras rpc trace wcn wfp winhttp winsock wlan
Чтобы получить справку по команде, введите эту команду, затем пробел и «?»
Примеры практического использования NETSH.
netsh
wlan
set file open C:\wlanhelp.txt
?
set file close
Для сохранения используется команда:
dump Имя файла сценария
Для восстановления настроек из файла сценария используется команда:
exec Имя файла сценария
netsh
set file open C:\mynet.sav
dump
quit
netsh dump > C:\mynet.sav
Для сохранения отдельного контекста конфигурации можно воспользоваться командой dump на соответствующем уровне :
Для восстановления сетевой конфигурации можно воспользоваться
netsh exec C:\mynet.sav
Без использования команд pushd и popd практически невозможно полноценное использование сценариев netsh.
Кроме сохранения и восстановления настроек использование команды dump позволяет получить примеры в виде сценария, соответствующего текущей конфигурации. Например, дамп секции interface дает пример выполнения команд netsh в контексте настроек сетевых интерфейсов. Пример сценария :
set address name=» Подключение по локальной сети » source=static addr=192.168.0.1 mask=255.255.255.0
set dns name=»Подключение по локальной сети» source=static addr=192.168.0.2 mask=255.255.255.0
set wins name=» Подключение по локальной сети » source=static addr=192.168.0.9
— Сменить IP-адрес в командной строке:
netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.0.58 mask=255.255.255.0
Для Windows Vista / Windows 7 синтаксис будет немного отличаться, уровню ip будет соответствовать уровень ipv4 :
Пример синтаксиса для смены адреса DNS-сервера в настройках сетевого подключения «Подключение по локальной сети 2» на адрес публичного DNS-сервера Googl в среде Windows 7:
netsh interface ipv4 set dnsservers name=»Подключение по локальной сети 2″ static 8.8.8.8 primary
Из информации файла справки следует, что возможно использование параметров командной строки netsh без указания ключевых слов:
netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.0.58 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
Аналогично, без указания ключевых слов:
netsh interface ip set address name=»Подключение по локальной сети» static 192.168.0.58 255.255.255.0 192.168.0.1 1
При изменении одного из параметров настроек необходимо указывать и остальные. Например, только для изменения адреса шлюза по умолчанию недостаточно выполнить команду
netsh interface ip set address name=»Подключение по локальной сети» gateway=192.168.0.1 gwmetric=1
При ее выполнении отсутствующие параметры (IP-адрес и маска) будут сброшены. Для правильной смены шлюза по умолчанию команда должна быть следующей:
netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.0.58 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
Утилита NETSTAT.EXE
netstat[-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]
При использовании утилиты netstat.exe удобно пользоваться командами постраничного вывода (more), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах (find).
Пример отображаемой информации:
Активные подключения
Имя    Локальный адрес   Внешний адрес Состояние
Внешний адрес Внешний IP-адрес, участвующий в создании соединения.
Утилита NET.EXE
Утилита NET.EXE существует во всех версиях Windows и является одной из самых используемых в практической работе с сетевыми ресурсами. Позволяет подключать и отключать сетевые диски, запускать и останавливать системные службы, добавлять и удалять пользователей, управлять совместно используемыми ресурсами, устанавливать системное время, отображать статистические и справочные данные об использовании ресурсов и многое другое.
Выполнение команды net без параметров вызывает краткую справку со списком возможных уровней использования, запуск с параметром help позволяет получить более подробную информацию об использовании net.exe:
Синтаксис данной команды:
NET HELP
имя_команды
-или-
NET имя_команды /HELP
Можно использовать следующие имена команд:
NET ACCOUNTS NET HELP NET SHARE
NET COMPUTER NET HELPMSG NET START
NET CONFIG NET LOCALGROUP NET STATISTICS
NET CONFIG SERVER NET NAME NET STOP
NET CONFIG WORKSTATION NET PAUSE NET TIME
NET CONTINUE NET PRINT NET USE
NET FILE NET SEND NET USER
NET GROUP NET SESSION NET VIEW
При описании команды NET используются следующие синтаксические соглашения:
— Заглавными буквами набраны слова, которые должны быть введены без изменений, строчными буквами набраны имена и параметры, которые могут изменяться, например, имена файлов.
— Запись [. ] означает, что указанный элемент может повторяться. Повторяющиеся элементы должны быть разделены пробелом.
— Запись [. ] означает, что указанный элемент может повторяться, но повторяющиеся элементы должны быть разделены запятой или точкой с запятой, но не пробелом.
— При вводе в командной строке можно использовать русские названия служб, при этом они должны быть заключены в кавычки и не допускается изменение прописных букв на строчные и наоборот. Например, команда
NET START «Обозреватель сети»
запускает службу обозревателя сети.
Для приостановки некоторых системных служб или продолжения работы ранее приостановленной службы используются команды NET PAUSE и NET CONTINUE :
Состояние Локальный Удаленный Сеть
——————————————————————————-
Отсоединен   X: \\SERVER\movies Microsoft Windows Network
OK Y:   \\SERVER\shares   Microsoft Windows Network
Для отключения сетевого диска или устройства используется команда net use с ключом /DELETE
Регистр букв в данном ключе не имеет значения и можно использовать сокращения:
Примеры выполнения команды NET USE для подключения сетевых дисков:
То же самое, но с использованием учетной записи в домене mydomain net use Y:\C$ /USER:mydomain\Администратор admpass
net use Y:\C$ /USER:Администратор@mydomain admpass
Если в командной строке пароль не задан, то он будет запрошен при подключении к сетевому ресурсу. Если ключ /USER не задан, то для авторизации на удаленном компьютере используется текущая учетная запись.
Для изменения режима запоминания подключенных сетевых дисков используется ключ /PERSISTENT
Общее имя Ресурс Заметки
——————————————————————————
G$ G:\ Стандартный общий ресурс
E$   E:\ Стандартный общий ресурс
IPC$   Удаленный IPC
ADMIN$   C:\WINDOWS   Удаленный Admin
INSTALL   C:\INSTALL   Дистрибутивы и обновления
Имя общего ресурса INSTALL
Путь   C:\INSTALL
Заметки   Дистрибутивы и обновления
Макс. число пользователей Не ограничен
Пользователи Administrator
Кэширование Вручную
Для добавления нового разделяемого по сети ресурса используется параметр /ADD
NET SHARE имя_ресурса=диск:путь [/USERS:чиcло | /UNLIMITED] [/REMARK:»текст»] [/CACHE:Manual | Automatic | No ] [/CACHE:Manual | Documents| Programs | None ]
Для удаления существующего разделяемого ресурса используется параметр /DELETE:
Удаление выполняется только для имени разделяемого ресурса и не затрагивает каталог локального диска, связанный с данным именем.
Для получения списка компьютеров рабочей группы или домена с разделяемыми ресурсами используется команда
Синтаксис данной команды:
NET VIEW [\\имя_компьютера [/CACHE] | /DOMAIN[:имя_домена]]
NET VIEW /NETWORK:NW [\\имя_компьютера]
Утилита NET.EXE позволяет отобразить данные об учетных записях пользователей и групп, добавлять новые записи, удалять существующие, отображать параметры безопасности, связанные с авторизацией пользователей и некоторые другие операции по администрированию на локальном компьютере или контроллере домена.
Синтаксис данной команды:
NET ACCOUNTS [/FORCELOGOFF:<минуты | NO>] [/MINPWLEN:длина] [/MAXPWAGE:<дни | UNLIMITED>] [/MINPWAGE:дни] [/UNIQUEPW:число] [/DOMAIN]
Пример отображаемой информации по команде NET ACCOUNTS :
Принудительный выход по истечении времени через: Никогда
Минимальный срок действия пароля (дней): 0
Максимальный срок действия пароля (дней): 42
Минимальная длина пароля: 0
Хранение неповторяющихся паролей: Нет
Блокировка после ошибок ввода пароля:   Никогда
Длительность блокировки (минут): 30
Сброс счетчика блокировок через (минут): 30
Роль компьютера: РАБОЧАЯ СТАНЦИЯ
При использовании в локальной сети, каждый компьютер может выполнять как роль сервера (server), предоставляющего свои ресурсы для совместного использования, так и рабочей станции (workstation), использующей разделяемые сетевые ресурсы. Основные настройки сетевых служб сервера и рабочих станций можно отобразить с помощью команд:
Настройки служб сервера можно изменить с использованием параметров:
При выполнении на контроллере домена, утилита net.exe позволяет добавлять новые компьютеры в базу данных Active Directory (AD) или удалять существующие компьютеры из нее.
NET LOCALGROUP [имя_группы [/COMMENT:»текст»]] [/DOMAIN] имя_группы [/DOMAIN] имя_группы имя [. ] [/DOMAIN]
Для работы с учетными записями пользователей используется команда net user
NET USER [имя_пользователя [пароль | *] [параметры]] [/DOMAIN] имя_пользователя <пароль | *>/ADD [параметры] [/DOMAIN] имя_пользователя [/DELETE] [/DOMAIN]
Для отправки сообщений в Windows XP используется команда NET SEND
Для того, чтобы получить сообщение, должна быть запущена «Служба сообщений» (MESSENGER). Имена пользователей, компьютеров и текст сообщений на русском языке должны быть в DOS-кодировке.
Перечень доступных активных имен на данном компьютере и состояние службы сообщений можно получить с использованием команды net name без параметров. По всему списку имен, отображаемому в результате выполнения данной команды возможна отправка сообщений. Примеры использования:
Утилита NET.EXE позволяет получить статистические данные по использованию служб сервера и рабочей станции. Статистика содержит информацию о сеансах, доступе к сетевым устройствам, объемах принятых и переданных данных, отказах в доступе и ошибках, обнаруженных в процессе сетевого обмена.
Для изменения системного времени компьютера используется команда NET TIME :
NET TIME [\\компьютер | /DOMAIN[:домен]| /RTSDOMAIN[:домен]] [/SET] [\\компьютер] /QUERYSNTP [\\компьютер] /SETSNTP[:список серверов NTP]
Параметры /QUERYSNTP и /SETSNTP не поддерживаются в операционных системах Windows 7 и более поздних. Для настройки службы времени в этих ОС используется утилита w32tm.exe
Утилита NSLOOKUP.EXE
Утилита NSLOOKUP присутствует во всех версиях операционных систем Windows и является классическим средством диагностики сетевых проблем, связанных с разрешением доменных имен в IP-адреса. NSLOOKUP предоставляет пользователю возможность просмотра базы данных DNS-сервера и построения определенные запросов, для поиска нужных ресурсов DNS. Практически, утилита выполняет функции службы DNS-клиент в командной строке Windows.
Возможно использование утилиты NSLOOKUP не в интерактивном режиме:
Утилита PATHPING.EXE
При запуске PATHPING без параметров, отображается краткая справка:
pathping [-g Список] [-h Число_прыжков] [-i Адрес] [-n] [-p Пауза] [-q Число_запросов] [-w Таймаут] [-P] [-R] [-T] [-4] [-6] узел
Пример результатов выполнения команды pathping yandex.ru :
Трассировка маршрута к yandex.ru [77.88.21.11] с максимальным числом прыжков 30:
1 192.168.1.1
2 180.84.250.11
3 180.84.250.53
4 80.184.112.25
5 msk-ix-m9.yandex.net [193.232.244.93]
6 l3-s900-dante.yandex.net [213.180.213.70]
7 s600-s900.yandex.net [213.180.213.54]
8 yandex.ru [77.88.21.11]
1   1мс   0/ 100 = 0%   0/ 100 = 0%   192.168.1.1
      0/ 100 = 0%   |
2   5мс   0/ 100 = 0%   0/ 100 = 0%   180.84.250.11
      0/ 100 = 0%   |
3   11мс 0/ 100 = 0%   3/ 100 = 3%   180.84.250.53
      8/ 100 = 8%   |
4   4мс   0/ 100 = 0%   0/ 100 = 0%   80.184.112.25
      0/ 100 = 0%   |
5   8мс   0/ 100 = 0%   0/ 100 = 0%   msk-ix-m9.yandex.net [193.232.244.93]
      0/ 100 = 0%   |
6   12мс 0/ 100 = 0%   0/ 100 = 0%   l3-s900-dante.yandex.net [213.180.213.70]
      0/ 100 = 0%   |
7   5мс   0/ 100 = 0%   0/ 100 = 0%   s600-s900.yandex.net [213.180.213.54]
      0/ 100 = 0%   |
8   2мс   0/ 100 = 0%   0/ 100 = 0%   yandex.ru [77.88.21.11]
В приведенном примере красным цветом выделен проблемный участок маршрута к конечному узлу с потерей 8% пакетов.
При интерпретации результатов выполнения pathping нужно учитывать тот факт, что некоторые маршрутизаторы могут быть настроены на блокировку icmp-трафика, что не позволяет правильно отработать трассировку, и получить по ним статистические данные.
Утилита PING.EXE
Формат командной строки:
ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя
Более подробное описание утилиты PING и примеры ее использования приведены в отдельной статье
Утилита ROUTE.EXE
Утилита ROUTE.EXE используется для просмотра и модификации таблицы маршрутов на локальном компьютере. При запуске без параметров, на экран выводится подсказка по использованию route :
route [-f] [-p] [команда [конечная_точка] [mask маска_сети] [шлюз] [metric метрика]] [if интерфейс]]
Утилита TELNET.EXE
На практике, как правило, используется запуск telnet с параметрами по умолчанию и с указанием имени или IP-адреса и номера порта TCP удаленной системы.
Если подключение невозможно, то утилита telnet завершится сообщением:
Утилита TRACERT.EXE
Пример результатов выполнения tracert google.com
Трассировка маршрута к google.com [74.125.45.100] с максимальным числом прыжков 30:
1 1 ms
Примеры практического использования сетевых утилит командной строки.
Порядок преобразования доменных имен в IP-адреса следующий:
— проверяется наличие данных об имени в кэш службы разрешения имен (процедура определения IP по имени уже выполнялась, и в памяти есть актуальные результаты). Если запись есть, то будут использованы ее данные.
— для разрешения доменного имени в IP-адрес выполняется запрос к серверу DNS, заданному в настройках сетевого подключения.
31.214.145.172 odnoklassniki.ru
31.214.145.172 www.facebook.com
31.214.145.172 www.vk.com
31.214.145.172 www.vkontakte.ru
Иногда, в качестве способа блокировки определенных сайтов, используется добавление несуществующих статических маршрутов для соответствующих IP-адресов или подсетей, что легко отследить с помощью утилиты tracert
Разрешить входящие соединения через брандмауэр Windows (открыть порт) можно с использованием контекста firewall утилиты netsh
С учетом значений по умолчанию и необязательных параметров открыть TCP порт 27015 в брандмауэре Windows можно командой
netsh firewall set portopening TCP 27015
В контексте правил для брандмауэра:
Для открытия порта 27015 в Windows 7 с учетом нового синтаксиса правильнее использовать команду:
netsh advfirewall firewall add rule name=»Open Port 27015″ dir=in action=allow protocol=TCP localport=27015
По сравнению с предыдущими версиями Windows синтаксис правил стал немного сложнее, но и возможности брандмауэра значительно расширились.
Краткий список возможных параметров правил :
Некоторые правила применения параметров:
Если action=bypass, должна быть указана группа удаленных компьютеров, если dir=in.
AuthEnc и authnoencap нельзя использовать вместе. Если задан параметр authnoencap, то параметр security=authenticate задавать необязательно.
Параметр Authdynenc допустим только в том случае, если значение dir равно in.
Добавление правила для входящего трафика для программы qip.exe:
netsh advfirewall firewall add rule name=»allow QIP» dir=in program=»c:\programfiles\qip\qip.exe» action=allow
Добавление правила, запрещающего исходящий трафик для TCP порта 80:
netsh advfirewall firewall add rule name=»allow80″ protocol=TCP dir=out localport=80 action=block
Добавление правила входящего трафика с требованием безопасности и шифрования для трафика через TCP-порт 80:
netsh advfirewall firewall add rule name=»Require Encryption for Inbound TCP/80″ protocol=TCP dir=in localport=80 security=authdynenc action=allow
Добавление правила входящего трафика для messenger.exe с требованием безопасности:
netsh advfirewall firewall add rule name=»allow messenger» dir=in program=»c:\program files\messenger\msmsgs.exe» security=authenticate action=allow
Добавление правила обхода брандмауэра с проверкой подлинности для группы acmedomain\scanners, определяемой строкой SDDL:
netsh advfirewall firewall add rule name=»allow scanners» dir=in rmtcomputergrp= action=bypass security=authenticate
Добавление правила разрешения исходящего трафика для локальных портов 5000-5010 для udp:
netsh advfirewall firewall add rule name=»Allow port range» dir=out protocol=udp localport=5000-5010 action=allow
Для просмотра всех правил брандмауэра используется команда:
Для просмотра конкретного правила указывается его имя. Для удаления правила используется параметр delete :
Для изменения значений в существующих правилах используется параметр set и new перед изменяемым значением:
netsh advfirewall firewall set rule name=»Allow port range» new localport=5000-6000 изменить диапазон портов для правила «Allow port range»
Настройками по умолчанию, в режиме повышенной безопасности брандмауэр Windows 7 блокирует все входящие подключения, не соответствующие ни одному правилу и разрешает исходящие.
Для создания размещенной сети используется команды сетевой оболочки netsh.exe в контексте wlan :
Созданная программная точка доступа не будет запущена автоматически. Для запуска потребуется выполнить команду :
Ниже приведено содержимое командного файла, который позволяет собрать список беспроводных сетей, включая имя, уровень сигнала, BSSID. Информация записывается в файл wlans.txt каталога временных файлов и открывается для просмотра с помощью редактора wordpad
В дополнение к данной статье :
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»