Полное руководство по диагностике и сканированию сети через CMD (Windows)

Полное руководство по диагностике и сканированию сети через CMD (Windows)

Командная строка (CMD) остается самым мощным инструментом для сетевого администратора и продвинутого пользователя Windows. В этой статье мы разберем, как просканировать сеть через cmd, найти устройства, проверить скорость, перезагрузить сеть и диагностировать проблемы. Все команды даны с реальными примерами.

1. Базовые команды для диагностики сети в cmd

Прежде чем сканировать сеть, нужно понять её состояние. Вот ключевые инструменты.

1.1 ipconfig – основа основ

Показывает текущие настройки IP. Без этой информации сканирование сети на ip адреса cmd команда невозможна.

cmd

ipconfig /all

Пример вывода (фрагмент):

Адаптер Ethernet Ethernet0:
   IPv4-адрес . . . . . . . : 192.168.1.105
   Маска подсети . . . . . : 255.255.255.0
   Основной шлюз . . . . . : 192.168.1.1
   DHCP-сервер . . . . . . : 192.168.1.1

💡 Ключевой вывод: узнаём свой IP, маску сети (обычно /24 или 255.255.255.0) и адрес шлюза. Это определит диапазон для сканирования ip адресов в локальной сети cmd.

1.2 ping – проверка доступности устройства

Простейший способ как посмотреть устройства в сети через cmd — послать ICMP-запрос.

cmd

ping 192.168.1.1
ping ya.ru
ping -n 10 8.8.8.8   # 10 пакетов вместо 4

Пример успешного ответа:

Ответ от 192.168.1.1: число байт=32 время=2мс TTL=64

1.3 tracert – маршрут до узла

Диагностика задержек и разрывов.

cmd

tracert google.com

1.4 pathping – гибрид ping + tracert

Дает статистику потерь на каждом хопе.

cmd

pathping ya.ru

1.5 nslookup – DNS-диагностика

Проверка разрешения имен.

cmd

nslookup google.com
nslookup 8.8.8.8

2. Как просканировать сеть через cmd – основные методы

Windows CMD не имеет встроенной команды nmap, но мощное сканирование возможно с помощью pingarp и циклов for.

2.1 Ping-сканирование диапазона (классический способ)

Команда для сканирования сети по cmd через перебор адресов.

cmd

for /L %i in (1,1,254) do ping -n 1 192.168.1.%i | find "TTL"

Как это работает: перебирает адреса с 192.168.1.1 по 192.168.1.254, шлет 1 пакет и фильтрует строки с «TTL» (признак живого хоста).

Пример вывода:

Ответ от 192.168.1.1: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.33: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.105: число байт=32 время<1мс TTL=128

✅ Это основной ответ на запрос как просканировать сеть через cmd без стороннего ПО.

2.2 Расширенное сканирование с таймаутом

Более быстрое сканирование (уменьшаем ожидание).

cmd

for /L %i in (1,1,254) do ping -n 1 -w 100 192.168.1.%i | find "Ответ"

2.3 Сохранение результатов в файл

cmd

for /L %i in (1,1,254) do ping -n 1 192.168.0.%i | find "TTL" >> scan_result.txt

2.4 Сканирование конкретного списка IP

Если нужно проверить несколько адресов:

cmd

(for %a in (192.168.1.1 192.168.1.10 192.168.1.100) do ping -n 1 %a | find "TTL") >> result.txt

3. Сканирование сети на ip адреса cmd команда через ARP-таблицу

Самый быстрый способ как посмотреть устройства в сети через cmd — использовать кэш ARP после активного сканирования.

3.1 Просмотр ARP-таблицы

cmd

arp -a

Пример вывода:

Интерфейс: 192.168.1.105 --- 0x10
  Интернет-адрес      Физический адрес      Тип
  192.168.1.1         14:91:82:ab:cd:ef    динамический
  192.168.1.33        a4:2b:8c:12:34:56    динамический
  192.168.1.105       00-15-5d-aa-bb-cc    статический

✅ Это полный список устройств, с которыми обменивался ваш компьютер. Но ARP-таблица заполняется только после общения. Поэтому перед arp -a полезно запустить ping-сканирование.

3.2 Комбинированный метод (сканирование + ARP)

cmd

for /L %i in (1,1,254) do ping -n 1 -w 50 192.168.1.%i > nul && arp -a | find "192.168.1.%i"

4. Сканирование ip адресов в локальной сети cmd с определением MAC и имени

4.1 Использование nbtstat (NetBIOS)

Для Windows-сетей:

cmd

nbtstat -A 192.168.1.33

Покажет имя компьютера и тип служб.

4.2 Скрипт для полного сканирования (IP, MAC, имя)

Создайте файл scan_network.bat:

batch

@echo off
echo Сканирование локальной сети 192.168.1.0/24 > network_scan.txt
for /L %%i in (1,1,254) do (
    ping -n 1 -w 100 192.168.1.%%i > nul
    if errorlevel 1 (
        echo 192.168.1.%%i - НЕ ДОСТУПЕН >> network_scan.txt
    ) else (
        for /f "tokens=2" %%a in ('nbtstat -A 192.168.1.%%i ^| find "<00>"') do set name=%%a
        echo 192.168.1.%%i - ДОСТУПЕН - %%name% >> network_scan.txt
    )
)
type network_scan.txt

5. Команда cmd для просмотра скорости сети

Прямой команды «показать скорость Wi-Fi» нет, но есть несколько способов измерить и оценить пропускную способность.

5.1 Скорость соединения через wmic

cmd

wmic nic where "NetEnabled=true" get Name, Speed

Пример вывода:

Name                                               Speed
Realtek PCIe GBE Family Controller                 1000000000
Intel(R) Wi-Fi 6 AX200                             2400000000

Значение в битах/с. 1 000 000 000 = 1 Гбит/с.

5.2 Тест реальной скорости до роутера (ping + размер пакета)

cmd

ping -l 1472 -n 10 192.168.1.1

Чем больше время, тем ниже эффективная скорость на канале.

5.3 Измерение пропускной способности через powershell (из CMD)

cmd

powershell "Measure-Command { Start-BitsTransfer -Source http://speedtest.tele2.net/100MB.zip -Destination C:\null }"

5.4 Использование curl (если установлен)

cmd

curl -o NUL http://speedtest.tele2.net/100MB.zip -w "%{speed_download} bytes/sec"

6. Перезагрузка сети cmd и как перезагрузить сеть в windows cmd

Бывает, что сеть «падает» — помогает полный сброс без перезагрузки ПК.

6.1 Базовые команды для перезапуска адаптера

cmd

ipconfig /release
ipconfig /renew

Освобождает и получает IP заново от DHCP.

6.2 Полная перезагрузка сети cmd (сброс всего стека)

cmd

netsh int ip reset reset.log
netsh winsock reset
ipconfig /flushdns

После этого обязательно перезагрузите компьютер.

6.3 Перезапуск сетевого интерфейса через netsh

cmd

netsh interface set interface "Ethernet0" disable
netsh interface set interface "Ethernet0" enable

Узнать точное имя адаптера: netsh interface show interface

6.4 Быстрая перезагрузка сети (одной строкой)

cmd

ipconfig /release && ipconfig /renew && arp -d * && ipconfig /flushdns

6.5 Сброс маршрутизации (если неправильная таблица)

cmd

route -f

7. Расширенная диагностика сети

7.1 netstat – открытые порты и соединения

cmd

netstat -an
netstat -b   # показывает программы (требует админ прав)
netstat -e   # статистика Ethernet

7.2 netsh trace – профильный трассировщик Windows

cmd

netsh trace start capture=yes maxsize=100 file=c:\trace.etl
netsh trace stop

7.3 Проверка потери пакетов в течение времени

cmd

ping -t 8.8.8.8

Останавливается по Ctrl+C. Покажет статистику потерь.

7.4 Поиск IP-адреса по MAC (из ARP)

cmd

arp -a | findstr "14-91-82-ab-cd-ef"

8. Практические сценарии (сборники команд)

8.1 Как просканировать сеть через cmd и получить список живых IP с именами

cmd

for /L %i in (1,1,254) do @ping -n 1 -w 100 192.168.1.%i > nul && echo 192.168.1.%i - LIVE

8.2 Сканирование сети на ip адреса cmd команда с экспортом в CSV

cmd

(for /L %i in (1,1,254) do ping -n 1 192.168.1.%i | find "TTL" > nul && echo 192.168.1.%i,OK) > scan.csv

8.3 Команды для диагностики сети в cmd при высоком пинге

cmd

pathping google.com
netstat -e -s

8.4 Как посмотреть устройства в сети через cmd (только MAC + IP)

cmd

arp -a | findstr /v "ff-ff-ff-ff-ff-ff" | findstr /v "255.255.255.255"

8.5 Как перезагрузить сеть в windows cmd если нет интернета

cmd

ipconfig /release
ipconfig /renew
ipconfig /flushdns
netsh int ip reset
netsh winsock reset
shutdown /r /t 5

9. Частые ошибки и их решение

ОшибкаПричинаРешение в CMD
Заданный узел недоступенНеправильный шлюзroute print, затем route add
Общий сбойОтключен адаптерnetsh interface show interface
Таймаут pingБрандмауэр блокирует ICMPВременно отключить брандмауэр: netsh advfirewall set allprofiles state off
ARP entry not foundНе было трафикаЗапустить ping 192.168.1.255 (широковещательный)
Доступ запрещен для netshНе админЗапустить CMD от имени администратора

10. Продвинутое сканирование (циклы с условиями)

10.1 Сканирование с определением ОС по TTL

cmd

for /L %i in (1,1,254) do ping -n 1 192.168.1.%i | find "TTL=64" > nul && echo 192.168.1.%i - Linux/Unix
for /L %i in (1,1,254) do ping -n 1 192.168.1.%i | find "TTL=128" > nul && echo 192.168.1.%i - Windows

10.2 Поиск конкретного порта (telnet-способ)

cmd

for /L %i in (1,1,254) do telnet 192.168.1.%i 445

10.3 Сканирование с изменяемой маской (CIDR)

cmd

@echo off
set subnet=192.168.0
for /L %%a in (1,1,254) do ping -n 1 %subnet%.%%a | find "TTL"

11. Сравнение методов сканирования

МетодСкоростьТочностьТребует правВидит
Ping sweep (for)СредняяХорошаяНетIP
ARP -aМгновенноТолько активныеНетIP+MAC
NBTSTATМедленноСредняяНетИмя NetBIOS
PathpingМедленноВысокаяНетМаршрут+потери

12. Автоматизация – создайте свой инструмент

Финальный скрипт ultimate_scan.cmd, объединяющий всё:

batch

@echo off
title Сканер сети CMD
color 0A
echo ==============================================
echo    Сканирование локальной сети
echo ==============================================
set /p subnet="Введите первые три октета (например 192.168.1): "
echo Сканирование %subnet%.0/24 > full_report.txt
echo. >> full_report.txt

echo 1. Ping-сканирование...
for /L %%i in (1,1,254) do (
    ping -n 1 -w 50 %subnet%.%%i > nul
    if !errorlevel! equ 0 (
        echo [ЖИВОЙ] %subnet%.%%i >> full_report.txt
    )
)

echo 2. Сбор ARP...
arp -a >> full_report.txt

echo 3. Статистика интерфейса...
netsh interface ip show config >> full_report.txt

echo Готово! Отчет: full_report.txt
type full_report.txt

Заключение

Вы узнали, как просканировать сеть через cmd от простого ping до ARP-анализа, как перезагрузить сеть в windows cmd и какие команды для диагностики сети в cmd использовать в первую очередь. Все примеры рабочие и не требуют установки дополнительного ПО.

Шпаргалка (быстрый доступ)

ЗадачаКоманда
Узнать свой IPipconfig
Сканирование сети на ip адреса cmd командаfor /L %i in (1,1,254) do ping -n 1 192.168.1.%i | find "TTL"
Команда cmd для просмотра скорости сетиwmic nic where "NetEnabled=true" get Speed
Как перезагрузить сеть в windows cmdipconfig /release && ipconfig /renew
Как посмотреть устройства в сети через cmdarp -a
Полная перезагрузка стекаnetsh int ip reset && netsh winsock reset
Сброс DNSipconfig /flushdns

Теперь вы готовы диагностировать любые сетевые проблемы без сторонних утилит. CMD остается королём автоматизации в Windows.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *