Работа с сетью в MS Windows

Операционная система MS Windows не очень удобна для диагностики и настройки сетевых устройств, но не всегда есть возможность работать в другой ОС. В первую очередь мешает отсутствие нормальной консоли (командной строки) и утилит для нее.

Соответственно, нужна инструкция как делать это именно в ней. Тем более, многие тривиальные вещи в Unix-like ОС в MS Windows гораздо сложнее и поэтому догадаться или запомнить труднее.

Сильно упрощает жизнь, что многие программы с открытым кодов уже имеют готовые сборки для MS Windows и достаточно их скачать с официальных сайтов. И не требуется их компилировать самостоятельно.

Работа через графический интерфейс

править

Указание прокси-сервера в MS Windows делается в настройках системы. И приложения (в том числе браузеры) учитывают это системную настройки и автоматически начинают работать через прокси-сервер. Явно указать прокси-сервер в современных браузерах затруднительно. И отказаться от системного прокси тоже непросто.

В Хроме надо создать в реестре ключ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ProxyServerMode с типом DWORD и выставить 0 в качестве значения. Возможно надо перечитать параметры chrome://policy/[1],[2]


Консоль в MS Windows

править

Она в очень ограниченном формате есть и называется cmd. Чтобы вызывать cmd с полномочиями администратора нужно выбрать соответствующий пункт в контекстном меню. Обычно при этом надо удерживать Shift.

Помимо cmd в MS Windos есть PowerShell - но там совсем иная идеология и собственные команды. По работе с ней нужно читать отдельно.

Посмотреть настойки сетевых интерфейсов

править

Команда ipconfig

Если вызывать в ключом /all, то покажет все возможные

Такая же команда как в сетевых ОС - ping. Ключ -t позволяет запустить бесконечный ping.

ping 8.8.8.8 -t

Носит название tracert. И есть похожая, которая называется pathping

Опрос DNS

править

Список публичных ДНС[3]. Помимо 8.8.8.8, также 1.1.1.1 (Cloudfare) и 208.67.222.222 (Cisco) и 77.88.8.8 (Яндекс)

Опрос того ДНС что указан в системе (выдан по DHCP)

nslookup ya.ru

Опрос явно указанного в строке сервера (в данном случае сервера гугла)

nslookup ya.ru 8.8.8.8

Опрос с указанием конкретного сервера (публичный DNS сервиса CloudFare) с включением выдаче деталей по самому запросу

nslookup -debug www.youtube.com 1.1.1.1

Запроси SOA-запись домена

nslookup -type=soa -debug www.youtube.com

Альтернативный вариант, если не удобно писать все сразу в строке, Если ввести просто команду, то будет запущена внутренняя консоль, где можно вводить другие команды

nslookup

Включение вывода отладочной информации

set debug

Локальная маршрутизация

править

Команда route

Вывод текущей таблицы маршрутизации

route print

Добавление маршрута на существующий интерфейса

    > route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
             destination^      ^mask     ^gateway     metric^    ^
                                                        Interface^

Изменение метрики интерфейса

править

В таблице route выводится также метрика интерфейса. Чем меньше значение, тем выше приоритет маршрута.

Изменить можно командой из консоли powershell

powershell.exe -command "Set-NetIPInterface -InterfaceAlias '%WIREGUARD_TUNNEL_NAME%' -InterfaceMetric 5000"

В современным версиях Windows есть флажок устанавливающий автоматическую метрику интерфейса. open the adapter properties, IPv4 settings, Advanced, then... Uncheck the "Automatic Metric" as mentioned previously, AND set an interface metric of some value. То значение, которое будет введено, на него будет увеличена метрика.

Потом надо выключить адаптер и активировать снова.

Поднятие сетевого интерфейса

править

В MS Windows очень нетривиально делается из консоли. Переопределить текущий IP-адрес можно командой netsh (сначала IP, потом маска и потом шлюз).

И особенность в том, что это постоянные изменения, а не на сессию, как в Unix-like системах. И эти изменения видны через графический интерфейс Windows.

netsh interface ip set address name="Wi-Fi" static 10.0.0.2 255.255.255.0 10.0.0.1

Также надо определить DNS другой командой.

netsh -c Interface ip add dnsserver name="Wi-Fi" addr=8.8.8.8 

Название интерфейса очень неочевидные в MS Windows. Для Wi-FI он будет одноименный. Для не беспроводного подключения он обычно Ethernet. Уточнит имя можно с помощью команды:

netsh interface ip show config

Если нужно поднять второй IP на том же интерфейсе (то что alias обычно называют), то надо чуть другую команду использовать (add вместо set), но первый запуск все равно уберет текущий IP и поэтому надо будет выполнить команду и для основного IP-адреса или для алиаса

netsh -c Interface ip add address name="Wi-Fi" addr=192.168.1.155 mask=255.255.255.0 gateway=192.168.1.1
netsh -c Interface ip add address name="Wi-Fi" addr=10.0.0.20 mask=255.255.255.0 gateway=10.0.0.1


Список МАК-адресов и назначение статического IP

править

Команда

apr -a

Для назначения статического адреса - сначала IP-адрес и потом МАК-адрес, но вместо двоеточий в нем символы тире (-)

arp -s 192.168.1.130 XX-XX-11-11-11-11

Подключение к SSH

править

Проще всего установить клиент Putty.

Проверить открыт тот или иной порт

править

Раньше это делалось встроенной утилитой telnet, но затем из дистрибутива MS Windows ее убрали. Но в контрольной панели в пункте, где перечислены установленные программы, можно инициировать установку Клиент Telnet (Telnet Client). Инструкции с картинками имеются в интернет.

Сканеры сети

править

Проще всего установить сканер сети nmap. В состав дистрибутива для MS Windows входит и графическая оболочка. Для сканирования сети класса С применить можно команду

nmap -sn 10.0.0.0/24

Подбор паролей к WiFi сети

править

Проще всего установить aircrack-ng

Установка Python

править

На нем написаны многие сетевые утилиты и поэтому потребуется установить интерпретатор Python/Windows и необходимые дополнения

См. также

править

Примечания

править