Выведите список доступных сетевых ресурсов своего компьютера

Обновлено: 07.07.2024

Большая часть задач администрирования низкоуровневых сетевых протоколов связана с протоколом TCP/IP, так как это наиболее распространенный сетевой протокол. В этом разделе описано использование инструментария WMI и PowerShell для выполнения этих задач.

Получение списка IP-адресов компьютера

Список всех IP-адресов, используемых локальным компьютером, возвращает следующая команда:

Учитывая, что свойство IPAddress объекта Win32_NetworkAdapterConfiguration является массивом, необходимо использовать параметр ExpandProperty со значением Select-Object для просмотра всего списка адресов.

С помощью командлета Get-Member можно увидеть, что свойство IPAddress является массивом:

Свойство IPAddress каждого сетевого адаптера в действительности представляет собой массив. Фигурные скобки в определении указывают на то, что свойство IPAddress содержит не значение типа System.String, а массив значений типа System.String.

Вывод данных IP-конфигурации

Для отображения подробных данных IP-конфигурации каждого сетевого адаптера воспользуйтесь следующей командой:

По умолчанию отображается очень небольшая часть доступных сведений об объекте конфигурации сетевого адаптера. Для более глубокого изучения и устранения неполадок воспользуйтесь командлетом Select-Object или командлетом форматирования, например Format-List , чтобы задать отображаемые свойства.

В современных сетях TCP/IP вам, скорее всего, больше не понадобятся свойства IPX или WINS. Вы можете использовать параметр ExcludeProperty командлета Select-Object , чтобы скрыть свойства, имена которых начинаются на WINS или IPX.

Эта команда выводит подробные сведения о DHCP, DNS, маршрутизации и других менее значительных свойствах IP-конфигурации.

Проверка связи с компьютерами

Простую проверку связи с компьютером можно выполнить с помощью Win32_PingStatus. Следующая команда производит проверку связи, но при этом выводит большой объем сведений:

Удобнее отображать сводные данные, содержащие свойства Address, ResponseTime и StatusCode, как это делает приведенная ниже команда. Параметр Autosize командлета Format-Table изменяет размер столбцов таблицы для их правильного отображения в PowerShell.

Значение 0 свойства StatusCode указывает на успешно выполненную проверку связи.

Для проверки связи с несколькими компьютерами с помощью одной команды можно использовать массив. Так как адресов несколько, для проверки связи с каждым адресом по отдельности можно использовать ForEach-Object :

Один и тот же формат команды можно использовать для проверки связи со всеми компьютерами подсети. Например, при проверке частной сети, использующей номер сети 192.168.1.0 и стандартную маску подсети класса C (255.255.255.0), допустимы только локальные адреса в диапазоне от 192.168.1.1 до 192.168.1.254 (0 всегда зарезервирован в качестве номера сети, а 255 используется в качестве широковещательного адреса подсети).

Чтобы представить массив чисел от 1 до 254 в PowerShell, используйте выражение 1..254 . Таким образом, полную проверку связи с подсетью можно осуществить, добавив все значения в диапазоне к частичному адресу в операторе проверки связи:

Такой метод формирования диапазона адресов может быть использован в любых подобных случаях. Полный набор адресов можно сформировать следующим образом:

Извлечение свойств сетевого адаптера

Ранее упоминалось о возможности извлечения общих свойств конфигурации с помощью класса Win32_NetworkAdapterConfiguration. Такие сведения о сетевом адаптере, как MAC-адреса и типы адаптеров, не относятся, строго говоря, к протоколу TCP/IP, но могут оказаться полезными для понимания того, что происходит в компьютере. Сводные данные можно получить с помощью следующей команды:

Назначение домена DNS сетевому адаптеру

Чтобы назначить домен DNS для автоматического разрешения имен, нужно использовать метод SetDNSDomain класса Win32_NetworkAdapterConfiguration. Параметр Запрос со значением Invoke-CimMethod принимает строку WQL-запроса. Командлет вызывает метод, указанный для каждого экземпляра, возвращаемого запросом.

Фильтрация по IPEnabled=True необходима, так как даже в сети, использующей только TCP/IP, некоторые конфигурации сетевых адаптеров на компьютере не являются настоящими адаптерами TCP/IP. Это просто общие программные элементы, поддерживающие службы RAS, VPN, QoS и другие службы для всех адаптеров, то есть, они не имеют собственного адреса.

Выполнение задач настройки DHCP

Изменение сведений DHCP, так же как и настройка DNS, включает работу с набором сетевых адаптеров. Существует несколько отдельных действий, выполняемых с помощью инструментария WMI. Мы рассмотрим несколько наиболее типичных.

Определение адаптеров, поддерживающих DHCP

Найти на компьютере адаптеры, поддерживающие DHCP, можно с помощью следующей команды:

Чтобы исключить из поиска адаптеры, имеющие проблемы в IP-конфигурации, можно добавить требование поддержки протокола IP:

Извлечение свойств DHCP

Свойства адаптера, относящиеся к протоколу DHCP, обычно начинаются с DHCP , поэтому для отображения только этих свойств можно использовать параметр Property командлета Format-Table :

Включение поддержки DHCP на каждом адаптере

Чтобы включить поддержку DHCP на всех адаптерах, используйте команду:

Использование оператора фильтра IPEnabled=True and DHCPEnabled=False позволяет избежать включения DHCP, когда он уже включен.

Отмена и обновление аренды адреса DHCP для отдельных адаптеров

Экземпляры класса Win32_NetworkAdapterConfiguration содержат методы ReleaseDHCPLease и RenewDHCPLease . Оба метода используются одинаково. Обычно их применяют лишь при необходимости отмены или обновления аренды адресов для адаптера в отдельной подсети. Простейшим способом фильтрации адаптеров в подсети является выбор лишь тех адаптеров, которые используют шлюз для этой подсети. Например, следующая команда отменяет все аренды адресов DHCP для адаптеров на локальном компьютере, которые арендуют адреса DHCP с 192.168.1.254:

Единственное отличие при обновлении аренды адреса DHCP заключается в вызове метода RenewDHCPLease RenewDHCPLease ReleaseDHCPLease вместо метода ReleaseDHCPLease:

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

Отмена и обновление аренды адресов DHCP для всех адаптеров

Отменить или обновить аренду адресов DHCP сразу для всех адаптеров можно с помощью методов Win32_NetworkAdapterConfiguration — ReleaseDHCPLeaseAll и RenewDHCPLeaseAll . Однако эту команду следует применять к классу WMI, а не к отдельному адаптеру, поскольку глобальная отмена и обновление аренды осуществляется на уровне класса, а не отдельного адаптера. Командлет Invoke-CimMethod может вызывать методы класса.

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

Создание сетевой папки

Эта команда эквивалентна следующей команде net share в Windows:

Чтобы вызвать метод класса WMI, который принимает параметры, необходимо определить доступные параметры и типы этих параметров. Например, можно вывести список методов Win32_Class с помощью следующих команд:

Используйте следующую команду, чтобы вывести список параметров метода Create .

Также можно ознакомиться с документацией по методу Create класса Win32_Share.

Удаление сетевой папки

Подключение сетевого диска, доступного в Windows

Командлет New-PSDrive может создать диск PowerShell, сопоставленный с общей сетевой папкой.

Тем не менее диски, созданные таким образом, доступны только для сеанса PowerShell, в котором они созданы. Чтобы подключить диск, доступный за пределами PowerShell (или для других сеансов PowerShell), необходимо использовать параметр Persist.

Постоянно сопоставленные диски могут быть недоступны при работе в контексте с повышенными привилегиями. Этот режим используется по умолчанию для Windows UAC. Дополнительные сведения см. в следующей статье:

Для экспериментов, необходимо запустить консоль Пуск-Выполнить-cmd.exe

Сюда относятся подкоманды: start, stop, pause, continue

Синтаксис команд общий, единственным параметром является служба, с которой требуется произвести действие. Start и Stop – запускают и останавливают указанную службу, pause и continue – приостанавливают и возобновляют работу указанной службы. Список запущенных служб можно получить с помощью команды tasklist с ключом /svc (рассмотренной в одном из предыдущих ликбезов).

Не каждая служба может быть остановлена, например попытка остановить или приостановить службу антивируса приведёт к ошибке «отказано в доступе». Это средство самозащиты антивирусных программ, не позволяющее вирусам отключать защиту. Так же вы не сможете остановить большинство служб, если не имеете прав на управление службами или прав администратора.

Сюда относятся подкоманды config, share, use, view, session, file, print

С помощью подкоманды share так же можно открыть или закрыть доступ к папке или другому ресурсу. Чтобы закрыть доступ к ресурсу, необходимо использовать конструкцию net share имя_ресурса с ключом /delete

Открыть доступ к ресурсу можно с помощью команды net share имя_ресурса=диск:путь

в случае успешного выполнения команды я получу ответ «Общая папка успешно назначен общим». Теперь, дав команду net share – я увижу её в списке общих ресурсов. Чтобы закрыть доступ к ней мне надо дать команду:

В случае успеха – система ответит «Общая папка успешно удалён.»

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

Net use без параметров отобразит все подключённые сетевые диски (если таковые есть).

Синтаксис команды net use диск имя ресурса [/ключи]

Допустим, мне надо подключить в качестве сетевого диска папку shared на компьютере, с именем comp-1, в качестве диска x:

Для этого я пишу net use x: \\comp-1\shared, если команда выполнена успешно, то набрав net use – я увижу подключённый диск x: с путём \\comp-1\shared.

С помощью net use так же можно подключать ресурсы под другими именами пользователя, тогда в конструкцию надо добавить пароль, после имени ресурса, а после пароля ключ /user:доменное_имя_ользователя. Если компьютеры находятся вне доменной сети, то в качестве доменного имени пользователя мы прописываем пользователя, прописанного на удалённом компьютере в виде имя_компьютера\имя_пользователя. В результате команда подключения в нашем примере будет выглядеть так:

Net use x: \\comp-1\shared 12345 /user:comp-1\test_user (c условием, что на компьютере comp-1 есть пользователь test_user с паролем 12345 и имеющим права доступа к указанному ресурсу)

Net view так же может отобразить все рабочие станции домена, если использовать команду с ключом /domain:имя_домена.

Подкоманда Session позволяет отобразить текущие подключения (сессии) к вашему компьютеру, если использовать её без параметров. Чтобы отключить подключение нужно использовать net session с ключом /delete, передав в качестве параметра имя компьютера, например:

Net session \\comp-1 /delete – закроет все подключения с компьютера, с именем comp-1

Аналогичным образом работает подкоманда File, отображая список открытых файлов на вашем компьютере, чтобы принудительно закрыть открытый файл, в качестве параметра, нужно передать его (файла) номер и ключ /close

Net file 1 /close – закрывает открытый файл, с порядковым номером 1

Команда Print позволяет управлять принтером с общим доступом. Синтаксис команды net print \\имя_компьютера\имя _принтера

В таком варианте команда отобразит задания на принтере(очередь печати). Управление заданиями осуществляется с помощью ключей /HOLD (приостановить) /RELEASE («отпустить» приостановленное задание) и /DELETE (удалить задание). В качестве параметра необходимо передать номер задания в очереди.

Команда config отображает текущие настройки службы рабочей станции и службы сервера вашего компьютера. Чтобы отобразить настройки, соответственно необходимо дать команду net config workstation или net config server

Конфигурация рабочей станции отобразит следующие параметры:

  • Краткое имя компьютера вида \\имя_компьютера
  • Полное имя компьютера вида имя_компьютера.домен
  • Имя пользователя
  • Протокол сетевого подключения
  • Название ОС
  • Домен или рабочую группу
  • DNS-имя домена рабочей станции
  • Домен входа
  • Настройки COM-порта

Конфигурация сервера отобразит:

  • Имя сервера
  • Комментарий для сервера (если задан)
  • Название ОС
  • Протоколы для подключений
  • Является ли сервер скрытым
  • Максимальное число пользователей
  • Максимальное количество открытых файлов для сеанса
  • Время холостого хода сеанса в минутах.

Третий раздел – команды управления учётными записями пользователей и группами пользователей, этих команд мы коснёмся поверхностно. Сюда относятся подкоманды accounts, localgroup, user:

Первая подкоманда accounts, введенная без параметров она отображает текущую политику учётных записей (минимальную длину пароля, срок действия пароля, условия блокировки компьютера и т.д.), а так же роль компьютера в домене. Изменить настройки можно с помощью соответствующих ключей подкоманды accounts, информацию о которых можно получить набрав net accounts /? Или net help accounts. Синтаксис команды net accounts [ключи].

Вторая подкоманда localgroup – отвечает за управление группами пользователей на компьютере, с её помощью можно добавить или удалить группу пользователей, а так же включить пользователя в группу или исключить пользователя из группы. Команда net localgroup без параметров вернёт список локальных групп пользователей для вашего компьютера

Третья подкоманда – user. Название user говорит само за себя, с помощью этой подкоманды можно добавить или удалить локального пользователя. Аналогично предыдущей подкоманде, net users вернёт список локальных пользователей компьютера.

Последний раздел – описывает подкоманды, не вошедшие в первые три группы:

Подкоманда help <подкоманда> отображает справку по указанной подкоманде. Её можно задавать с флагом |more –тогда информация будет отображаться постранично.

Подкоманда time без параметров показывает текущее время, а так же сервер, с которым синхронизируется время в ОС. Так же с помощью подкоманды time можно задать сервер, с которым будет синхронизироваться время на компьютере.

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

Подкоманда group доступна только на компьютерах, являющихся контроллером домена (в доменной сети), предоставляет возможность создания, редактирования и удаления групп пользователей в домене (для настройки групп на локальном компьютере можно использовать подкоманду localgroup)

Что надо знать?

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

2. Не стоит лишний раз пользоваться командой net send, она мешает работе пользователя.

3. Без необходимости, не изменяйте политики хранения пароля. Это может привести к невозможности нормальной работы с компьютером.

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

1. PING

PING — одна из базовых и самых полезных CMD-команд. Она отображает качество связи, показывает, может ли ваш компьютер высылать данные по целевому IP-адресу, и если может, то с какой скоростью.

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

Команда действует по следующему принципу: она высылает определённое количество пакетов данных и определяет, сколько из них вернулось обратно. Если некоторые из них не вернулись, она сообщает о потере. Потеря пакетов ведёт к низкой производительности в играх и интернет-трансляциях. Это отличный способ протестировать ваше интернет-соединение.

2. TRACERT

TRACERT означает Trace Route. Как и PING, команда высылает пакет данных для решения сетевых проблем. Однако она определяет не скорость отправки и возврата пакета, а его маршрут.

Команда отображает список всех маршрутизаторов, через которые проходят данные на пути к конечному узлу. Почему мы видим три показателя длительности для каждого маршрутизатора? Потому что TRACERT высылает три пакета данных на случай, если один из маршрутизаторов потеряется или по какой-то причине потребует слишком много времени.

3. PATHPING

Команда PATHPING аналогична TRACERT, однако она более информативна, а потому требует больше времени для исполнения. Она анализирует маршрут пакетов данных и определяет, на каких промежуточных узлах произошла потеря.

4. IPCONFIG

Эта команда наиболее часто используется для отладки сетей в Windows. И дело не только в объёме информации, которую она предоставляет, но и в том, что она комбинируется с несколькими ключами для выполнения определённых команд.

При вводе без ключей IPCONFIG отражает все сетевые адаптеры на вашем компьютере, а также то, как они работают. IPv4 Addres и Default Gateway содержат наиболее важную информацию.

Чтобы очистить DNS-кеш, используйте следующий ключ: ipconfig /flushdns

Эта операция может помочь, если интернет работает, однако вы не можете попасть на некоторые сайты или сервера.

5. GETMAC

Каждое совместимое со стандартами IEEE 802 устройство имеет уникальный MAC-адрес (Media Access Control). Производитель присваивает каждой единице оборудования свой собственный адрес, который прописан в самом устройстве.

Вы можете увидеть несколько MAC-адресов, в зависимости от того, сколько сетевых адаптеров установлено на вашем компьютере. Например, интернет-соединения Wi-Fi и Ethernet будут иметь отдельные MAC-адреса.

6. NSLOOKUP

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

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

Если вы хотите преобразовать IP-адрес в доменное имя, просто введите его в строку браузера и вы увидите, куда он ведёт. Однако не все IP-адреса ведут к доменным именам. Многие из них нельзя достичь через веб-браузер.

7. NETSTAT

Эта утилита является средством для сбора статистики, анализа и диагностики. Она довольна сложна, если использовать весь её потенциал (например, настраивать локальную сеть предприятия).

По умолчанию команда показывает все активные подключения в вашей системе. Активное подключение не означает, что идёт обмен данными. Оно указывает лишь на то, что где-то открыт порт, а устройство готово к подключению.

У команды также есть несколько ключей, которые меняют тип отображаемой информации. Например, ключ -r выведет таблицы маршрутизации.

8. NETSH

NETSH означает Network Shell (сетевая оболочка). Эта команда позволяет настроить почти любой сетевой адаптер на вашем компьютере более детально.

При вводе NETSH командная строка переходит в режим оболочки. Внутри неё есть несколько контекстов (маршрутизация, связанные с DHCP команды, диагностика).

Увидеть все контексты можно следующим образом:

А увидеть все команды в рамках одного контекста можно так:

Вы можете копнуть глубже и увидеть список всех подкоманд в рамках одной команды:

Например, вы можете ввести следующую команду, чтобы увидеть все сетевые драйвера и их характеристики в вашей системе: netsh wlan show drivers

Имейте в виду, что если вы действительно хотите достичь серьёзных успехов в настройке вашей сети посредством командной строки, вам придётся освоить эту команду.

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.


В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

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

Синтаксис этой команды выглядит так:


Самое важное тут — это <OBJECT> (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

  • address — адрес протокола (IPv4 или IPv6) на устройстве.
  • tunnel — IP-туннель.
  • route — запись таблицы маршрутизации.
  • rule — правило в базе данных политики маршрутизации.
  • vrf — управление виртуальными устройствами маршрутизации и перенаправления трафика.
  • xfrm — управление IPSec-политикой.

Вывод IP-адресов, назначенных интерфейсу на сервере:


Назначение IP-адреса интерфейсу, например — enps03 :


Удаление IP-адреса из интерфейса:


Изменение статуса интерфейса, в данном случае — включение eth0 :


Изменение статуса интерфейса, в данном случае — выключение eth0 :


Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :


Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:


Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :


Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:


Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :


Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:


Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда ifconfig до определённого времени представляла собой один из основных инструментов, используемых многими системными администраторами для настройки сетей и решения сетевых проблем. Теперь ей на замену пришла команда ip , о которой мы только что говорили. Но если вас, всё же, интересует эта команда, можете взглянуть на данный материал.

Команда mtr

MTR (Matt's traceroute) — это программа, работающая в режиме командной строки, представляющая собой инструмент для диагностики сетей и устранения сетевых неполадок. Эта команда совмещает в себе возможности ping и traceroute . Она, как traceroute , может выводить сведения о маршруте, по которому сетевые данные идут от одного компьютера к другому. Она выводит массу полезных сведений о каждом шаге маршрутизации, например — время ответа системы. Благодаря использованию команды mtr можно получить довольно подробные сведения о маршруте, можно обнаружить устройства, которые вызывают проблемы при прохождении данных по сети. Если, например, наблюдается рост времени ответа системы, или рост числа потерянных пакетов, это позволяет с уверенностью говорить о том, что где-то между исследуемыми системами возникла проблема с сетевым соединением.

Синтаксис команды выглядит так:


Рассмотрим несколько распространённых способов применения mtr .

Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:


Вот — вариант использования mtr , когда вместо имён хостов выводятся их IP-адреса (речь идёт о ключе -g , благодаря которому вместо имён выводятся числовые IP-адреса):


А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:


А так можно получить отчёт, содержащий результаты работы mtr :


Вот — ещё один вариант получения такого отчёта:


Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:


А вот так можно использовать UDP вместо ICMP:


Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:


Так можно настроить размер пакета:


Для вывода результатов работы mtr в формате CSV используется такая команда:


Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:


Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.


Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:


Или — такой, с указанием (через ключ -c ) количества пакетов, которые нужно захватить:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:


Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:


Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:


Ещё можно поступить так:


Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):


Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):


Захват трафика для заданного порта:


Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Инструмент netstat используется для вывода сведений о сетевых соединениях и таблицах маршрутизации, данных о работе сетевых интерфейсов, о masquerade-соединениях, об элементах групп многоадресной рассылки. Эта утилита является, как и ifconfig , частью пакета net-tools . В новом пакете iproute2 для достижения тех же целей используется утилита ss .

Если в вашей системе netstat отсутствует, установить эту программу можно так:


Ей, в основном, пользуются, вызывая без параметров:


В более сложных случаях её вызывают с параметрами, что может выглядеть так:


Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:


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


Для вывода сведений обо всех TCP-портах применяется такой вариант команды:


Если нужны данные по UDP-портам — утилиту вызывают так:


Список портов любых протоколов, ожидающих соединений, можно вывести так:


Список TCP-портов, ожидающих соединений, выводится так:


Так выводят список UDP-портов, ожидающих соединений:


А так — список UNIX-портов, ожидающих соединений:


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


Так выводятся статистические сведения по TCP-портам:


Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:


Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:


Просмотр NS-записей домена:


Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:


Обнаружение всех доступных DNS-записей домена:


Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:


В данном случае работу команды ping можно остановить, воспользовавшись сочетанием клавиш CTRL+C . В противном случае она будет выполнять запросы до тех пор, пока её не остановят. После каждой ping-сессии выводятся сводные данные, содержащие следующие сведения:

  • Min — минимальное время, которое требуется на получение ответа от пингуемого хоста.
  • Avg — среднее время, которое требуется на получение ответа.
  • Max — максимальное время, которое требуется на получение ответа.

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:


А для того чтобы увидеть лишь итоговый отчёт работы ping — можно воспользоваться ключом -q :


В системах с несколькими сетевыми интерфейсами можно задавать конкретный интерфейс, которым должна пользоваться команда ping . Например, есть компьютер, имеющий интерфейсы eth0 и eth1 . Если нужно, чтобы команда ping использовала бы интерфейс eth0 — надо запустить её так:


Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:


Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

▍ Destination Host Unreachable

Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.

▍ Request timed out

▍ Unknown host/Ping Request Could Not Find Host

Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.

Читайте также: