Как сетевые инженеры, мы должны быть универсальными и обладать навыками оперативного устранения неполадок в рабочей среде. Помимо глубокого знания сетевых протоколов и команд для сетевого оборудования (маршрутизаторы, коммутаторы, межсетевые экраны и т.д.), нам также необходимо досконально разбираться в IP-адресации и других сетевых командах для конечных устройств — таких как компьютеры с Windows, серверы на Linux, рабочие станции и т.д.

В этой статье я перечислю и опишу самые полезные и важные IP-команды в операционной системе Windows. Большинство из них (за некоторыми исключениями и различиями) также доступны в Linux.

Мне не раз приходилось начинать диагностику сетевых проблем и неполадок подключения с проверки конечного устройства (компьютера, сервера и т.д.), прежде чем переходить к основному сетевому оборудованию для углубленного анализа. Это помогает лучше понять проблему с точки зрения пользователя, поэтому такой подход всегда полезен.

Знание следующих IP-команд значительно расширит ваш арсенал инструментов для диагностики и устранения сетевых проблем.

IP-команды Windows:

Теперь давайте рассмотрим самые популярные команды из командной строки, связанные с сетями и другими аспектами:

ipconfig

Это одна из самых полезных IP-команд в Windows. Она выводит множество полезной информации о текущих сетевых настройках устройства: IPv4- и IPv6-адреса всех сетевых интерфейсов (Ethernet-адаптеры, Wi-Fi, виртуальные интерфейсы и т.д.), MAC-адрес, шлюз по умолчанию, маску подсети, DNS-сервер, данные DHCP и многое другое.

Если вам нужно узнать локальный IP-адрес вашего компьютера или MAC-адрес Ethernet-адаптера (который в выводе команды отображается как «Физический адрес» — см. пример на изображении ниже), это самый быстрый способ получить эту информацию.

Пример скриншота с выводом команды ipconfig:

Как видно из примера выше, здесь отображаются данные IPv4, MAC-адрес, шлюз по умолчанию, DNS-серверы и т.д.

Вот несколько вариантов этой команды:

ipconfig /? - Отображает все доступные параметры.

ipconfig /all - Данные будут отображаться так, как показано на скриншоте выше, но для ВСЕХ сетевых адаптеров компьютера (Ethernet, Wi-Fi, адаптеры Vmware и т.д.).

ipconfig /release - Освободит текущие IPv4-адреса, динамически назначенные DHCP-сервером. Если указать имя подключения, будет освобожден только IP-адрес этого сетевого адаптера.

ipconfig /release6 - То же, что и выше, но для IPv6-адреса.

ipconfig /renew - Используется для запроса нового IP-адреса от DHCP-сервера.

ipconfig /renew6 - То же, что и выше, но для IPv6-адреса.

ipconfig /flushdns - Удаляется локальный кэш записей DNS.

ipconfig /displaydns - Показывает локальный кэш записей DNS.

ipconfig /registerdns - Обновляет все адреса DHCP, а также снова связывается с внешним DNS-сервером, чтобы убедиться в его доступности и т.д.

Если после выполнения команды «ipconfig» вы видите IP-адрес в формате 169.254.x.x, это означает, что системе назначен автоматический частный IP-адрес (APIPA). Он присваивается операционной системой автоматически, если устройство не смогло получить IP-адрес от DHCP-сервера.

nslookup

Команда «nslookup» позволяет получать информацию, связанную с DNS. Например, вы можете узнать данные о домене или выполнить обратный DNS-запрос для определения домена по IP-адресу.

nslookup networkadmin.ru - Определит IP-адрес конкретного домена (A-запись).

Server:  domain_name
Address:  10.120.101.2

Non-authoritative answer:
Name:    networkadmin.ru
Addresses:   2a03:6f00:6:1::b972:f56c
          185.114.245.108

Команда «nslookup», за которой указано доменное имя, отобразит IPv4- и IPv6-адреса (A-записи и AAAA-записи), связанные с этим доменом.

nslookup 185.114.245.108 - Выполнит обратный DNS-запрос и определит доменное имя, соответствующее указанному IP-адресу.

Server:  domain_name
Address:  10.120.101.2

Non-authoritative answer:
Name:    vh308.timeweb.ru
Addresses: 185.114.245.108

Команда «nslookup» обладает и другими полезными функциями. Например, с её помощью можно найти авторитетные DNS-серверы домена, TXT- и MX-записи, а также многое другое (для этого используется опция type=):

Синтаксис: nslookup -type=[MX , TXT , A , AAAA , NS , PTR , SOA] [domain]

nslookup -type=MX networkadmin.ru

Server:  domain_name
Address:  10.120.101.2

Non-authoritative answer:
networkadmin.ru MX preference = 10, mail exchanger = mx1.timeweb.ru
networkadmin.ru MX preference = 10, mail exchanger = mx2.timeweb.ru

mx1.timeweb.ru  internet address = 92.53.116.47
mx1.timeweb.ru  AAAA IPv6 address = 2a03:6f00:3::5c35:742f
mx2.timeweb.ru  internet address = 92.53.116.51
mx2.timeweb.ru  AAAA IPv6 address = 2a03:6f00:3::5c35:7433

ping

Давайте рассмотрим одну из самых популярных утилит для проверки сетевого соединения.

Пожалуй, первая команда, которую запускают пользователи при проблемах с подключением – это ping. Эта команда быстро покажет, может ли ваш компьютер отправлять и получать пакеты (конкретно – ICMP-пакеты), что позволяет определить наличие сетевого соединения.

Обратите внимание, что «ping» полезен для проверки подключения как локального компьютера (с которого выполняется команда), так и удалённых компьютеров или серверов. Например, если вы пропингуете IP-адрес вашего шлюза по умолчанию и получите ответы (ICMP Echo Reply), это означает, что ваш компьютер правильно подключён к сети.

А если вы пропингуете удалённый сервер в интернете и получите ответы, значит, этот сервер также имеет нормальное сетевое подключение.

ping /? - Отображает все доступные параметры.

ping 185.114.245.108 - По умолчанию отправит 4 ICMP-пакета на указанный IP-адрес.

ping networkadmin.ru - Cистема сначала преобразует имя в IP-адрес, а затем отправит ICMP-пакеты по этому адресу.

ping 185.114.245.108 -t - Позволит непрерывно отправлять пакеты ping (icmp-эхо-запросы) на целевой IP-адрес.

ping -n 10 185.114.245.108 - Отправит 10 пакетов ping (icmp-эхо-запросы) на целевой IP-адрес.

ping -l 1500 185.114.245.108 - Отправит пакеты ping (icmp-эхо-запросы) размером 1500 байт на целевой IP-адрес.

ping -a 185.114.245.108 - Определит имя хоста, соответствующее указанному IP-адресу, а затем выполнить ping этого адреса.

ping -6 [domain или IP] - Отправит IPv6-пакеты на указанный целевой адрес.

Большинство фаерволов блокируют ICMP-протокол (на котором основан ping), поэтому если вы пингуете удалённый хост и не получаете ответов, это не обязательно означает наличие сетевых проблем. Скорее всего, где-то на пути сетевой фаервол заблокировал ICMP-пакеты.

tracert

В Windows команда «tracert» означает “трассировка маршрута”. В Linux аналогичная команда называется «traceroute». Эта команда отслеживает путь, который TCP/IP-пакет проходит до целевого узла, и отображает информацию (если она доступна) о промежуточных маршрутизаторах на этом пути.

Как и команда pingtracert отправляет ICMP Echo-пакеты к целевому узлу, но с постепенно увеличивающимся значением TTL.

tracert networkadmin.ru - Трассирует TCP/IP-маршрут до указанного целевого IP-адреса или домена.

Трассировка маршрута к networkadmin.ru [185.114.245.108]
с максимальным числом прыжков 30:

  1     1 ms    <1 мс    <1 мс  10.120.173.254
  2     1 ms     1 ms    <1 мс  10.120.250.6
  3     * ms     * ms     * ms  Превышен интервал ожидания для запроса.
  4     7 ms     2 ms     3 ms  194.154.73.45
  5    11 ms     3 ms     2 ms  pe20.moscow.gldn.net [79.104.225.221]
  6     4 ms     3 ms     3 ms  62.105.155.241
  7    16 ms    17 ms    16 ms  94.228.119.214
  8    11 ms    10 ms    11 ms  vh308.timeweb.ru [185.114.245.108]

Трассировка завершена.

При трассировке маршрута к домену networkadmin.ru отображаются все промежуточные узлы (с их именами хостов и IP-адресами) вплоть до конечного пункта назначения.

При диагностике проблем подключения в крупной сети вы можете использовать «tracert», чтобы определить, на каком узле прекращается передача пакетов до достижения цели, и сосредоточить усилия по поиску проблемы именно на этом узле, который не маршрутизирует пакеты.

Поскольку tracert, как и команда ping, использует протокол ICMP, при выполнении команды вы часто будете видеть результаты со звёздочками (* * *). Это означает, что:

  1. Фаервол на одном из участков пути блокирует ICMP-пакеты
  2. Некоторые маршрутизаторы в цепочке не отправляют сообщения о превышении TTL

netstat

Ещё одной важной командой является утилита Network Statistics (netstat), которая доступна как в Windows, так и в Linux.

Она отображает установленные сетевые TCP/IP соединения локального компьютера с удалёнными хостами, открытые порты на машине, идентификатор процесса (PID) для каждого соединения и другую информацию.

Лично я использую эту команду в основном в целях проверки безопасности — чтобы определить, не запущены ли на компьютере бэкдоры, нет ли подозрительных подключений к внешним серверам Command-and-Control и т. д.

Вот несколько популярных примеров использования этой команды:

netstat -ano - Отображает все соединения и прослушивающие порты (-a), адреса и порты в числовом виде (-n), а также идентификатор процесса (PID) для каждого соединения (-o).

netstat -vb - Очень полезно также для того, чтобы определить, какой исполняемый файл и какая последовательность действий создали каждое соединение и каждый порт.

netstat -p tcp -f - Ключ -p tcp отобразит только TCP-соединения, а ключ -f покажет полное доменное имя (FQDN) для каждого соединения вместо просто IP-адреса. 

route

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

Лично я использую команду «route» для добавления постоянной записи статического маршрута в компьютер.

Например, может быть подсеть, которая недоступна через шлюз по умолчанию компьютера. Вместо этого эта удаленная подсеть может быть доступна через другой IP-адрес шлюза. Добавив статический маршрут в таблицу маршрутизации компьютера, вы сможете получить доступ к этой удаленной подсети с другого шлюза.

route PRINT - Отображает текущую таблицу маршрутизации компьютера

===========================================================================
Список интерфейсов
  8...b0 22 7a 24 01 75 ......Intel(R) Ethernet Connection (11) I219-LM
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0   10.120.173.254    10.120.173.21     35
     10.120.173.0    255.255.255.0         On-link     10.120.173.21    291
    10.120.173.21  255.255.255.255         On-link     10.120.173.21    291
   10.120.173.255  255.255.255.255         On-link     10.120.173.21    291
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link     10.120.173.21    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link     10.120.173.21    291
===========================================================================
Постоянные маршруты:
  Отсутствует

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
 Метрика   Сетевой адрес            Шлюз
  1    331 ::1/128                  On-link
  1    331 ff00::/8                 On-link
===========================================================================
Постоянные маршруты:
  Отсутствует
route ADD [Destination network] MASK [mask] [gatewayIP] - Добавит статический маршрут в таблицу.

arp

ARP является одним из основных сетевых протоколов, работающих на 2-м уровне и облегчающих связь в локальной сети.

Задача ARP — найти MAC-адрес хоста и сопоставить его с соответствующим IP-адресом. Таблица ARP хранит сопоставления IP-адресов с соответствующими им MAC-адресами.

arp -a - Отображает все сопоставления IP-адресов с MAC-адресами.

Интерфейс: 10.120.173.21 --- 0x8
  адрес в Интернете      Физический адрес      Тип
  10.120.173.1          e0-d5-5e-ce-b8-5b     динамический
  10.120.173.2          1c-1b-0d-0d-fa-7e     динамический
  10.120.173.4          7c-57-58-62-7d-bc     динамический
  10.120.173.6          2c-58-b9-dc-90-6b     динамический
  10.120.173.7          18-c0-4d-0e-c0-57     динамический
  10.120.173.8          c0-18-03-2e-1b-8b     динамический
  10.120.173.10         d0-ad-08-cf-d3-8f     динамический
  224.0.0.22            01-00-5e-00-00-16     статический
  224.0.0.251           01-00-5e-00-00-fb     статический
  224.0.0.252           01-00-5e-00-00-fc     статический
  232.44.44.233         01-00-5e-2c-2c-e9     статический
  239.193.0.10          01-00-5e-41-00-0a     статический
  239.255.255.250       01-00-5e-7f-ff-fa     статический
  255.255.255.255       ff-ff-ff-ff-ff-ff     статический

Как вы можете видеть выше, локальный компьютер динамически (тип=динамический) изучил с помощью протокола ARP несколько других локальных устройства и сохранил их MAC-адреса в таблице ARP.

arp -d 10.120.173.10 - Приведет к удалению записи ARP для указанного IP-адреса.

pathping

Эта команда объединяет функции «ping» и «tracert», но предоставляет более подробную статистику о задержке и потере пакетов на каждом хопе за период. Она отлично подходит для диагностики непостоянных сетевых проблем, которые «tracert» может пропустить.

pathping 8.8.8.8

Трассировка маршрута к dns.google [8.8.8.8]
с максимальным числом переходов 30:
  0  pc1864.ppl.loc [10.120.173.21]
  1  10.120.173.254
  2  10.120.250.6
  3  *.*.*.*
  4  194.154.73.45
  5  pe06.kk12.moscow.gldn.net [79.104.225.45]
  6  81.211.29.103
  7     *        *        *
Подсчет статистики за: 150 сек. ...
           Исходный узел     Маршрутный узел
Прыжок  RTT   Утер./Отпр.   %   Утер./Отпр.  %   Адрес
  0                                           pc1864.ppl.loc [10.120.173.21]
                                0/ 100 =  0%   |
  1    0мс     0/ 100 =  0%     0/ 100 =  0%  10.120.173.254
                                0/ 100 =  0%   |
  2    1мс     0/ 100 =  0%     0/ 100 =  0%  10.120.250.6
                                0/ 100 =  0%   |
  3    2мс     0/ 100 =  0%     0/ 100 =  0%  *.*.*.*
                                0/ 100 =  0%   |
  4   12мс     0/ 100 =  0%     0/ 100 =  0%  194.154.73.45
                                1/ 100 =  1%   |
  5   12мс     1/ 100 =  1%     0/ 100 =  0%  pe06.kk12.moscow.gldn.net [79.104.225.45]
                                0/ 100 =  0%   |
  6    9мс     1/ 100 =  1%     0/ 100 =  0%  81.211.29.103

Трассировка завершена.

Как объясняется на веб-сайте Microsoft, Pathping выполняет эквивалент команды tracert, определяя, какие маршрутизаторы находятся на пути. Затем он периодически отправляет запросы на все маршрутизаторы в течение определенного периода времени и вычисляет статистику на основе числа, возвращаемого от каждого.

getmac

Простая команда, специально предназначенная для отображения MAC-адресов сетевых адаптеров.

getmac /V /FO list

Подключение:      Ethernet
Сетевой адаптер:  Intel(R) Ethernet Connection (11) I219-LM
Физический адрес: B0-22-7A-24-01-75
Имя транспорта:   \Device\Tcpip_{805A5037-67E1-4B22-98FA-CB16B6075FA3}

Еще записи из этой же рубрики

Что будем искать? Например,Cisco

Минуту внимания
Мы используем файлы cookie и рекомендательные технологии. Пользуясь сайтом, вы соглашаетесь с Политикой обработки персональных данных.