Help — Помощь с программой приема данных по протоколу TCPIP. CC++


Содержание

Протокол TCP/IP

Протокол TCP/IP ( Transmission Control Protocol/Internet Protocol ) представляет собой стек сетевых протоколов, повсеместно используемый для Интернета и других подобных сетей (например, данный протокол используется и в ЛВС). Название TCP/IP произошло от двух наиболее важных протоколов:

  • IP (интернет протокол) — отвечает за передачу пакета данных от узла к узлу. IP пересылает каждый пакет на основе четырехбайтного адреса назначения (IP-адрес).
  • TCP (протокол управления передачей) — отвечает за проверку корректной доставки данных от клиента к серверу. Данные могут быть потеряны в промежуточной сети. TCP добавлена возможность обнаружения ошибок или потерянных данных и, как следствие, возможность запросить повторную передачу, до тех пор, пока данные корректно и полностью не будут получены.

Основные характеристики TCP/IP:

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

Принцип работы стека протоколов TCP/IP такой же как и в модели OSI, данные верхних уровней инкапсулируются в пакеты нижних уровней.

Если пакет продвигается по уровню сверху вниз — на каждом уровне добавляется к пакету служебная информация в виде заголовка и возможно трейлера (информации помещенной в конец сообщения). Этот процесс называется инкапсуляция. Служебная информация предназначается для объекта того же уровня на удаленном компьютере. Ее формат и интерпретация определяются протоколами данного уровня.

Если пакет продвигается по уровню снизу вверх — он разделяется на заголовок и данные. Анализируется заголовок пакета, выделяется служебная информация и в соответствии с ней данные перенаправляются к одному из объектов вышестоящего уровня. Вышестоящий уровень, в свою очередь, анализирует эти данные и также их разделяет их на заголовок и данные, далее анализируется заголовок и выделяется служебная информация и данные для вышестоящего уровня. Процедура повторяется заново пока пользовательские данные, освобожденные от всей служебной информации, не дойдут до прикладного уровня.

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

Пример инкапсуляции можно представить следующим образом:

Рассмотрим каждые функции уровней

Прикладной уровень

Приложения, работающие со стеком TCP/IP, могут также выполнять функции представительного уровня и частично сеансового уровня модели OSI.

Распространенными примерами приложений являются программы:

  • Telnet
  • FTP
  • HTTP
  • WWW
  • Протоколы электронной почты (SMTP, POP3)

Для пересылки данных другому приложению, приложение обращается к тому или иному модулю транспортного модуля.

Транспортный уровень

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

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

Номер порта получателя и отправителя записывается в заголовок транспортным модулем отправляющим данные. Заголовок транспортного уровня содержит также и некоторую другую служебную информацию, и формат заголовка зависит от используемого транспортного протокола.

Средства транспортного уровня представляют собой функциональную надстройку над сетевым уровнем и решают две основных задачи:

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

В настоящее время в Интернет используются два транспортных протокола – UDP, обеспечивающий негарантированную доставку данных между программами, и TCP, обеспечивающий гарантированную доставку с установлением виртуального соединения.

Сетевой (межсетевой) уровень

Основным протоколом этого уровня является протокол IP, который доставляет блоки данных (дейтаграммы) от одного IP-адреса к другому. IP-адрес является уникальным 32-х битным идентификатором компьютера, точнее его сетевого интерфейса. Данные для дейтаграммы передаются IP модулю транспортным уровнем. IP модуль добавляет к этим данным заголовок, содержащий IP-адрес отправителя и получателя, и другую служебную информацию.

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

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

Когда модуль IP получает дейтаграмму с нижнего уровня, он проверяет IP адрес назначения, если дейтаграмма адресована данному компьютеру, то данные из нее передаются на обработку модулю вышестоящего уровня, если же адрес назначения дейтаграммы чужой, то модуль IP может принять два решения:

  • Уничтожит дейтаграмму;
  • Отправить ее дальше к месту назначения, определив маршрут следования, так поступают промежуточные станции – маршрутизаторы.

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

Также протокол IP может отправлять сообщения – уведомления с помощью протокола ICMP, например, в случае уничтожения дейтаграммы. Более никаких средств контроля корректности данных, подтверждения или доставки, предварительного соединения в протоколе нет, эти задачи возложены на транспортный уровень.

Уровень доступа к среде

Функции этого уровня следующие:

  • Отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол ARP;
  • Инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров, при этом не требуется какого-либо контроля безошибочной передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение. В заголовке кадров указывается точка доступа к сервису SAP, это поле содержащее код протокола;
  • Определение метода доступа к среде передачи, т.е. способа, с помощью которого компьютеры устанавливает свое право на передачу данных;
  • Определение представления данных в физической среде;
  • Пересылка и прием кадра.

Рассмотрим инкапсуляцию на примере перехвата пакета протокола HTTP с помощью сниффера wireshark, который работает на прикладном уровне протокола TCP/IP:

Помимо самого перехваченного протокола HTTP, на основании стека TCP/IP сниффер описывает каждый нижележащий уровень. HTTP инкапсулируется в TCP, протокол TCP в IPv4, IPv4 в Ethernet II.

Протоколы TCP/IP простым языком

Протоколы TCP/IP основа работы глобальной сети Интернет. Если быть более точным, то TCP/IP это список или стек протоколов, а по сути, набор правил по которым происходит обмен информации (реализуется модель коммутации пакетов).

В этой статье разберем принципы работы стека протоколов TCP/IP и попробуем понять принципы их работы.

Примечание: Зачастую, аббревиатурой TCP/IP называют всю сеть, работающую на основе этих двух протоколов, TCP и IP.

В модель такой сети кроме основных протоколов TCP (транспортный уровень) и IP (протокол сетевого уровня) входят протоколы прикладного и сетевого уровней (смотри фото). Но вернемся непосредственно к протоколам TCP и IP.

Что такое протоколы TCP/IP

TCP — Transfer Control Protocol. Протокол управления передачей. Он служит для обеспечения и установление надежного соединения между двумя устройствами и надежную передачу данных. При этом протокол TCP контролирует оптимальный размер передаваемого пакета данных, осуществляя новую посылку при сбое передачи.

IP — Internet Protocol. Интернет протокол или адресный протокол — основа всей архитектуры передачи данных. Протокол IP служит для доставки сетевого пакета данных по нужному адресу. При этом информация разбивается на пакеты, которые независимо передвигаются по сети до нужного адресата.

Форматы протоколов TCP/IP

Формат IP протокола

Существуют два формата для IP адресов IP протокола.

Формат IPv4. Это 32-битовое двоичное число. Удобная форма записи IP-адреса (IPv4) это запись в виде четырёх групп десятичных чисел (от 0 до 255), разделённых точками. Например: 193.178.0.1.

Формат IPv6. Это 128-битовое двоичное число. Как правило, адреса формата IPv6 записываются в виде уже восьми групп. В каждой группе по четыре шестнадцатеричные цифры разделенные двоеточием. Пример адреса IPv6 2001:0db8:85a3:08d3:1319:8a2e:0370:7889.

Как работают протоколы TCP/IP

Если удобно представьте передаче пакетов данных в сети, как отправку письма по почте.

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

Протокол IP

Каждый компьютер в сети имеют свой уникальный адрес. В глобальной сети Интернет, компьютер имеет этот адрес, который называется IP-адрес (Internet Protocol Address).

По аналогии с почтой, IP- адрес это номер дома. Но номера дома для получения письма недостаточно.

Передаваемая по сети информация передается не компьютером, как таковым, а приложениями, установленными на него. Такими приложениями являются сервер почты, веб-сервер, FTP и т.п. Для идентификации пакета передаваемой информации, каждое приложение прикрепляется к определенному порту. Например: веб-сервер слушает порт 80, FTP слушает порт 21, почтовый SMTP сервер слушает порт 25, сервер POP3 читает почту почтовых ящиков на порте 110.

Таким образом, в адресном пакете в протоколе TCP/IP, в адресатах появляется еще одна строка: порт. Аналог с почтой — порт это номер квартиры отправителя и адресата.

Source address (Адрес отправителя):

Destination address (Адресполучателя):

Стоит запомнить: IP адрес + номер порта — называется «сокет». В примере выше: с сокета 82.146.47.66:2049 пакет отправляется на сокет 195.34.31.236: 53.

Протокол TCP

Протокол TCP это протокол следующего после протокола IP уровня. Предназначен этот протокол для контроля передачи информации и ее целостности.

Например, Передаваемая информация разбивается на отдельные пакеты. Пакеты доставят получателю независимо. В процессе передачи один из пакетов не передался. Протокол TCP обеспечивает повторные передачи, до получения этого пакета получателем.

Транспортный протокол TCP скрывает от протоколов высшего уровня (физического, канального, сетевого IP все проблемы и детали передачи данных).

Протокол TCP

Огромное количество трафика и взаимодействия в сети сейчас происходит по протоколу TCP (Transmission Control Protocol). Этот протокол гарантирует доставку сообщений и широко используется в различных существующих на сегодняшний день программах.

Для работы с протоколом TCP в .NET предназначены классы TcpClient и TcpListener . Эти классы строятся поверх класса System.Net.Sockets.Socket .

TCP-клиент. Класс TcpClient

Для создания клиентской программы, работающей по протоколу TCP, предназначен класс TcpClient .

Для подключения к серверу TCP, в этом классе определен метод Connect() , которому передается название хоста и порт:

Чтобы взаимодействовать с сервером TcpClient определяет метод GetStream() , который возвращает объект NetworkStream . Через данный объект можно передавать сообщения серверу или, наоборот, получать данные с сервера.

После окончания работы с TcpClient его надо закрыть методом Close() .

Для отправки данных у потока используется метод Write() :

Для чтения используется метод Read() класса NetworkStream:

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

Полноценный код клиента, выполняющий чтение из потока, мог бы выглядеть так:

В данном случае предполагается, что по локальному адресу 127.0.0.1 на порту 8888 запущен tcp-сервер.

Мы ожидаем, что сервер будет передавать строку в кодировке UTF8, и для создания строки определяется объект StringBuilder.

Как данные передаются на примере стека протоколов HTTP/TCP/IP/Wi-Fi?

Здравствуйте, изучаю компьютерные сети, на данный момент стек протоколов TCP/IP.
Перед этим искал в интернете и в книгах, только что-то не нашел, поэтому пишу здесь.

Хотелось бы найти (или может кто-нибудь объяснит) где-нибудь такой или похожий пример, который показал бы как формируется и передается пакет от одного компьютера к другому с использованием конкретного набора протоколов, например, HTTP/TCP/IP/Wi-Fi я думаю очень часто используемого.

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

1.Запустив браузер и введя в адресную строку доменное имя какого-либо сайта, браузер формирует HTTP запрос или сообщение по правилу HTTP протокола (что именно там, мне пока не важно, это можно прочитать в реализации самого протокола).

2.Далее это сообщение (отсюда начинаются только мои догадки) через интерфейс сокетов, который предоставляет операционная система браузеру, передается (или что оно делает? и как передается?) на транспортный уровень в котором сообщение преобразуется в сегмент (что преобразует сообщение в сегмент?) по протоколу TCP.

3.(Опять неизвестно, как и где этот уровень находиться) сегмент передается на сетевой уровень, который преобразует его в IP-пакет, сформированный по протоколу IP.

4.IP-пакет уже передается (не знаю, как) на канальный уровень (это wifi модуль что ли?) тот его преобразует в кадр по протоколу на данном уровне Wi-Fi, и передает по каналу связи в данном случае по радиосвязи, например, маршрутизатору, тот принимает кадр, преобразует его в IP-пакет (вот на счет этого совсем не уверен), решает какому хосту, скорее всего это будет следующий маршрутазитор, передать данные и снова преобразует в кадр, и передает ему.

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

Спасибо если хоть кто-то дочитал много текста, и буду рад если кто-нибудь ответит хотя-бы на 1-2 вопроса или скажет где я вообще неправильно понял.


Работа с сетью в командной строке Windows (CMD)

&nbsp &nbsp Большинство рассматриваемых сетевых утилит для полноценной работы требуют наличия административных привилегий. Для операционных систем семейства Windows 2000/XP достаточно того, чтобы пользователь работал под учетной записью члена группы администраторов. Интерпретатор командной строки cmd.exe можно запустить с использованием меню Пуск — Выполнить — cmd.exe . В среде операционных систем Widows Vista/Windows 7 интерпретатор cmd.exe должен быть запущен для выполнения с использованием пункта контекстного меню «Запустить от имени администратора». Командные файлы, в которых используются сетевые утилиты, также должны выполняться в контексте учетной записи с привилегиями администратора.

В списке представлены сетевые утилиты командной строки для получения информации о сетевых настройках, выполнения операций по конфигурированию и диагностике сети.

В описании команд используется

— текст в угловых скобках. Обязательный параметр
[ текст ] — текст в квадратных скобках. Необязательный параметр.
( текст ) — текст в круглых скобках. Необходимо выбрать один из параметров.
Вертикальная черта | — разделитель для взаимоисключающих параметров. Нужно выбрать один из них.
Многоточие . — возможно повторение параметров.

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

Утилита ARP.EXE

&nbsp &nbsp Утилита командной строки ARP.EXE присутствует во всех версиях Windows и имеет один и тот же синтаксис.
Команда ARP позволяет просматривать и изменять записи в кэш ARP (Address Resolution Protocol — протокол разрешения адресов), который представляет собой таблицу соответствия IP-адресов аппаратным адресам сетевых устройств. Аппаратный адрес — это уникальный, присвоенный при изготовлении, 6-байтный адрес сетевого устройства, например сетевой карты. Этот адрес также часто называют MAC-адресом (Media Access Control — управление доступом к среде) или Ethernet-адресом. В сетях Ethernet передаваемые и принимаемые данные всегда содержат MAC-адрес источника (Source MAC) и MAC-адрес приемника (Destination MAC). Два старших бита MAC-адреса используются для идентификации типа адреса:

— первый бит — одиночный (0) или групповой (1) адрес.
— второй бит — признак универсального (0) или локально администрируемого (1) адреса.

Следующие 22 бита адреса содержат специальный код производителя MFG или OUI — универсальный код организации.

Другими словами, любое сетевое устройство имеет аппаратный адрес, состоящий из 2- х частей. Старшую часть MAC — адреса, централизованно выделяемую по лицензии каждому производителю сетевого оборудования. Например, 00:E0:4C — для сетевых устройств REALTEK SEMICONDUCTOR CORP. Крупным производителям сетевого оборудования обычно принадлежит несколько диапазонов OUI . И младшую часть MAC-адреса, которая формируется при производстве оборудования, и уникальна для каждого экземпляра устройства.

Отображение 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]]

-a[ InetAddr] [ -NIfaceAddr] — ключ -a — отображает текущую таблицу ARP для всех интерфейсов. Для отображения записи конкретного IP-адреса используется ключ -a с параметром InetAdd , в качестве которого указывается IP-адрес. Если узел, отправляющий ARP-запрос имеет несколько сетевых интерфейсов, то для отображения таблицы ARP нужного интерфейса, можно использовать ключ -N с параметром IfaceAddr, в качестве которого используется IP-адрес интерфейса.
-g[ InetAddr] [ -NIfaceAddr] ключ -g идентичен ключу -a.
-d InetAddr[ IfaceAddr] — используется для удаления записей из ARP-кэш. Возможно удаление по выбранному IP или полная очистка ARP кэш. Для удаления всех записей, вместо адреса используется символ * Если имеется несколько сетевых интерфейсов, то очистку можно выполнить для одного из них, указав в поле IfaceAddr его IP .

-s InetAddr EtherAddr [ IfaceAddr] — используется для добавления статических записей в таблицу ARP. Статические записи хранятся в ARP-кэш постоянно. Обычно, добавление статических записей используется для сетевых устройств, не поддерживающих протокол ARP или не имеющих возможности ответить на ARP- запрос.

/? — получение справки по использованию arp.exe. Аналогично — запуск arp.exe без параметров.

Примеры использования ARP:

arp -a — отобразить все записи таблицы ARP.

arp -a 192.168.0.9 — отобразить запись, соответствующую IP-адресу 192.168.0.9

arp -a 192.168.1.158 -N 192.168.1.1 — отобразить таблицу ARP для адреса 192.168.1.158 на сетевом интерфейсе 192.168.1.1

arp -a -N 10.164.250.148 — отобразить все записи таблицы ARP на сетевом интерфейсе 10.164.250.148 .

arp -s 192.168.0.1 00-22-15-15-88-15 — добавить в таблицу ARP статическую запись, задающую соответствие IP — адреса 192.168.0.1 и MAC-адреса 00-22-15-15-88-15

arp -s 192.168.0.1 00-22-15-15-88-15 192.168.0.56 — то же самое, что и в предыдущем случае, но с указанием сетевого интерфейса, для которого выполняется добавление статической записи.

arp -d 192.168.1.1 192.168.1.56 удаление записи из таблицы ARP для IP-адреса 192.168.1.1 на сетевом интерфейсе 192.168.1.56

arp -d * — полная очистка таблицы ARP. Аналогично — arp -d без параметров. Если имеется несколько сетевых интерфейсов, то очистка может быть выполнена только для одного из них — arp -d * 192.168.0.56.

&nbsp &nbsp Некоторые замечания по практическому использованию команды ARP:

— разрешение адресов по протоколу ARP выполняется только при операциях передачи данных по протоколу IP .
— время жизни записей в таблице ARP ограничено, поэтому, перед просмотром ее содержимого для конкретного адреса нужно выполнить ping на этот адрес.
— если ответ на ping не приходит, а запись для данного IP-адреса присутствует в таблице ARP, то этот факт можно интерпретировать как блокировку ICMP-пакетов брандмауэром пингуемого узла.
— невозможность подключения к удаленному узлу по протоколам TCP или UDP при наличии записей в таблице ARP для целевого IP, может служить признаком отсутствия служб обрабатывающих входящие подключения, или их блокировки брандмауэром (закрытые порты).
— ARP протокол работает в пределах локального сегмента сети. Поэтому, если выполнить ping на внешний узел ( например ping yandex.ru ), то в таблице ARP будет присутствовать запись для IP — адреса маршрутизатора, через который выполняется отправка пакета во внешнюю сеть.

При использовании команды ARP для отображения таблицы, не помещающейся на экране, удобно пользоваться командой постраничного вывода more или перенаправлением стандартного вывода в файл:
arp -a | more
arp -a > C:\myarp.txt

Утилита IPCONFIG .

&nbsp &nbsp Утилита командной строки 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

/all — отобразить полную конфигурацию настроек TCP/IP для всех сетевых адаптеров. Отображение выполняется как для физических интерфейсов, так и для логических, как например, dialup или VPN подключения.

/allcompartments — вывести полную информацию о конфигурации TCP/IP для всех секций. Применимо для Windows Vista/Windows 7 .

/displaydns — отобразить содержимое кэш службы DNS — клиент.

/flushdns — сбросить содержимое кэш службы DNS — клиент.

/registerdns — инициировать регистрацию записей ресурсов DNS для всех адаптеров данного компьютера. Этот параметр используется для изменения настроек DNS сетевых подключений без перезагрузки компьютера.

/release[Adapter] — используется для отмены автоматических настроек сетевого адаптера, полученных от сервера DHCP. Если имя адаптера не указано, то отмена настроек выполняется для всех адаптеров.

/release6[Adapter] — отмена автоматических настроек для протокола IPv6

/renew[Adapter] — обновить конфигурацию для сетевого адаптера настроенного на получение настроек от сервера DHCP. Если имя адаптера не указано, то обновление выполняется для всех адаптеров.

/renew6[Adapter] — как и в предыдущем случае, но для протокола IPv6

/showclassid Adapter и /setclassid Adapter[ ClassID] — эти параметры применимы для Windows Vista / Windows 7 и используются для просмотра или изменения идентификатора Class ID, если он получен от DHCP — сервера при конфигурировании сетевых настроек.

&nbsp &nbsp Изменение сетевых настроек с помощью команды IPCONFIG, в основном, применимо к тем сетевым адаптерам, которые настроены на автоматическое конфигурирование с использованием службы динамической настройки основных параметров на сетевом уровне DHCP (Dynamic Host Configuration Protocol) или службы автоматической настройки приватных IP — адресов APIPA (Automatic Private IP Addressing) .

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

Для имен адаптеров применимо использование символа * в качестве шаблона:

* — любое имя
Локальн* — имя адаптера начинается с » Локальн »
* сети * — имя адаптера содержит строку » сети «

ipconfig — отобразить базовые сетевые настройки для всех сетевых адаптеров.

ipconfig /all — отобразить все сетевые настройки для всех сетевых адаптеров.

ipconfig /renew «Подключение по локальной сети 2″ — обновить сетевые настройки, полученные от DHCP — сервера только для адаптера с именем » Подключение по локальной сети 2″

ipconfig /dysplaydns — вывести на экран содержимое кэш службы разрешения имен DNS

ipconfig /showclassid «Подключение по локальной сети» — отобразить все допустимые для этого адаптера идентификаторы классов DHCP.

ipconfig /setclassid «Local Area Connection» TEST — установить для адаптера с именем «Local Area Connection» идентификатор класса DHCP «TEST». Если идентификатор класса DHCP не указан, то он будет удален.

Пример отображаемой конфигурации сетевого адаптера :

Ethernet adapter Подключение по локальной сети : — имя адаптера
DNS-суффикс подключения . . . . . : — DNS-суффикс из настроек сетевого подключения
Описание. . . . . . . . . . . . . : Realtek 8139d Adapter #2 — описание адаптера.
Физический адрес. . . . . . . . . : 00-14-02-7B-ED-67 — MAC- адрес данного адаптера.
DHCP включен. . . . . . . . . . . : Да — признак использования DHCP для конфигурирования сетевого адаптера
Автонастройка включена. . . . . . : Да — признак автоматической настройки параметров адаптера с использованием функции автоматического назначения адресов (APIPA) при отсутствии сервера DHCP. Режим определяется значением ключа реестра
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\GUID адаптера\IPAutoconfigurationEnabled
Значение 0 (тип DWORD) параметра IPAutoconfigurationEnabled отключает APIPA. Если значение этого параметра равно 1 , или параметр отсутствует в реестре, APIPA активируется.

Автонастройка IPv4-адреса . . . . : 169.254.254.18(Основной) — автоматически полученный локальный адрес, если используется APIPA

Локальный IPv6-адрес канала . . . : fe80::7c22:e7f8:3a71:8249%16(Основной) — локальный IPv6 адрес, если используется адресация IPv6

IPv4-адрес. . . . . . . . . . . . : 10.10.11.77(Основной) — используемый для данного адаптера IPv4 — адрес.

Маска подсети . . . . . . . . . . : 255.255.224.0 — маска подсети.

Аренда получена. . . . . . . . . . : 2 марта 2012 г. 22:44:48 — дата и время получения сетевой конфигурации от сервера DHCP

Срок аренды истекает. . . . . . . . . . : 3 марта 2012 г. 2:31:27 — срок истечения аренды сетевых настроек. Определяется сервером DHCP.

Основной шлюз. . . . . . . . . : 10.10.11.1 — IP — адрес маршрутизатора, используемого в качестве шлюза по умолчанию.

Код класса DHCPv4. . . . . . . . . . : TEST — код класса DHCP, если он существует.

DHCP-сервер. . . . . . . . . . . : 10.10.11.11 — — IP-адрес DHCP-сервера, от которого получена сетевая конфигурация.

Следующие 2 параметра (идентификатор участников DHCP — DUID и идентификатор арендованного адреса IAID) присутствуют при автоматическом конфигурировании настроек протокола IPv6 . В крупных сетях могут присутствовать несколько серверов DHCPv6. При автоматическом конфигурировании сетевого адаптера, все они получают от клиента специальный запрос DHCP REQUEST . Каждый из них проверяет, ему ли был направлен запрос. Сервер не приступает к обработке пакетов с DUID, отличающимся от его собственного. При совпадении DUID, сервер помечает адрес как присвоенный и возвращает ответ DHCP REPLY . На этом обработка запроса завершается.
IAID — это специальный идентификатор арендуемого IPv6-адреса длиной 4 байта. Клиенту выделяется адрес на время, определенное сервером (срок аренды). Когда предпочитаемый срок действия адреса заканчивается, клиент отправляет серверу пакет DHCP RENEW с запросом на продление этого срока. В сообщение включается идентификатор IAID, код которого также хранится в базе данных DHCP сервера. Если сервер готов продлить срок действия адреса, он отправляет ответ DHCP REPLY и клиент получает возможность использования арендованного адреса без повторного получения настроек.

IAID DHCPv6 . . . . . . . . . . . : 234890384 — идентификатор арендованного адреса IAID

DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-14-E2-78-C0-00-0C-1E-7C-29-E3 — идентификатор участников DHCP

DNS-серверы. . . . . . . . . . . : 94.25.128.74
&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 94.25.208.74 — адреса DNS — серверов, используемых для разрешения имен в IP-адреса узлов.

NetBios через TCP/IP. . . . . . . . : Включен — режим использования NetBios через протокол TCP/IP.

Утилита GETMAC .

&nbsp &nbsp Утилита командной строки GETMAC присутствует в версиях Windows XP и старше. Используется для получения аппаратных адресов сетевых адаптеров (MAC-адресов) как на локальном, так и на удаленном компьютере.

GETMAC [/S [/U [/P ]]] [/FO ] [/NH] [/V]

/S — имя или IP-адрес удаленного компьютера.

/U [ \] Имя пользователя. Если не задано, то используется текущая учетная запись.

/P [ ] — Пароль. Если задан параметр /U и не задан пароль, то он будет запрошен.

/FO — Формат, в котором следует отображать результаты запроса. Допустимые форматы: «TABLE» (таблица), «LIST» (список), «CSV» (разделяемые запятыми поля). Если параметр не задан, то используется вывод в виде таблицы (TABLE) .

/NH — Указывает, что строка заголовков столбцов не должна отображаться в результирующем файле. форматов TABLE и CSV.

/V — Отображение подробной информации. В отображаемой информации присутствует имя сетевого подключения и название сетевого адаптера.

/? — Вывод справки по использованию команды.

GETMAC /? — отобразить краткую справку об использовании GETMAC.
GETMAC /FO csv — выдать информации о MAC-адресах всех существующих на локальном компьютере сетевых адаптеров в формате CSV (полей с разделителями в виде запятой)
GETMAC /S COMPUTER /NH /V — получить MAC адреса сетевых адаптеров для удаленного компьютера COMPUTER, не отображать заголовки столбцов в таблице и использовать отображение подробной информации. Для подключения к удаленному компьютеру используется текущая учетная запись пользователя.
GETMAC /S 192.168.1.1 /NH /V — то же самое, но вместо имени компьютера задан его IP-адрес.
GETMAC /S COMPUTER /U user /P password — получить MAC — адрес адаптеров удаленного компьютера COMPUTER. Для подключения к нему используется имя пользователя «user» и пароль «password»
GETMAC /S COMPUTER /U mydomain\user — для подключения к удаленному компьютеру используется учетная запись пользователя «user» в домене «mydomain». Пароль пользователя вводится по запросу.
GETMAC /S COMPUTER /U mydomain\user /P password — то же самое, что и в предыдущем случае, но пароль задан в командной строке.

Пример выводимой информации по GETMAC без параметров:

Физический адрес &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Имя транспорта
=================== ==========================================================
00-00-DB-CE-97-9C &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp\Device\Tcpip_<85e2b831- 859b-45d4-9552-0e6dcfb57391>
00-2E-20-6B-0D-07 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp \Device\Tcpip_

По имени транспорта можно найти в реестре записи, связанные с данным сетевым адаптером.

Утилита NBTSTAT .

&nbsp &nbsp Команда 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]

Параметры командной строки:

-a RemoteName — отображает таблицу имен удаленного компьютера. NetBIOS-имена соответствуют перечню NetBIOS-приложений, выполняющихся на удаленном компьютере.

-A IPAddress — то же самое, что и в предыдущем случае, но вместо имени удаленного компьютера используется его IP-адрес.

-c — отображает кэш имен NetBIOS и соответствующих им IP-адресов.

-n — отображает таблицу NetBIOS-имен на локальном компьютере. Состояние «Зарегистрирован» означает, что имя зарегистрировано с использованием широковещательного запроса или с помощью сервера WINS.

-r — отображает статистику разрешения NetBIOS-имен. На компьютерах под управлением Windows XP и старше, выдается раздельная статистика о разрешении имен с помощью широковещательной рассылки и с помощью сервера имен WINS.


-R — очистка кэш NetBIOS-имен и загрузка данных из секции #PRE файла LMHOSTS.

-RR — очистка кэш NetBIOS — имен на локальном компьютере и их повторная регистрация с использованием сервера WINS.

-s — отображает статистику NetBIOS — сессий между клиентом и сервером и NetBIOS-имена удаленных узлов.

-S — отображает статистику сессий между клиентом и сервером и IP-адреса удаленных узлов.

Interval — интервал обновления отображаемых данных в секундах. Для прекращения автоматического обновления используется комбинация клавиш CTRL+C

/? — отобразить справку по использованию NBTSTAT.

Примеры использования: nbtstat -n — вывести список зарегистрированных NetBIOS-имен на локальном компьютере.

nbtstat -a SERVER — вывести список зарегистрированных NetBIOS-имен на компьютере SERVER.

nbtstat -A 192.168.1.1 — вывести список зарегистрированных NetBIOS-имен на удаленном компьютере с IP-адресом 192.168.1.1 .

nbtstat -RR — выполнить очистку и перерегистрацию NetBIOS-имен на локальном компьютере.

Утилита NETSH.EXE

&nbsp &nbsp Утилита сетевой оболочки NETSH (NETwork SHell) — наиболее полное и функциональное стандартное средство управления сетью с использованием командной строки в среде Windows XP и старше. Набор внутренних команд сетевой оболочки пополняется с появлением новых версий операционной системы, что необходимо учитывать при работе в локальной сети с различными ОС. Так, например, команда уровня wlan ( netsh wlan — управление беспроводной сетью) может использоваться на компьютерах под управлением Windows Vista и старше и отсутствует в Widows XP. Синтаксис используемых команд и параметров также может различаться в разных операционных системах семейства Windows.

При запуске NETSH.EXE без параметров на экран выводится приглашение к вводу внутренних команд оболочки. Набор команд представляет собой многоуровневую структуру, позволяющую выполнять необходимые действия в выбранном контексте. При вводе знака вопроса ? можно получить краткую справку по доступному перечню команд на данном уровне. Ввод команды данного уровня со знаком вопроса вызовет отображение справки по ее использованию. Аналогичную справку можно получить, введя определенную команду и, после перехода на уровень ее выполнения, ввести знак вопроса. При необходимости, можно выполнить нужное действие без использования интерактивного режима, указав в качестве параметров командной строки последовательный набор внутренних команд NETSH и необходимых параметров. Например:

netsh advfirewall show global последовательно выполняется команда первого уровня advfirewall , в ее контексте, команда следующего уровня show с параметром global

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

NETSH.EXE [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *] [Command | -f ScriptFile]

-a AliasFile — не завершать работу а перейти к приглашению ввода команд после выполнения AliasFile. AliasFile — имя текстового файла, в котором содержатся одна или несколько команд netsh .

-c Context — изменить контекст (уровень) команд netsh.

-r RemoteMachine — выполнять команды netsh на удаленном компьютере. В качестве RemoteMachine может использоваться имя или IP-адрес.

[-u DomainName\]UserName — имя пользователя для подключения к удаленному компьютеру. Если не задано, то используется текущее имя пользователя.

-p Password пароль для подключения к удаленному компьютеру.

Command — команда оболочки netsh , которую необходимо выполнить.

-f ScriptFile — аналогично ключу -a, но после выполнения команд файла сценария Scriptfile, работа netsh завершается.

Пример полученной справки об использовании по команде netsh ? или вводе знака вопроса на приглашение при запуске netsh без параметров в среде ОС Windows 7:

Применимы следующие команды:

Команды в этом контексте:
? — Отображение списка команд.
add — Добавление элемента конфигурации в список элементов.
advfirewall — Изменения в контексте ‘netsh advfirewall’.
branchcache — Изменения в контексте ‘netsh branchcache’.
bridge — Изменения в контексте ‘netsh bridge’.
delete — Удаление элемента конфигурации из списка элементов.
dhcpclient — Изменения в контексте ‘netsh dhcpclient’.
dnsclient — Изменения в контексте ‘netsh dnsclient’.
dump — Отображение сценария конфигурации.
exec — Запуск файла сценария.
firewall — Изменения в контексте ‘netsh firewall’.
help — Отображение списка команд.
http — Изменения в контексте ‘netsh http’.
interface — Изменения в контексте ‘netsh interface’.
ipsec — Изменения в контексте ‘netsh ipsec’.
lan — Изменения в контексте ‘netsh lan’.
mbn — Изменения в контексте ‘netsh mbn’.
namespace — Изменения в контексте ‘netsh namespace’.
nap — Изменения в контексте ‘netsh nap’.
netio — Изменения в контексте ‘netsh netio’.
p2p — Изменения в контексте ‘netsh p2p’.
ras — Изменения в контексте ‘netsh ras’.
rpc — Изменения в контексте ‘netsh rpc’.
set — Обновление параметров конфигурации.
show — Отображение информации.
trace — Изменения в контексте ‘netsh trace’.
wcn — Изменения в контексте ‘netsh wcn’.
wfp — Изменения в контексте ‘netsh wfp’.
winhttp — Изменения в контексте ‘netsh winhttp’.
winsock — Изменения в контексте ‘netsh winsock’.
wlan — Изменения в контексте ‘netsh wlan’.

Доступны следующие дочерние контексты:
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 . Последовательно выполняем команды

netsh
wlan
set file open C:\wlanhelp.txt
?
set file close

В данном примере, команда set file open C:\wlanhelp.txt устанавливает режим вывода консольных сообщений в файл с именем C:\wlanhelp.txt. После установки данного режима, все, что вводится с клавиатуры и отображается на экране, будет записано в указанный текстовый файл. Таким образом, можно создавать файлы журналов отдельных сессий использования netsh . Вместо параметра open можно использовать append и имя уже существующего файла журнала. В таком режиме данные будут записываться в конец существующего текстового файла.

Как сохранить и восстановить сетевую конфигурацию

Команда dump создает сценарий, который содержит текущую конфигурацию. Если данные сценария сохранить в текстовый файл, то при необходимости, его можно будет использовать для восстановления измененных параметров с помощью команды загрузки и выполнения скриптов exec .

Для сохранения используется команда:

dump Имя файла сценария

Для восстановления настроек из файла сценария используется команда:

exec Имя файла сценария

В некоторых версиях netsh команда dump с указанием имени файла почему-то не работает. Однако, для сохранения конфигурации можно воспользоваться способом, описанным выше — использовать запись в файл командой set file open C:\mynet.sav .

netsh
set file open C:\mynet.sav
dump
quit

Остается только слегка исправить полученный файл сценария C:\mynet.sav — удалить 1-ю строчку с командой dump и последние — с приглашением netsh и (или) командой quit

Второй способ — использовать netsh с перенаправлением вывода команды dump в файл:

netsh dump > C:\mynet.sav

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

netsh interface dump > C:\myinterf.cnf — сохранить настройки сетевых интерфейсов в виде сценария netsh в файле C:\myinterf.cnf

Для восстановления сетевой конфигурации можно воспользоваться

netsh exec C:\mynet.sav

Обычно, после восстановления сетевых настроек из файла сценария , требуется перезапуск некоторых сетевых служб, а желательнее — выполнить перезагрузку Windows

Как выполнить переключение между контекстами netsh

Иногда требуется выполнить некоторые команды на одном уровне, перейти на другой, и снова вернуться на предыдущий. Для выполнения таких переходов используются команды pushd и popd . Принцип переключения между контекстами основан на обработке очереди в соответствии с правилом «первым вошел — последним вышел» или first-in-last-out (FILO) stack. Команда pushd запоминает текущий уровень (контекст) в стеке, а команда popd извлекает его из стека. Например:

netsh> — приглашение первого уровня команды nesh
pushd — введена команда запоминания контекста в стек
netsh> — приглашении netsh не меняется, контекст прежний.
interface ipv4 — переход на уровень interface и уровень ipv4
netsh interface ipv4> — соответственно, изменилась строка приглашения, отображая текущий контекст выполнения команды netsh
set address local static 192.168.1.9 255.255.255.0 192.168.1.1 1 — команда, меняющая настройки IP протокола.
netsh interface ip> — контекст выполнения команды, отображаемый в приглашении не изменяется.
popd — команда извлечения из стека запомненного контекста.
netsh > — строка приглашения изменилась, отображая текущий контекст выполнения команды netsh .

Без использования команд pushd и popd практически невозможно полноценное использование сценариев netsh.

Как найти примеры выполнения сетевых настроек с помощью netsh

Кроме сохранения и восстановления настроек использование команды dump позволяет получить примеры в виде сценария, соответствующего текущей конфигурации. Например, дамп секции interface дает пример выполнения команд netsh в контексте настроек сетевых интерфейсов. Пример сценария :

#========================
# Конфигурация интерфейса
#========================
pushd interface
reset all
popd
# Конец конфигурации интерфейса
. . .

# ——————————————
# Настройка IP-интерфейсов
# ——————————————
pushd interface ip
# Интерфейс настройки IP для «Подключение по локальной сети»

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

Строки сценария, начинающиеся с символа # , являются комментариями. Команды pushd и popd позволяют определить контекст исполнения других команд netsh. Команды настроек конфигурации плюс справочная информация самой netsh позволяют довольно легко получить командную строку для выполнения отдельных сетевых настроек:

— Сменить IP-адрес в командной строке:

netsh interface ip set address name=»Подключение по локальной сети» source=static addr=192.168.0.58 mask=255.255.255.0

name — имя сетевого подключения
source — static — статический IP-адрес. Возможно значение DHCP, если адрес назначается автоматически сервером DHCP.
addr — значение IP-адреса
mask — значение маски сети.

Для получения сведений о дополнительных возможностях конфигурирования сетевых интерфейсов можно перейти на соответствующий контекст выполнения netsh, и выполнить интересующую команду с параметром ? . Например:

netch — старт NETSH
interface — перейти в контекст настройки сетевых интерфейсов interface
ip — перейти в контекст настройки протокола IP
set file open C:\setaddr.txt — записывать сессию в файл. Эта команда используется, если нужна справочная информация в виде текстового файла .
set address ? выдать справку по использованию set address
set file close — закрыть файл справки.
quit — завершить работу с netsh

Для Windows Vista / Windows 7 синтаксис будет немного отличаться, уровню ip будет соответствовать уровень ipv4 :

netch — старт NETSH
interface — перейти в контекст настройки сетевых интерфейсов interface
ipv4 — перейти в контекст настройки протокола IP
set file open C:\setaddr.txt — записывать сессию в файл. Эта команда используется, если нужна справочная информация в виде текстового файла .
set address ? выдать справку по использованию set address
set file close
quit — завершить работу с netsh

Цукерберг рекомендует:  С# с нуля. Вкусный рецепт по освоению

Пример синтаксиса для смены адреса 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

&nbsp &nbsp Утилита netstat.exe присутствует во всех версиях Windows, однако, существуют некоторые отличия используемых параметров командной строки и результатов ее выполнения, в зависимости от операционной системы. Используется для отображения TCP и UDP -соединений, слушаемых портов, таблицы маршрутизации, статистических данных для различных протоколов.

netstat[-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

-a — отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов).

-b — отображение всех активных соединений по протоколам TCP и UDP, а также, списка портов, которые ожидают входящие соединения (слушаемых портов) с информацией об именах исполняемых файлов. Данный параметр применим для операционных систем Widows XP и старше.

-e — отображение статистики Ethernet в виде счетчиков принятых и отправленных байт и пакетов.

-n — отображение номеров портов в виде десятичных чисел.

-o — отображение соединений, включая идентификатор процесса (PID) для каждого соединения.

-p Protocol — отображение соединений для заданного протокола. Протокол может принимать значения tcp, udp, tcpv6, udpv6 . При использовании совместно с параметром -s в качестве протокола можно задавать tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, ipv6.

-s — отображение статистических данных по протоколам TCP, UDP, ICMP, IP , TCP over IPv6, UDP over IPv6, ICMPv6, и IPv6 . Если задан параметр -p , то статистика будет отбражатися только для выбранных протоколов.

-r — отображение таблицы маршрутов. Эквивалент команды route print

Interval — интервал обновления отображаемой информации в секундах.

-v — отображать подробную информацию.

/? — отобразить справку по использованию netstat


При использовании утилиты netstat.exe удобно пользоваться командами постраничного вывода (more), перенаправления стандартного вывода в файл ( > ) и поиска текста в результатах (find).

netstat -a | more — отобразить все соединения в постраничном режиме вывода на экран.

netstat -a > C:\netstatall.txt — отобразить все соединения с записью результатов в файл C:\netstatall.txt.

netstat -a | find /I «LISTENING» — отобразить все соединения со статусом LISTENING. Ключ /I в команде find указывает, что при поиске текста не нужно учитывать регистр символов.

netstat -a | find /I «listening» > C:\listening.txt — отобразить все соединения со статусом LISTENING с записью результатов в файл C:\listening.txt.

Пример отображаемой информации:

Активные подключения
Имя &nbsp&nbsp Локальный адрес &nbsp &nbsp &nbsp Внешний адрес &nbsp &nbsp &nbsp &nbsp Состояние

TCP &nbsp &nbsp&nbsp 0.0.0.0:80 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0.0.0.0:0 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp LISTENING
[ httpd.exe]
TCP &nbsp &nbsp 0.0.0.0:445 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0.0.0.0:0 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp LISTENING
Не удается получить сведения о владельце
TCP &nbsp &nbsp 0.0.0.0:5800 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0.0.0.0:0 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp LISTENING
[WinVNC.exe]
TCP &nbsp &nbsp 127.0.0.1:50197 &nbsp&nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 127.0.0.1:50198 &nbsp ESTABLISHED
[firefox.exe]
UDP &nbsp &nbsp 192.168.0.107:1900 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *:*
SSDPSRV [svchost.exe]
. . .

Имя — название протокола.

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

Внешний адрес Внешний IP-адрес, участвующий в создании соединения.

Состояние — состояние соединения. Состояние Listening говорит о том, что строка состояния отображает информацию о сетевой службе, которая ожидает входящие соединения по соответствующему протоколу на адрес и порт, отображаемые в колонке «Локальный адрес «. Состояние ESTABLISHED указывает на активное соединение. В колонке «Состояние» для соединений по протоколу TCP может отображаться текущий этап TCP-сессии определяемый по обработке значений флагов в заголовке TCP — пакета (Syn, Ask, Fin . ). Возможные состояния:

CLOSE_WAIT — ожидание закрытия соединения.
CLOSED — соединение закрыто.
ESTABLISHED — соединение установлено.
LISTENING — ожидается соединение (слушается порт)
TIME_WAIT — превышение времени ответа.

Имя программного модуля, связанного с данным соединением отображается, если задан параметр -b в командной строке при запуске netstat.exe.

Получить список слушаемых портов и связанных с ними программ:

netstat -ab — параметры командной строки можно объединять. Параметр -ab эквивалентен -a -b

netstat -a -n -b — отобразить список всех соединений с числовыми номерами портов

netstat -anb — аналогично предыдущей команде.

netstat -anbv — при использовании параметра -v отображается последовательность компонентов, участвующих в создании соединения или слушаемого порта.

получить статистические данные:

netstat -e — получить статистические данные для Ethernet. Отображается суммарные значения принятых и полученных байт для всех сетевых адаптеров.

netstat -e -v — кроме суммарных статистических данных для Ethernet, отображается статистика для каждого сетевого интерфейса.

netstat -e -s — дополнительно к статистике Ethernet, отображается статистика для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6

netstat -s — получить статистику по протоколам IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP и UDPv6

netstat -s -p udp — получить статистику только по протоколу UDP

netstat -s -p icmp — получить статистику только по протоколу ICMP

Утилита NET.EXE

&nbsp &nbsp Утилита 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 HELP SERVICES — эта команда выводит список служб, которые можно запустить.
NET HELP SYNTAX — эта команда выводит объяснения синтаксических правил, используемых при описании команд в Справке.
NET HELP имя_команды | MORE — просмотр справки по одному экрану за раз.

При описании команды NET используются следующие синтаксические соглашения:

— Заглавными буквами набраны слова, которые должны быть введены без изменений, строчными буквами набраны имена и параметры, которые могут изменяться, например, имена файлов.

— Необязательные параметры заключены в квадратные скобки — [ ].

— Списки допустимых параметров заключены в фигурные скобки — < >. Необходимо использовать один из элементов такого списка.

— Символ | (вертикальная черта) используется в качестве разделителя элементов списка. Возможно использование только одного из элементов списка. Например, в соответствии с изложенными соглашениями, необходимо ввести NET COMMAND и один из переключателей — SWITCH1 или SWITCH2. Указанное в квадратных скобках имя [name] является необязательным параметром:
NET COMMAND [name]

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

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

— При вводе в командной строке можно использовать русские названия служб, при этом они должны быть заключены в кавычки и не допускается изменение прописных букв на строчные и наоборот. Например, команда
NET START «Обозреватель сети»
запускает службу обозревателя сети.

Справочная система NET.EXE, пожалуй, является одной из лучших в семействе операционных систем Windows. Подробную справку по использованию нужной команды, например use , можно получить несколькими способами:

net use ? — справка о синтаксисе команды
net use /help — подробная справка по использованию команды с описанием используемых ключей.
net help use — аналогично предыдущей форме вызова справки.
net help use | more — отобразить справку в постраничном режиме выдачи на экран. Удобно пользоваться в тех случаях, когда тест не помещается на экране. Нажатие Enter перемещает текст на одну строку, нажатие пробела — на один экран.
net help use > C:\helpuse.txt — создать текстовый файл справки C:\helpuse.txt

Работа с системными службами

&nbsp &nbsp Данный режим использования NET.EXE , в некоторой степени, является не характерным для основного предназначения утилиты, и начиная с Windows XP, для управления системными службами используется специальная утилита командной строки SC.EXE . Тем не менее, NET.EXE в среде любой версии операционных систем Windows может быть использована для запуска и остановки системных служб (сервисов). Согласно справочной информации, список служб, которыми можно управлять с помощью net.exe можно получить используя следующую команду:

net help services

Но это не совсем верно, и на самом деле, с помощью net.exe можно запустить или остановить практически любую системную службу, и в том числе, не представленную в списке , отображаемом при выполнении данной команды . Для остановки используется параметр stop , а для запуска — параметр start :

net stop dnscache — остановить службу dnscache
net start dnscache — запустить службу dnscache

Возможно использование как короткого, так и полного имени («Dnscache» — короткое, «DNS-клиент» — полное имя службы). Имя службы, содержащее символы русского алфавита и пробелы заключается в двойные кавычки.

net stop «DNS-клиент» — остановить службу DNS-клиент .

Полное имя службы можно скопировать из «Панель управления» — «Администрирование» — «Службы» — Имя службы — «Свойства» — «Выводимое имя».

Для приостановки некоторых системных служб или продолжения работы ранее приостановленной службы используются команды NET PAUSE и NET CONTINUE :

net pause «Планировщик заданий» — приостановить службу «Планировщик заданий»
net continue schedule — продолжить работу службы «Планировщик заданий» . Имя службы задано в коротком формате.

Работа с сетевыми дисками

net use — отобразить список сетевых дисков, подключенных на данном компьютере.

Состояние &nbsp &nbsp Локальный &nbsp &nbsp Удаленный &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Сеть
——————————————————————————-
Отсоединен &nbsp X: &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp \\SERVER\movies &nbsp &nbsp &nbsp &nbsp Microsoft Windows Network
OK &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Y: &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp \\SERVER\shares &nbsp &nbsp &nbsp &nbsp &nbsp Microsoft Windows Network

В колонке «Локальный» отображается буква сетевого диска, а в колонке «Удаленный» — имя удаленного сетевого ресурса в формате UNC
UNC — это Общее соглашение об именах (Uniform Naming Convention) или универсальное соглашение об именовании (universal naming convention), соглашение об именовании файлов и других ресурсов, дающее определение местоположения ресурса .
Имя, соответствующее UNC — полное имя ресурса в сети, включающее имя сервера и имя совместно используемого (разделяемого, сетевого ) ресурса (принтера, каталога или файла). Синтаксис UNC-пути к каталогу или файлу следующий:
\\Сервер\СетевойКаталог[\ОтносительныйПуть]
Сервер — сетевое имя компьютера, СетевойКаталог — это сетевое имя общего каталога на этом компьютере, а необязательный ОтносительныйПуть — путь к каталогу или файлу из общего каталога.
СетевойКаталог не обязательно называется так же, как ассоциированный с ним каталог на сервере, имя даётся в ходе открытия общего доступа к каталогу в файловой системе компьютера

В операционных системах семейства Windows, если в конце имени разделяемого ресурса используется знак $ то такой ресурс является скрытым и не отображается в проводнике при просмотре сетевого окружения. Это правило относится не только к автоматически создаваемым ресурсам для системного администрирования ( C$ , D$ , ADMIN$ и т.п. ), но и для любого пользовательского разделяемого ресурса. Если, например, для сетевого доступа выделена папка под именем «movies», то она будет видна в сетевом окружении, а если — под именем «movies$» — то нет.
Для того, чтобы скрыть в сетевом окружении отдельный компьютер используется команда:
NET config server /hidden:yes
Чтобы вернуть отображение компьютера в сетевом окружении
NET config server /hidden:no

UNC-пути можно использовать и для локальной машины, только в этом случае вместо имени «Сервер» нужно подставлять знак «?» или «.», а путь к файлу указывать вместе с буквой диска. Например так: «\\?\C:\Windows\System32\file.exe» .

Для отключения сетевого диска или устройства используется команда net use с ключом /DELETE

net use X: /delete — отключить сетевой диск X:

Регистр букв в данном ключе не имеет значения и можно использовать сокращения:

Примеры выполнения команды NET USE для подключения сетевых дисков:

net use X: \\server\shares — подключить сетевой диск X: которому соответствует разделяемый сетевой каталог с именем shares на компьютере с именем server

net use Y:\C$ /USER:Администратор admpass — подключить сетевой диск Y: которому соответствует скрытый ресурс C$ (корневой каталог диска C:) . При подключении к удаленному компьютеру используется имя пользователя Администратор и пароль admpass

То же самое, но с использованием учетной записи в домене mydomain net use Y:\C$ /USER:mydomain\Администратор admpass

net use Y:\C$ /USER:Администратор@mydomain admpass

Если в командной строке пароль не задан, то он будет запрошен при подключении к сетевому ресурсу. Если ключ /USER не задан, то для авторизации на удаленном компьютере используется текущая учетная запись.

net use Y:\C$ /SAVECRED — выполнить подключение с запоминанием полномочий (credentials) пользователя. При первом подключении, будет выдан запрос на ввод имени пользователя и пароля , которые будут запомнены и не будут запрашиваться при последующих подключениях. Параметр /savecred не работает в версиях Домашняя и Начальная Windows 7 / Windpws XP

Для изменения режима запоминания подключенных сетевых дисков используется ключ /PERSISTENT

net use /PERSISTENT:NO — не запоминать сетевые подключения.
net use /PERSISTENT:YES — запоминать сетевые подключения.

Необходимо учитывать, что режим, определяемый значением ключа /PERSISTENT, относится к вновь создаваемым подключениям. Если, например, сетевой диск X: был создан при установленном режиме запоминания (PERSISTENT:YES), а затем вы выполнили смену режима командой net use /PERSISTENT:NO и подключили сетевой диск Y: , то после перезагрузки системы, не будет восстановлено подключение диска Y: , но будет восстановлено подключение диска X:

Работа с файлами и каталогами

NET SHARE — эта команда позволяет выделить ресурсы системы для сетевого доступа . При запуске без других параметров, выводит информацию обо всех ресурсах данного компьютера, которые могут быть совместно использованы . Для каждого ресурса выводится имя устройства или путь и соответствующий комментарий.

net share — получить список разделяемых в локальной сети ресурсов данного компьютера. Пример списка:

Общее имя &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Ресурс &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Заметки

——————————————————————————
G$ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp G:\ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Стандартный общий ресурс
E$ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp E:\ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Стандартный общий ресурс
IPC$ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Удаленный IPC
ADMIN$ &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp C:\WINDOWS &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Удаленный Admin
INSTALL &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp C:\INSTALL &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Дистрибутивы и обновления

net share INSTALL — получить информацию о разделяемом ресурсе с именем INSTALL .

Имя общего ресурса &nbsp &nbsp INSTALL
Путь &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp C:\INSTALL
Заметки &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Дистрибутивы и обновления
Макс. число пользователей &nbsp &nbsp Не ограничен
Пользователи &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Administrator
Кэширование &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Вручную

Для добавления нового разделяемого по сети ресурса используется параметр /ADD

net share TEMP=»C:\Documents And Settings\LocalSettings\games» — добавить новый разделяемый каталог под именем TEMP

net share TEMP=»C:\Documents And Settings\LocalSettings\games» /users:5 — добавить новый разделяемый каталог под именем TEMP с максимальным числом обновременоо подключающихся пользователей равным 5 .

Кроме этого, при создании разделяемого ресурса можно указать краткое его описание (заметку) с помощью параметра /REMARK и режим кэширования файлов с помощью параметра /CACHE .

NET SHARE имя_ресурса=диск:путь [/USERS:чиcло | /UNLIMITED] [/REMARK:»текст»] [/CACHE:Manual | Automatic | No ] [/CACHE:Manual | Documents| Programs | None ]

Для удаления существующего разделяемого ресурса используется параметр /DELETE:

net share TEMP /DELETE — удалить разделяемый ресурс под именем TEMP

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

Для работы с файлами, открытыми по сети на данном компьютере, используется команда NET FILE . По каждому открытому ресурсу выводится идентификационный номер, путь файла, имя пользователя, которым используется файл, и количество блокировок при совместном использовании. Кроме того, команда NET FILE позволяет закрыть совместно используемый файл и снять блокировки .


net file — получить список открытых по сети файлов .

net file 4050 /close — принудительно закрыть файл, идентификатор которого равен 4050

Для получения списка компьютеров рабочей группы или домена с разделяемыми ресурсами используется команда

net view — отобразить список компьютеров в сетевом окружении.

net view | more — отобразить список компьютеров в постраничном режиме вывода на экран.

net view > C:\computers.txt — отобразить список компьютеров c записью результатов в текстовый файл.

Синтаксис данной команды:

NET VIEW [\\имя_компьютера [/CACHE] | /DOMAIN[:имя_домена]]
NET VIEW /NETWORK:NW [\\имя_компьютера]

net view \\server — отобразить список сетевых ресурсов компьютера server

net view /DOMAIN:mydomain — отобразить список компьютеров с разделяемыми ресурсами в домене mydomain Если имя домена не указано, то выводится список всех доступных компьютеров локальной сети.

net view /NETWORK:NW — отобразить список серверов Novell Netware, доступных в данной локальной сети.

net view /NETWORK:NW \\NWServer — отобразить списков сетевых ресурсов сервера Netware с именем NWServer .

Работа с пользователями и компьютерами .

&nbsp &nbsp Утилита NET.EXE позволяет отобразить данные об учетных записях пользователей и групп, добавлять новые записи, удалять существующие, отображать параметры безопасности, связанные с авторизацией пользователей и некоторые другие операции по администрированию на локальном компьютере или контроллере домена.

NET ACCOUNTS — эта команда используется для обновления базы данных регистрационных записей и изменения параметров входа в сеть (LOGON) . При использовании этой команды без указания параметров, выводятся текущие значения параметров, определяющих требования к паролям и входу в сеть, — время принудительного завершения сессии, минимальную длину пароля, максимальное и минимальное время действия пароля и его уникальность.

Синтаксис данной команды:

NET ACCOUNTS [/FORCELOGOFF:<минуты | NO>] [/MINPWLEN:длина] [/MAXPWAGE:<дни | UNLIMITED>] [/MINPWAGE:дни] [/UNIQUEPW:число] [/DOMAIN]

Пример отображаемой информации по команде NET ACCOUNTS :

Принудительный выход по истечении времени через: Никогда
Минимальный срок действия пароля (дней): &nbsp &nbsp &nbsp &nbsp 0
Максимальный срок действия пароля (дней): &nbsp &nbsp &nbsp &nbsp 42
Минимальная длина пароля: &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0
Хранение неповторяющихся паролей: &nbsp &nbsp &nbsp &nbsp Нет
Блокировка после ошибок ввода пароля: &nbsp &nbsp &nbsp Никогда
Длительность блокировки (минут): &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 30
Сброс счетчика блокировок через (минут): &nbsp &nbsp &nbsp &nbsp 30
Роль компьютера: &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp РАБОЧАЯ СТАНЦИЯ

&nbsp &nbsp При использовании в локальной сети, каждый компьютер может выполнять как роль сервера (server), предоставляющего свои ресурсы для совместного использования, так и рабочей станции (workstation), использующей разделяемые сетевые ресурсы. Основные настройки сетевых служб сервера и рабочих станций можно отобразить с помощью команд:

net config server — настройки сетевых служб для роли сервера.
net config workstation — настройки сетевых служб для роли рабочей станции.

Настройки служб сервера можно изменить с использованием параметров:

/AUTODISCONNECT:минуты — максимальное время, в течение которого сеанс пользователя может быть не активен, прежде чем соединение будет отключено. Можно использовать значение -1, которое означает, что отключение вообще не производится. Допустимый диапазон значений: от -1 до 65535; по умолчанию используется 15.
/SRVCOMMENT:»текст»
Добавляет текст комментария для сервера, который отображается на экране Windows и при выполнении команды NET VIEW. Максимальная длина этого текста составляет 48 знаков. Текст должен быть заключен в кавычки.
/HIDDEN: Указывает, должно ли выводиться имя данного сервера в списке серверов. Учтите, что «скрытие» сервера не изменяет параметров доступа к этому серверу. По умолчанию используется значение NO.
net config server /SRVCOMMENT:»Игровой сервер» /AUTODISCONNECT:5 — автоотключение при неактивности пользователя — 5 минут..
net config server /HIDDEN:YES>/AUTODISCONNECT:-1 — автоотключение при неактивности пользователя не выполняется, сервер не отображается в сетевом окружении.

При выполнении на контроллере домена, утилита net.exe позволяет добавлять новые компьютеры в базу данных Active Directory (AD) или удалять существующие компьютеры из нее.

net computer \\notebook /add — добавить в домен компьютер notebook .
net computer \\notebook /del — удалить из домена компьютер notebook .

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

net group — отобразить список групп пользователей в текущем домене.

net localgroup — отобразить список групп пользователей данного компьютера.
Синтаксис и назначение параметров этих команд практически не отличаются.

NET LOCALGROUP [имя_группы [/COMMENT:»текст»]] [/DOMAIN] имя_группы [/DOMAIN] имя_группы имя [. ] [/DOMAIN]

имя_группы — имя локальной группы, которую необходимо добавить, изменить или удалить. Если указать только имя группы, то будет выведен список пользователей или глобальных групп, являющихся членами этой локальной группы.
/COMMENT:»текст» — комментарий для новой или существующей группы. Текст должен быть заключен в кавычки.
/DOMAIN — Команда выполняется на основном контроллере домена в текущем домене. В противном случае операция выполняется на локальном компьютере.
имя [ . ] — Список из одного или нескольких имен пользователей, которые необходимо добавить или удалить из локальной группы. Имена разделяются пробелом. Эти имена могут быть именами пользователей или глобальных групп, но не именами других локальных групп. Если пользователь зарегистрирован в другом домене, его имени должно предшествовать имя домена (например, SALES\RALPHR).
/ADD — Добавляет имя группы или имя пользователя в локальную группу. Регистрационная запись для добавляемых пользователей или глобальных групп должна быть создана заранее.
/DELETE — Удаляет имя группы или пользователя из локальной группы.

net localgroup Администраторы — отобразить список пользователей локальной группы Администраторы данного компьютера.
net localgroup Администраторы testuser /add — добавление в группу Администраторы нового пользователя с именем testuser
net localgroup Администраторы testuser /delete — удалить пользователя testuser из группы Администраторы .

Для работы с учетными записями пользователей используется команда net user

NET USER [имя_пользователя [пароль | *] [параметры]] [/DOMAIN] имя_пользователя <пароль | *>/ADD [параметры] [/DOMAIN] имя_пользователя [/DELETE] [/DOMAIN]

имя_пользователя — имя пользователя, которое необходимо добавить, удалить, изменить или вывести на экран. Длина имени пользователя не должна превосходить 20 знаков.
пароль — пароль для учетной записи пользователя. Пароль должен отвечать установленным требованиям на длину — быть не короче, чем значение, установленное параметром /MINPWLEN в команде NET ACCOUNTS, и в то же время не длиннее 14 знаков.
* — Вызывает открытие специальной строки ввода пароля. Пароль не выводится на экран во время его ввода в этой строке.
/DOMAIN команда будет выполняться на контроллере домена в текущем домене.
/ADD — добавление нового пользователя.
/DELETE — удаление пользователя.
Параметры — Допустимые параметры :
/ACTIVE: — Активизирует учетную запись или делает ее не активной. Если учетная запись не активна, пользователь не может получить доступ к серверу. По умолчанию используется значение YES (т.е. учетная запись активна).
/COMMENT:»текст» — Добавляет описательный комментарий об учетной записи (длиной не более 48 знаков). Текст должен быть заключен в кавычки.
/COUNTRYCODE:nnn — Использует кодовую страницу нужного языка для вывода справки и сообщений об ошибках. Значение 0 означает выбор кодовой страницы по умолчанию.
/EXPIRES: <дата | NEVER>— Устанавливает дату истечения срока действия ученой записи. Если используется значение NEVER, то время действия учетной записи не ограничено. Дата истечения срока действия задается в формате дд/мм/гг или мм/дд/гг, в зависимости от того, какая кодовая страница используется. Месяц может быть указан цифрами, названием месяца или трехбуквенным его сокращением. В качестве разделителя полей должен использоваться знак косой черты (/).
/FULLNAME:»имя» — Указывает настоящее имя пользователя (а не кодовое имя, заданное параметром имя_пользователя). Настоящее имя следует заключить в кавычки.
/HOMEDIR:путь Указывает путь к домашнему каталогу пользователя. Этот каталог должен существовать.
/PASSWORDCHG: Определяет, может ли пользователь изменять свой пароль. По умолчанию используется значение YES (т.е. изменение пароля разрешено).
/PASSWORDREQ: Определяет, является ли указание пароля обязательным. По умолчанию используется значение YES (т.е. пароль обязателен).
/PROFILEPATH[:путь] Устанавливает путь к профилю пользователя.
/SCRIPTPATH:путь Устанавливает расположение пользовательского сценария для входа в систему.
/TIMES: <промежуток | ALL>— Устанавливает промежуток времени, во время которого пользователю разрешен вход в систему. Этот параметр задается в следующем формате:
день[-день][,день[-день]],время[-время][,время[-время]]
Время указывается с точностью до одного часа. Дни являются днями недели и могут указываться как в полном, так и в сокращенном виде. Время можно указывать в 12- и 24-часовом формате. Если используется 12-часовой формат, то можно использовать am, pm, a.m. или p.m. Значение ALL указывает, что пользователь может войти в систему в любое время, а пустое значение указывает, что пользователь не может войти в систему никогда. Разделителем полей указания дней недели и времени является запятая, разделителем при использовании нескольких частей является точка с запятой.
/USERCOMMENT:»текст» — Позволяет администратору добавлять или изменять текст комментария к учетной записи. /WORKSTATIONS: <имя_компьютера[. ] | *>— Перечисляет до восьми различных компьютеров, с которых пользователь может войти в сеть. Если данный параметр имеет пустой список или указано значение *, пользователь может войти в сеть с любого компьютера.

net user — отобразить список пользователей
net user /DOMAIN — отобразить список пользователей текущего домена
net user VASYA /USERCOMMENT:»Тестовый пользователь » /add — добавить пользователя с именем VASYA
net user VASYA /delete — удалить созданного пользователя.
net user VASYA password /USERCOMMENT:»Тестовый пользователь » /add — создать учетную запись нового пользователя VASYA с паролем password .
net user VASYA * /USERCOMMENT:»Тестовый пользователь » /add — то же, что и в предыдущей команде, но пароь будет запрошен при создании новой учетной записи.
net user VASYA * — изменить пароль существующего пользователя VASYA. Новый пароль будет запрошен при выполнении команды.
net user VASYA Boss — изменить пароль пользователя VASYA на новое значение Boss

Пример последовательности команд для создания нового пользователя с правами локального администратора:BR>
net user VASYA Boss /ADD
— создание учетной записи.
net localgroup Администраторы VASYA /ADD — добавление пользователя в группу «Администраторы»

Отправка сообщений по локальной сети

&nbsp &nbsp Для отправки сообщений в Windows XP используется команда NET SEND

NET SEND <имя | * | /DOMAIN[:имя] | /USERS>сообщение имя — имя пользователя, компьютера или имя для получения сообщений, на которое отправляется данное сообщение. Если это имя содержит пробелы, то оно должно быть заключено в кавычки (» «).
* — отправка сообщения по всем именам, которые доступны в данный момент.
/DOMAIN[:имя домена] — сообщение будет отправлено по всем именам домена данной рабочей станции. Если указано имя домена, то сообщение отправляется по всем именам указанного домена или рабочей группы.
/USERS — сообщение будет отправлено всем пользователям, подключенным в настоящий момент к серверу.
сообщение — текст отправляемого сообщения.

Для того, чтобы получить сообщение, должна быть запущена «Служба сообщений» (MESSENGER). Имена пользователей, компьютеров и текст сообщений на русском языке должны быть в DOS-кодировке.
Перечень доступных активных имен на данном компьютере и состояние службы сообщений можно получить с использованием команды net name без параметров. По всему списку имен, отображаемому в результате выполнения данной команды возможна отправка сообщений. Примеры использования:

net send VASYA привет! — отправка сообщения на имя VASYA .
net send * привет! — отправка сообщения всем пользователям локальной сети, имена которых можно определить.
net send /DOMAIN:mydomain Привет — отправка сообщения всем пользователям в домене mydomain
net send /USERS Привет! — отправка сообщений всем пользователям, зарегистрированным службой сервера данного компьютера.

В операционных системах Windows 7/Windows 8 команда net send не реализована и для обмена сообщениями в локальной сети используется команда msg . Такая же команда существует и в операционных системах WindowsXP/Server 2003, но используется в них только для обмена сообщениями с пользователями терминальных сессий. Тем не менее, при определенных настройках службы сервера Terminal Server команда msg может использоваться для обмена сообщениями между пользователями Windows XP и более поздних версий Windows. Для этого необходимо на каждом компьютере, которому будут отправляться сообщения, разрешить удаленный вызов процедур для службы сервера терминалов, добавив в раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server параметр AllowRemoteRPC типа REG_DWORD и равный 1 . Для вступления данного значения в силу, требуется перезагрузка. После чего команду msg можно будет использовать как альтернативу net send на компьютерах с любой версией Windows. Необходимо также учитывать тот факт, что потребуются настройки брандмауэров, поскольку по умолчанию, передача и прием сообщений по сети, как правило, блокируются.

Справку по работе с командой msg . можно получить введя /? в качестве параметра:

msg * /server:TSServer «Тестовое сообщение » — отправить тестовое сообщение всем пользователям компьютера TSServet

msg RDP-Tcp#0 /server:TSServer «Тестовое сообщение» — отправить тестовое сообщение пользователю терминальной сессии с именем RDP-Tcp#0 на компьютере TSServer

msg console /server:Windows7 «Тестовое сообщение» — отправить тестовое сообщение текущему локальному пользователю компьютера Windows7

msg console «Тестовое сообщение» — отправка тестового сообщения от пользователя сеанса RDP локальному пользователю

Статистика и синхронизация часов .

Утилита NET.EXE позволяет получить статистические данные по использованию служб сервера и рабочей станции. Статистика содержит информацию о сеансах, доступе к сетевым устройствам, объемах принятых и переданных данных, отказах в доступе и ошибках, обнаруженных в процессе сетевого обмена.

net statistics server — отобразить статистические данные для службы сервера

net statistics workstation — отобразить статистические данные для службы рабочей станции

Для изменения системного времени компьютера используется команда NET TIME :

NET TIME [\\компьютер | /DOMAIN[:домен]| /RTSDOMAIN[:домен]] [/SET] [\\компьютер] /QUERYSNTP [\\компьютер] /SETSNTP[:список серверов NTP]

NET TIME синхронизирует показания часов компьютера с другим компьютером или доменом. Если используется без параметров в домене Windows Server, выводит текущую дату и время дня, установленные на компьютере, который назначен сервером времени для данного домена. Эта команда позволяет задать сервер времени NTP для компьютера. \\компьютер — имя компьютера, который нужно проверить или с которым нужно синхронизировать показания часов.
/DOMAIN[:домен] Задает домен, с которым нужно синхронизировать показания часов.
/RTSDOMAIN[:домен] — выполняет синхронизацию времени с сервером времени (Reliable Time Server) из указанного домена.
/SET — Синхронизирует показания часов компьютера со временем указанного компьютера или домена.
/QUERYSNTP — Отображает назначенный этому компьютеру сервер NTP (только Windows XP)
/SETSNTP[:ntp server list] — задать список серверов времени NTP для этого компьютера ( только Windows XP).
Это может быть список IP-адресов или DNS-имен, разделенных пробелами. Если задано несколько серверов, список должен быть заключен в кавычки.

Параметры /QUERYSNTP и /SETSNTP не поддерживаются в операционных системах Windows 7 и более поздних. Для настройки службы времени в этих ОС используется утилита w32tm.exe

net time \\COMPUTER — отобразить время на компьютере COMPUTER. Вместо имени компьютера можно использовать его IP-адрес.
net time \\COMPUTER /SET — установить часы текущего компьютера по значению часов компьютера COMPUTER

net time \\COMPUTER /SET /YES — установить часы текущего компьютера по значению часов компьютера COMPUTER без запроса подтверждения. Обычно ключ /YES используется в командных файлах, выполняющихся без участия пользователя.

net time /QUERYSNTP — отобразить сервер времени, определенный для данного компьютера.
net time \\COMPUTER /QUERYSNTP — отобразить сервер времени, определенный для указанного компьютера.
net time /SETSNTP:»1.ru.pool.ntp.org time.windows.com» — задать в качестве NTP-серверов узлы 1.ru.pool.ntp.org и time.windows.com

Утилита NSLOOKUP.EXE

&nbsp &nbsp Утилита NSLOOKUP присутствует во всех версиях операционных систем Windows и является классическим средством диагностики сетевых проблем, связанных с разрешением доменных имен в IP-адреса. NSLOOKUP предоставляет пользователю возможность просмотра базы данных DNS-сервера и построения определенные запросов, для поиска нужных ресурсов DNS. Практически, утилита выполняет функции службы DNS-клиент в командной строке Windows.

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

nslookup — запуск утилиты
yandex.ru. — отобразить IP-адрес (а) узла с именем yandex.ru . Точка в конце имени желательна для минимизации числа запросов на разрешение имени к серверу DNS. Если завершающей точки нет, то NSLOOKUP сначала попытается разрешить указанное имя как часть доменного имени компьютера, на котором она запущена.
server 8.8.4.4 — установить в качестве сервера имен DNS-сервер Google с IP-адресом 8.8.4.4
yandex.ru. — повторить запрос с использованием разрешения имени DNS-сервером Google.
set type=MX — установить тип записи MX
yandex.ru. — отобразить MX-запись для домена yandex.ru — В примере узел обмена почтой для домена — mx.yandex.ru
mx.yandex.ru. — отобразить информацию по mx.yandex.ru
set type=A — установить тип записи в A
mx.yandex.ru — получить IP-адреса для mx.yandex.ru .
exit — завершить работу с nslookup

Возможно использование утилиты NSLOOKUP не в интерактивном режиме:

nslookup odnoklassniki.ru — определить IP-адрес узла odnokassniki.ru с использованием сервера DNS, заданного настройками сетевого подключения.
nslookup odnoklassniki.ru 8.8.8.8 — определить IP-адрес узла odnokassniki.ru с использованием DNS-сервера 8.8.8.8 (публичный DNS-сервер Google)
nslookup 8.8.8.8 — определить имя узла, IP-адрес которого равен 8.8.8.8 с использованием DNS-сервера, заданного настройками сетевого подключения.

Команда nslookup — отдельная статья с описанием команды NSLOOKUP.

Утилита PATHPING.EXE

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

При запуске PATHPING без параметров, отображается краткая справка:

pathping [-g Список] [-h Число_прыжков] [-i Адрес] [-n] [-p Пауза] [-q Число_запросов] [-w Таймаут] [-P] [-R] [-T] [-4] [-6] узел

Параметры:
-g Список При прохождении по элементам списка узлов игнорировать предыдущий маршрут. Максимальное число адресов в списке равно 9 . Элементы списка помещаются в специальное поле заголовка отправляемых ICMP-пакетов.
-h Число_прыжков — Максимальное число прыжков при поиске узла. Значение по умолчанию — 30
-i Адрес — Использовать указанный адрес источника в отправляемых ICMP-пакетах.
-n — Не разрешать адреса в имена узлов.
-p Пауза — Пауза между отправками (мсек) пакетов. Значение по умолчанию — 250.
-q Число_запросов Число запросов для каждого узла. По умолчанию — 100
-w Таймаут — Время ожидания каждого ответа (мсек). Значение по умолчанию — 3000
-R — Тестировать возможность использования RSVP ( Reservation Protocol, протокола настройки резервирования ресурсов), который позволяет динамически выделять ресурсы для различных видов трафика.
-T — Тестировать на возможность использования QoS (Quality of Service — качество обслуживания) — системы обслуживания пакетов разного содержания с учетом их приоритетов доставки получателю.
-4 — Принудительно использовать IPv4.
-6 — Принудительно использовать IPv6.

Практически, PATHPING , запущенная на выполнение с параметрами по умолчанию, выполняет те же действия, что и команда TRACERT плюс команды PING для каждого промежуточного узла с указанием числа эхо-запросов, равным 100 (ping -n 100 . . . )

Пример результатов выполнения команды 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]

Подсчет статистики за: 200 сек. . . .
&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Исходный узел &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp&nbsp Маршрутный узел
Прыжок &nbsp &nbsp &nbsp RTT &nbsp &nbsp &nbsp&nbsp &nbsp Утер./Отпр. % &nbsp &nbsp &nbsp&nbsp &nbsp Утер./Отпр. % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp Адрес

1 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 1мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp 192.168.1.1
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
2 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 5мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp 180.84.250.11
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
3 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 11мс &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 3/ 100 = 3% &nbsp &nbsp &nbsp&nbsp &nbsp 180.84.250.53
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 8/ 100 = 8% &nbsp &nbsp &nbsp &nbsp &nbsp |
4 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 4мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp 80.184.112.25
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
5 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 8мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp msk-ix-m9.yandex.net [193.232.244.93]
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
6 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 12мс &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp l3-s900-dante.yandex.net [213.180.213.70]
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
7 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 5мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp s600-s900.yandex.net [213.180.213.54]
&nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp &nbsp &nbsp |
8 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 2мс &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp &nbsp 0/ 100 = 0% &nbsp &nbsp &nbsp&nbsp &nbsp yandex.ru [77.88.21.11]

В приведенном примере красным цветом выделен проблемный участок маршрута к конечному узлу с потерей 8% пакетов.
При интерпретации результатов выполнения pathping нужно учитывать тот факт, что некоторые маршрутизаторы могут быть настроены на блокировку icmp-трафика, что не позволяет правильно отработать трассировку, и получить по ним статистические данные.

Утилита PING.EXE

&nbsp &nbsp PING.EXE — это, наверно, наиболее часто используемая сетевая утилита командной строки. Существует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.

Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.

Цукерберг рекомендует:  Gamedesign - Оптимизация рендеринга в Unity

Формат командной строки:

ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя

-t — Непрерывная отправка пакетов. Для завершения и вывода статистики используются комбинации клавиш Ctrl + Break (вывод статистики), и Ctrl + C (вывод статистики и завершение).
-a — Определение адресов по именам узлов. -n число — Число отправляемых эхо-запросов.
-l размер — Размер поля данных в байтах отправляемого запроса.
-f — Установка флага, запрещающего фрагментацию пакета.
-i TTL — Задание срока жизни пакета (поле «Time To Live»).
-v TOS — Задание типа службы (поле «Type Of Service»).
-r число — Запись маршрута для указанного числа переходов.
-s число — Штамп времени для указанного числа переходов.
-j списокУзлов — Свободный выбор маршрута по списку узлов.
-k списокУзлов — Жесткий выбор маршрута по списку узлов.
-w таймаут — Максимальное время ожидания каждого ответа в миллисекундах.

ping 8.8.8.8 — выполнить опрос узла с IP-адресом 8.8.8.8 с параметрами по умолчанию.
ping -t yandex.ru — выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break — выдается статистика и опрос узла продолжается
ping -n 1000 -l 500 192.168.1.1 — выполнить ping 1000 раз с использованием сообщений, длиной 500 байт.
ping -a -n 1 -r 9 -w 1000 yandex.ru — выполнить ping 1 раз (ключ -n 1), определять адрес по имени (ключ -a), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)

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

Более подробное описание утилиты PING и примеры ее использования приведены в отдельной статье

Утилита ROUTE.EXE

&nbsp &nbsp Утилита ROUTE.EXE используется для просмотра и модификации таблицы маршрутов на локальном компьютере. При запуске без параметров, на экран выводится подсказка по использованию route :

route [-f] [-p] [команда [конечная_точка] [mask маска_сети] [шлюз] [metric метрика]] [if интерфейс]]

-f — используется для сброса таблицы маршрутизации. При выполнении команды route -f из таблицы удаляются все маршруты, которые не относятся к петлевому интерфейсу (IP 127.0.0.1 маска -255.0.0.0), не являются маршрутами для многоадресной (multicast) рассылки (IP 224.0.0.1 маска 255.0.0.0) и не являются узловыми маршрутами (маска равна 255.255.255.255) .

-p — используется для добавления в таблицу постоянного маршрута. Если маршрут добавлен без использования параметра -p то он сохраняется только до перезагрузки системы (до перезапуска сетевого системного программного обеспечения). Если же, при добавлении маршрута искользовался данный параметр, то информация о маршруте записывается в реестр Windows (раздел HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes ) и будет использоваться постоянно при активации сетевых интерфейсов.


команда — козможно использование команд add — добавление маршрута, change — изменение существующего маршрута, delete — удаление маршрута или маршрутов, print — отображение текущей таблицы маршрутов

конечная_точка — IP-адрес, адрес сети или адрес 0.0.0.0 для шлюза по умолчанию.

mask маска_сети — маска сети.

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

metric число — значение метрики (1-9999). Метрика представляет собой числовое значение, позволяющее оптимизировать доставку пакета получателю, если конечная точка маршрута может быть достижима по нескольким разным маршрутам. Чем меньше значение метрики, тем выше приоритет маршрута.

if интерфейс — идентификатор сетевого интерфейса. Может задаваться в виде десятичного или шестнадцатеричного числа. Посмотреть идентификаторы можно с помщью команды route print

route print — отобразить текущую таблицу маршрутов

route print 192.* — отобразить таблицу маршрутов только для адресов, начинающихся с 192.

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 — установить в качестве шлюза по умолчанию (основного шлюза) адрес 192.168.1.1

route -p add 10.0.0.0 mask 255.0.0.0 10.0.0.1 — добавить маршрут для подсети 10.0.0.0/255.0.0.0 и запомнить его в реестре . Постоянный статический маршрут.

route delete 10.0.0.0 mask 255.0.0.0 — удалить маршрут для подсети 10.0.0.0/255.0.0.0 .

route add 10.10.10.10 192.168.1.158 — добавить маршрут для узла с IP-адресом 10.10.10.10 . Если маска в команде не задана, то подразумевается ее значение равное 255.255.255.255 , т.е конечная точка назначения является одиночным IP-адресом узла.

route delete 10.10.10.10 — удалить маршрут созданный предыдущей командой

route change 10.0.0.0 mask 255.0.0.0 10.10.10.1 — изменить адрес перехода для существующего маршрута к сети 10.0.0.0/255.0.0.0 на значение 10.10.10.1

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

Утилита TELNET.EXE

&nbsp &nbsp На заре развития сети Интернет, сервис TELNET был основным средством удаленной работы пользователей, реализующим взаимодействие терминала с процессом на удаленном компьютере. На сегодняшний день, TELNET, в основном, используется как средство удаленного администрирования специализированных сетевых устройств. Сервис TELNET входит в состав практически всех сетевых операционных систем и реализован в виде программного обеспечения сервера Telnet и клиентской оболочки с текстовым или графическим интерфейсом. Подключившись к серверу, удаленный пользователь получает доступ к командной строке, поддерживаемой сервером, таким же образом, как если-бы он работал с локальным терминалом. Утилита TELNET работает поверх протокола TCP и позволяет пользователю подключиться к удаленному узлу не только на стандартный порт 23, но и на любой другой TCP-порт, тем самым, позволяя взаимодействовать с любым приложением, управляемым командной строкой. Так, например, с использованием утилиты telnet можно подключиться к серверам, поддерживающим текстовый (telnet-like) ввод команд и данных — SMTP, POP3, IMAP и т.п. Кроме этого, утилиту можно использовать в качестве средства грубой проверки возможности подключения на любой TCP-порт (проверки слушается ли определенный порт TCP).

При запуске TELNET.EXE без параметров, программа переходит в интерактивный режим, ожидая ввода команд пользователем. Для получения списка доступных команд используется ввод знака вопроса или /h . Набор доступных команд может отличаться для разных версий telnet , но всегда будут присутствовать команды подключения к удаленному узлу ( open ), закрытия существующего подключения ( close ), установки ( set ) и сброса ( unset параметров.

set ? — отобразить текущие параметры сессии. Отображаются параметры, связанные с эмуляцией терминала, режима отображения вводимых символов (локального эха), интерпретацией управляющих последовательностей символов, способа аутентификации.

open 192.168.1.1 — подключиться к серверу TELNET узла 192.168.1.1

open 192.168.1.1 25 — подключиться к серверу, слушающему порт 25/TCP узла 192.168.1.1

После подключения к удаленному серверу, вводимые с клавиатуры символы будут передаваться на обработку удаленной системе и, для возврата в командную строку telnet , требуется ввод специальной комбинации клавиш переключения режима (Escape character) — по умолчанию это CTRL-] . Для выхода из telnet используется команда quit .

На практике, как правило, используется запуск telnet с параметрами по умолчанию и с указанием имени или IP-адреса и номера порта TCP удаленной системы.

telnet 192.168.1.1 — подключиться к серверу telnet узла 192.168.1.1

telnet yandex.ru 80 — подключиться к серверу HTTP (TCP порт 80) узла yandex.ru

Если подключение невозможно, то утилита telnet завершится сообщением:

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

Если имя или IP-адрес в командной строке достижимы, то такое сообщение говорит о том, что заданный порт не слушается удаленной системой ( или закрыт брандмауэром) . Если же удаленная система не поддерживает текстовое (telnet-like) управление, то, как правило, соединение устанавливается, экран терминала остается пустым, и после нажатия любой клавиши, сессия может завершиться, но сообщения о сбое соединения не будет. В некоторых случаях, удаленный сервер, не поддерживающий телнетоподобный протокол может выдать баннер, отображая информацию о себе, как например, это делают серверы VNC, отбражая версию протокола RFB. Примеры использования telnet для отправки простого e-mail сообщения имеются в этой статье

В операционных системах Windows 7, Windows Server 2008,Windows Server 2008 R2, для управления службой TELNET на локальном или удаленном компьютере можно воспользоваться специальной утилитой tlntadmn , позволяющей запустить, приостановить, остановить или продолжить работу сервера TELNET, а также настроить некоторые параметры его конфигурации.

В Windows 7 и более поздних версиях, сервер и клиент telnet при установке системы не инсталлируются. Для того, чтобы воспользоваться утилитой telnet.exe , нужно добавить ее в систему используя «Панель управления» – «Программы и компоненты» – «Включение или отключение компонентов Windows» – установить галочку на «Клиент Telnet». При необходимости, можно таким же образом установить и сервер Telnet.

Утилита TRACERT.EXE

&nbsp &nbsp Не смотря на появление утилиты PATHPIG, классическая утилита трассировки маршрута до заданного узла TRACERT , по-прежнему остается наиболее часто используемым инструментом сетевой диагностики. Утилита позволяет получить цепочку узлов, через которые проходит IP-пакет, адресованный конечному узлу. В основе трассировки заложен метод анализа ответов при последовательной отправке ICMP-пакетов на указанный адрес с увеличивающимся на 1 полем TTL. («Время жизни» — Time To Live). На самом деле это поле не имеет отношения к времени, а является счетчиком числа возможных переходов при передаче маршрутизируемого пакета. Каждый маршрутизатор, получив пакет, вычитает из этого поля 1 и проверяет значение счетчика TTL. Если значение стало равным нулю, такой пакет отбрасывается и отправителю посылается ICMP-сообщение о превышении времени жизни («Time Exceeded» — значение 11 в заголовке ICMP). Если бы не было предусмотрено включение поля TTL в IP пакетах, то при ошибках в маршрутах, могла бы возникнуть ситуация, когда пакет будет вечно циркулировать в сети, пересылаемый маршрутизаторами по кругу. &nbsp &nbsp При выполнении команды tracert.exe сначала выполняется отправка ICMP пакета с полем TTL равным 1 и первый в цепочке маршрутизатор (обычно это основной шлюз из настроек сетевого подключения) вычтя единицу из TTL получает его нулевое значение и сообщает о превышении времени жизни. Эта последовательность повторяется трижды, поэтому в строке результата, формируемой tracert.exe, после номера перехода отображаются три значения времени отклика:
1 &nbsp &nbsp 1 ms &nbsp &nbsp 1 — номер перехода (1 — первый маршрутизатор)
1 ms 2 — первый маршрутизатор его уменьшит до 1 и отправит следующему в цепочке, который после вычитания 1 обнулит TTL и сообщит о превышении времени жизни. И так далее, пока не будет достигнут заданный узел, имя или адрес которого заданы в качестве параметра командной строки, например , tracert yandex.ru , или до обнаружения неисправности, не позволяющей доставить пакет узлу yandex.ru.

Пример результатов выполнения tracert google.com

tracert google.com — трассировка маршрута к узлу google.com

Трассировка маршрута к google.com [74.125.45.100] с максимальным числом прыжков 30:
1 1 ms

&nbsp &nbsp В результатах трассировки могут присутствовать строки, где вместо адреса узла отображается звездочка (узел номер 3 в примере). Это не обязательно является признаком неисправности маршрутизатора, и чаще всего, говорит о том, что настройки данного узла запрещают ICMP-протокол из соображений безопасности или уменьшения нагрузки на канал . Подобные же настройки используются в сетях корпорации Microsoft . Для проверки, попробуйте выполнить трассировку маршрута к узлу microsoft.com .

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

Определение подмены адреса узла в файле hosts

&nbsp &nbsp Одним из последствий вирусного заражения довольно часто является блокировка доступа к сайтам антивирусных компаний, поисковым системам, популярным социальным сетям (Vkontakte, Odnoklassniki, Facebook, Twitter и т.п.). Подобный же прием используется для кражи учетных данных пользователей путем перенаправления на вредоносный сайт, адрес которого берется из зараженного файла hosts .

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

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

— проверяется наличие записи об имени и адресе в файле hosts . Если запись есть, то будут использованы ее данные.

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

Файл hosts при настройках по умолчанию, находится в каталоге \Windows\system32\drivers\etc\ и обычно содержит строки, начинающиеся с символа # , являющиеся комментариями, и одну запись для определения имени узла петлевого интерфейса:

127.0.0.1 — IP-адрес, localhost — имя. Если добавить запись 127.0.0.1 odnoklassniki.ru , то для имени odnoklassniki.ru будет использоваться адрес 127.0.0.1, который не предназначен для выполнения реальной передачи данных, и сервер с указанным именем станет недоступен. Если же вместо адреса 127.0.0.1 использовать адрес поддельного сервера, созданного злоумышленниками, то вместо реального сайта, соответствующего доменному имени, посетитель перейдет на поддельную страницу.
Структура записей файла hosts предполагает, что между адресом и соответствующим ему именем должен быть хотя бы один символ табуляции (пробел). Каждой записи отводится одна строка в файле hosts . Иногда, вредоносная программа выполняет смещение записей относительно отображаемой на экране части файла, заполняя видимую часть пробелами, а в непомещающейся в области просмотра части, могут присутствовать записи, например

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

Данный адрес взят из реально зараженного файла hosts и принадлежит сети одного из провайдеров Германии. Сейчас он безопасен, и не занят обслуживанием вредоносного сервера.
На зараженном компьютере, в файл hosts было добавлено множество пустых строк, и поддельные записи располагались с разным смещением относительно начала строки, что могло затруднить ручной поиск. Кроме того, вредоносные программы могут использовать и некоторые другие способы подмены содержимого hosts — изменение местоположения самого файла, использование атрибута «скрытый» и имени с подменой символа на похожий по написанию символ национального алфавита — «o» и т.п. Другими словами, достоверно определить сам факт подмены адреса с помощью файла hosts , путем прямого анализа содержимого реестра, системных каталогов и самого файла занимает довольно длительное время и не всегда позволяет исключить ошибку поиска вредоносных записей. А, тем временем, задача легко решается с использованием всего лишь 2-х команд из рассмотренных выше — ping и nslookup .

ping odnoklassniki.ru — в ответе на пинг будет отображаться адрес, соответствующий имени odnoklassniki.ru при определении IP-адреса на данном компьютере

nslookup odnoklassniki.ru — получить IP-адрес, соответствующий имени odnoklassniki.ru от сервера DNS.

Если адрес по результатам пинга отличается от адреса, полученного от DNS-сервера, то присутствует факт подмены содержимого файла hosts . Для некоторых крупных доменов утилита nslookup может выдавать список из нескольких IP. Тогда IP-адрес, полученный в результатах пинга, должен присутствовать в списке адресов от nslookup.

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

Как открыть порт в брандмауэре Windows 7-10

Разрешить входящие соединения через брандмауэр Windows (открыть порт) можно с использованием контекста firewall утилиты netsh

netsh firewall set portopening protocol=TCP port=27015 name=MyServer mode=ENABLE scope=ALL
или
netsh firewall set portopening TCP 27015 MyServer ENABLE ALL
protocol — Протокол порта. TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ALL — Все протоколы.
port — Номер порта.
name — Имя порта (необязательно)
mode — Режим порта. ENABLE — Пропускать через брандмауэр (по умолчанию). DISABLE — Не пропускать через брандмауэр.
scope — Область порта (необязательно). ALL — Пропускать через брандмауэр весь трафик (по умолчанию). SUBNET — Пропускать через брандмауэр только трафик локальной сети (подсети). CUSTOM — Пропускать через брандмауэр только указанный трафик.

С учетом значений по умолчанию и необязательных параметров открыть TCP порт 27015 в брандмауэре Windows можно командой

netsh firewall set portopening TCP 27015

В Windows Vista/Windows7 пока поддерживается синтаксис приведенный в примере выше, однако в последующих версиях операционных систем он будет полностью заменен на контекст netsh advfirewall — управление улучшенным брандмауэром. Подсказку по использованию можно получить при вводе команды с параметром ? (знак вопроса) :

В контексте правил для брандмауэра:

netsh advfirewall firewall ?

Для открытия порта 27015 в Windows 7 с учетом нового синтаксиса правильнее использовать команду:

netsh advfirewall firewall add rule name=»Open Port 27015″ dir=in action=allow protocol=TCP localport=27015

add rule — добавить правило
name — название правила. Название может быть произвольным, и если текст содержит пробелы — заключаться в двойные кавычки. Имя правила не должно принимать значение all
dir — направление обмена данными (in-входящий трафик, out- исходящий)
action — действие по отношению к попадающему под правило соединению (allow — разрешить, block — запретить)
protocol — разновидность протокола. (TCP — протокол TCP, UDP — протокол UDP, ANY — любой протокол). Если параметр protocol не указан, то используется значение по умолчанию — ANY )
localport — номер порта на локальном компьютере. Можно указывать диапазон портов 0 -65535 или any — любой порт или номера через запятую — 67,69 .

Примеры правил брандмауэра Windows 7-10

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

Краткий список возможных параметров правил :

add rule name=
dir=in|out
action=allow|block|bypass
[program= ]
[service= |any]
[description= ]
[enable=yes|no (по умолчанию — yes)]
[profile=public|private|domain|any[. ]]
[localip=any| | | | | ]
[remoteip=any|localsubnet|dns|dhcp|wins|defaultgateway| | | | | ]
[localport=0-65535|| [. ]|RPC|RPC-EPMap|IPHTTPS|any (по умолчанию — any)]
[remoteport=0-65535| [. ]|any (по умолчанию — any)]
[protocol=0-255|icmpv4|icmpv6|icmpv4:тип,код|icmpv6:тип,код| tcp|udp|any (по умолчанию — any)]
[interfacetype=wireless|lan|ras|any]
[rmtcomputergrp= ]
[rmtusrgrp= ]
[edge=yes|deferapp|deferuser|no (по умолчанию — no)]
[security=authenticate|authenc|authdynenc|authnoencap|notrequired (по умолчанию — notrequired)]

Некоторые правила применения параметров:

Параметры могут следовать в произвольном порядке — dir=in action=allow и action=allow dir=in являются допустимыми значениями.
Если указана удаленная группа пользователей или компьютеров, для параметра security необходимо установить значение authenticate, authenc, authdynenc или authnoencap .
Установка authdynenc в качестве значения параметра security позволяет системам динамически согласовывать использование шифрования трафика, соответствующего данному правилу брандмауэра Windows. Шифрование согласуется в соответствии со свойствами существующего правила безопасности соединения. Этот параметр позволяет компьютеру принять первый пакет TCP или UDP входящего соединения IPsec, при условии, что он защищен, но не зашифрован, с помощью IPsec. Как только первый пакет будет обработан, сервер повторно согласует соединение и обновит его, чтобы все последующие соединения были полностью зашифрованы.

Если action=bypass, должна быть указана группа удаленных компьютеров, если dir=in.

Короткое имя службы можно посмотреть в ее свойствах, в поле Имя службы . Так, для службы «DNS-клиент» короткое имя — Dnscache . Если service=any, правило действует только для служб.

Значением кода или типа ICMP может быть any — любой ICMP трафик.

Параметр edge можно указывать только для правил входящего трафика (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

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

netsh advfirewall firewall show rule name=all
netsh advfirewall firewall show rule name=all | more — с выдачей результатов на экран в постраничном режиме
netsh advfirewall firewall show rule name=all > C:\firewallrues.txt — с выдачей результатов в файл

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

netsh advfirewall firewall show rule name=TEST просмотр правила с именем TEST
netsh advfirewall firewall delete rule name=test — удаление правила с именем TEST

Для изменения значений в существующих правилах используется параметр set и new перед изменяемым значением:


netsh advfirewall firewall set rule name=»Allow port range» new localport=5000-6000 изменить диапазон портов для правила «Allow port range»

&nbsp &nbsp Настройками по умолчанию, в режиме повышенной безопасности брандмауэр Windows 7 блокирует все входящие подключения, не соответствующие ни одному правилу и разрешает исходящие.

Wi-Fi точка доступа стандартными средствами Windows 7-10

&nbsp &nbsp В операционной системе Windows 7 реализована технология Virtual WiFi , позволяющая легко создавать программную точку доступа (Software Access Point — SoftAP) . В отличие от полноценных беспроводных точек доступа, реализуемая таким образом SoftAP, позволяет создать только один виртуальный адаптер, который будет работать только в режиме точки доступа, и может быть использовано шифрование только по WPA2-PSK/AES. Тем не менее, этого вполне достаточно для создания функциональной беспроводной сети без реально существующей точки доступа. Такая сеть, обозначается как Wireless Hosted Network , или просто Hosted Network ( Размещенная Сеть ).

Для создания размещенной сети используется команды сетевой оболочки netsh.exe в контексте wlan :

netsh wlan set hostednetwork [mode=]allow|disallow — разрешить или запретить использование размещенной сети.
netsh wlan set hostednetwork [ss > [key=] [keyUsage=]persistent|temporary — задать параметры размещённой сети.
ssid — идентификатор SSID сети, другими словами — имя беспроводной сети;
key — ключ безопасности, используемый в данной сети, т.е. парольная фраза, используемая при подключении клиентов к виртуальной точке доступа. Ключ должен быть строкой символов ASCII длиной от 8 до 63 знаков.
keyUsage — указывает, является ключ безопасности постоянным или временным. По умолчанию, ключ является постоянным ( persistent ) и используется при каждом включении размещенной сети.

Или — одной командной строкой:

netsh wlan set hostednetwork mode=allow ss > — создать виртуальную точку доступа Wi-Fi с именем MyWiFi и паролем MyPassWord

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

netsh wlan start hostednetwork
Для остановки — netsh wlan stop hostednetwork

При использовании команд управления размещенной сетью требуются права администратора.
Для организации доступа в Интернет с использованием размещенной сети можно воспользоваться совместным подключением через, созданный после выполнения команды создания размещенной сети , виртуальный сетевой адаптер — Адаптер мини-порта виртуального WiFi Microsoft (Microsoft Virtual WiFi miniport adapter) . Если же данный адаптер не обнаруживается в диспетчере учтройств и отсутствует в списке сетевых адаптеров, то наиболее вероятно, что драйвер реального Wi-Fi устройства не сертифицирован для использования в операционной системе Windows 7 и не поддерживает технологию Virtual WiFi .

Как получить список беспроводных сетей стандартными средствами Windows 7-10

&nbsp &nbsp Ниже приведено содержимое командного файла, который позволяет собрать список беспроводных сетей, включая имя, уровень сигнала, BSSID. Информация записывается в файл wlans.txt каталога временных файлов и открывается для просмотра с помощью редактора wordpad

В дополнение к данной статье :

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

Как recv() понимает, что все данные получены в случаи TCP?

Насколько я понимаю, данные через TCP передаются как сплошной поток, до тех пор пока соединение не будет разорвано. Если посмотреть на структуру сегмента TCP,там даже нет информации о длинне данных (в отличии от UDP, к примеру). Таким образом, если мы читаем что-то с TCP сокета в буфер, чтение будет происходить до тех пор, пока соединение не закроется, либо буффер не переполниться.

Однако если посмотреть на реальный код, это не так — recv() на сервере читает ровно столько байт, сколько отправлено с клиента с помощью send()

Каким образом recv() понимает, что все данные получены, и управление нужно вернуть в вызывающий код?

Полный и минимальный пример на голых сокетах:

3 ответа 3

Нет, recv читает количество байт не больше указанного размера буфера, совершенно не волнуясь по поводу получения всех данных. В лучшем случае с клиента приходит пакет с флагом PSH, намекающий, что имеет смысл отдать данные читателю сейчас.

Каким образом recv() понимает, что все данные получены, и управление нужно вернуть в вызывающий код?

Никаким. Это забота приложения. С точки зрения приложения, TCP канал — это обычный файл. Как приложение узнаёт, что некая порция данных принята полностью? Существует только два способа:

  1. Есть определённый символ — разделитель записей. Для большинства текстовых файлов, этот символ — ‘\n’
  2. В начале порции данных пишется длина блока. Как конкретно это делается — зависит от конкретного приложения.

Оба эти пункта 100% применимы к ТСР соединениям. Например, в HTTP протоколе применяется вариант пункта 1: каждое сообщение НАЧИНАЕТСЯ специальной строкой заголовка и ЗАВЕРШАЕТСЯ пустой строкой. Данные передаются несколько иным способом, но идея та же.

Основы TCP/IP для будущих дилетантов

Предположим, что вы плохо владеете сетевыми технологиями, и даже не знаете элементарных основ. Но вам поставили задачу: в быстрые сроки построить информационную сеть на небольшом предприятии. У вас нет ни времени, ни желания изучать толстые талмуды по проектированию сетей, инструкции по использованию сетевого оборудования и вникать в сетевую безопасность. И, главное, в дальнейшем у вас нет никакого желания становиться профессионалом в этой области. Тогда эта статья для вас.

Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS

Понятие о стеке протоколов

Задача — передать информацию от пункта А в пункт В. Её можно передавать непрерывно. Но задача усложняется, если надо передавать информацию между пунктами A B и A C по одному и тому же физическому каналу. Если информация будет передаваться непрерывно, то когда С захочет передать информацию в А — ему придётся дождаться, пока В закончит передачу и освободит канал связи. Такой механизм передачи информации очень неудобен и непрактичен. И для решения этой проблемы было решено разделять информацию на порции.

На получателе эти порции требуется составить в единое целое, получить ту информацию, которая вышла от отправителя. Но на получателе А теперь мы видим порции информации как от В так и от С вперемешку. Значит, к каждой порции надо вписать идентификационный номер, что бы получатель А мог отличить порции информации с В от порций информации с С и собрать эти порции в изначальное сообщение. Очевидно, получатель должен знать, куда и в каком виде отправитель приписал идентификационные данные к исходной порции информации. И для этого они должны разработать определённые правила формирования и написания идентификационной информации. Далее слово «правило» будет заменяться словом «протокол».

Для соответствия запросам современных потребителей, необходимо указывать сразу несколько видов идентификационной информации. А так же требуется защита передаваемых порций информации как от случайных помех (при передаче по линиям связи), так и от умышленных вредительств (взлома). Для этого порция передаваемой информации дополняется значительным количеством специальной, служебной информацией.

В протоколе Ethernet находятся номер сетевого адаптера отправителя (MAC-адрес), номер сетевого адаптера получателя, тип передаваемых данных и непосредственно передаваемые данные. Порция информации, составленная в соответствии с протоколом Ethernet, называется кадром. Считается, что сетевых адаптеров с одинаковым номером не существует. Сетевое оборудование извлекает передаваемые данные из кадра (аппаратно или программно), и производит дальнейшую обработку.

Как правило, извлечённые данные в свою очередь сформированы в соответствии с протоколом IP и имеют другой вид идентификационной информации — ip адрес получателя (число размером в 4 байта), ip адрес отправителя и данные. А так же много другой необходимой служебной информации. Данные, сформированные в соответствии с IP протоколом, называются пакетами.

Далее извлекаются данные из пакета. Но и эти данные, как правило, ещё не являются изначально отправляемыми данными. Этот кусок информации тоже составлен в соответствии определённому протоколу. Наиболее широко используется TCP протокол. В нём содержится такая идентификационная информация, как порт отправителя (число размером в два байта) и порт источника, а так же данные и служебная информация. Извлечённые данные из TCP, как правило, и есть те данные, которые программа, работающая на компьютере В, отправляла «программе-приёмнику» на компьютере A.

Вложность протоколов (в данном случае TCP поверх IP поверх Ethernet) называется стеком протоколов.

ARP: протокол определения адреса

Существуют сети классов A, B, C, D и E. Они различаются по количеству компьютеров и по количеству возможных сетей/подсетей в них. Для простоты, и как наиболее часто встречающийся случай, будем рассматривать лишь сеть класса C, ip-адрес которой начинается на 192.168. Следующее число будет номером подсети, а за ним — номер сетевого оборудования. К примеру, компьютер с ip адресом 192.168.30.110 хочет отправить информацию другому компьютеру с номером 3, находящемуся в той же логической подсети. Это значит, что ip адрес получателя будет такой: 192.168.30.3

Важно понимать, что узел информационной сети — это компьютер, соединённый одним физическим каналом с коммутирующим оборудованием. Т.е. если мы отправим данные с сетевого адаптера «на волю», то у них одна дорога — они выйдут с другого конца витой пары. Мы можем послать совершенно любые данные, сформированные по любому, выдуманному нами правилу, ни указывая ни ip адреса, ни mac адреса ни других атрибутов. И, если этот другой конец присоединён к другому компьютеру, мы можем принять их там и интерпретировать как нам надо. Но если этот другой конец присоединён к коммутатору, то в таком случае пакет информации должен быть сформирован по строго определённым правилам, как бы давая коммутатору указания, что делать дальше с этим пакетом. Если пакет будет сформирован правильно, то коммутатор отправит его дальше, другому компьютеру, как было указано в пакете. После чего коммутатор удалит этот пакет из своей оперативной памяти. Но если пакет был сформирован не правильно, т.е. указания в нём были некорректны, то пакет «умрёт», т.е. коммутатор не будет отсылать его куда либо, а сразу удалит из своей оперативной памяти.

Для передачи информации другому компьютеру, в отправляемом пакете информации надо указать три идентификационных значения — mac адрес, ip адрес и порт. Условно говоря, порт — это номер, который, выдаёт операционная система каждой программе, которая хочет отослать данные в сеть. Ip адрес получателя вводит пользователь, либо программа сама получает его, в зависимости от специфики программы. Остаётся неизвестным mac адрес, т.е. номер сетевого адаптера компьютера получателя. Для получения необходимой данной, отправляется «широковещательный» запрос, составленный по так называемому «протоколу разрешения адресов ARP». Ниже приведена структура ARP пакета.

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

В поля записываются ip адрес источника и ip адрес назначения, а так же mac адрес источника.

Поле «адрес назначения Ethernet» заполняется единицами (ff:ff:ff:ff:ff:ff). Такой адрес называется широковещательным, и такой фрейм будер разослан всем «интерфейсам на кабеле», т.е. всем компьютерам, подключённым к коммутатору.

Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес». Когда другой компьютер получает такой ARP запрос, он сверяет ip адрес назначения со своим собственным. И если он совпадает, то компьютер, на место единиц вставляет свой mac адрес, меняет местами ip и mac адреса источника и назначения, изменяет некоторую служебную информацию и отсылает пакет обратно коммутатору, а тот обратно — изначальному компьютеру, инициатору ARP запроса.

Таким образом ваш компьютер узнаёт mac адрес другого компьютера, которому вы хотите отправить данные. Если в сети находится сразу несколько компьютеров, отвечающих на этот ARP запрос, то мы получаем «конфликт ip адресов». В таком случае необходимо изменить ip адрес на компьютерах, что бы в сети не было одинаковых ip адресов.

Построение сетей

Задача построения сетей

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

    Простота в управлении. Если бухгалтера Лиду переведут в другой кабинет, ей по-прежнему понадобится доступ к компьютерам бухгалтеров Анны и Юлии. И при неправильном построении своей информационной сети, у администратора могут возникнуть трудности в выдаче Лиде доступа к компьютерам других бухгалтеров на её новом месте.

Обеспечение безопасности. Для обеспечения безопасности нашей сети, права доступа к информационным ресурсам должны быть разграничены. Так же сеть должна быть защищена от угроз раскрытия, целостности и отказа в обслуживании. Подробнее читайте в книге «Атака на Internet» автора Илья Давидович Медведовский, глава «Основные понятия компьютерной безопасности».

  • Быстродействие сети. При построении сетей есть техническая проблема — зависимость скорости передачи от количества компьютеров в сети. Чем больше компьютеров — тем ниже скорость. При большом количестве компьютеров, быстродействие сети может стать настолько низким, что она станет неприемлемой заказчику.
  • Из-за чего при большом количестве компьютеров снижается скорость сети? — причина проста: из-за большого количества широковещательных сообщений (ШС). ШС — это сообщение, которое, приходя на коммутатор, отправляется всем хостам сети. Или, грубо говоря, всем компьютерам, находящимся в вашей подсети. Если компьютеров в сети 5, то каждый компьютер будет принимать по 4 ШС. Если их будет 200, то каждый компьютер в такой большой сети будет принимать по 199 ШС.

    Существует большое множество приложений, программных модулей и сервисов, которые, для своей работы отправляют в сеть широковещательные сообщения. Описанный в пункте ARP: протокол определения адреса лишь один из множества ШС, отправляемый вашим компьютером в сеть. Например, когда вы заходите в «Сетевое окружение» (ОС Windows), ваш компьютер посылает ещё несколько ШС со специальной информацией, сформированной по протоколу NetBios, что бы просканировать сеть на наличие компьютеров, находящихся в той же рабочей группе. После чего ОС рисует найденные компьютеры в окне «Сетевое окружение» и вы их видите.

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

    Виртуальные локальные сети

    Для решения первой и третьей проблем, а так же в помощь решения второй проблемы, повсеместно используют механизм разбиения локальной сети на более маленькие сети, как бы отдельные локальные сети (Virtual Local Area Network). Грубо говоря, VLAN — это список портов на коммутаторе, принадлежащих одной сети. «Одной» в том смысле, что другой VLAN будет содержать список портов, принадлежащих другой сети.

    Фактически, создание двух VLAN-ов на одном коммутаторе эквивалентно покупке двух коммутаторов, т.е. создание двух VLAN-ов — это всё равно, что один коммутатор разделить на два. Таким образом происходит разбиение сети из ста компьютеров на более маленькие сети, из 5-20 компьютеров — как правило именно такое количество соответствует физическому местонахождению компьютеров по надобности файлообмена.

      При разбиении сети на VLAN-ы достигается простота управления. Так, при переходе бухгалтера Лиды в другой кабинет, администратору достаточно удалить порт из одного VLAN-а и добавить в другой. Подробнее это рассмотрено в пункте VLAN-ы, теория.

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

  • Т.к. наша сеть разбита на VLAN-ы, т.е. на маленькие «как бы сети», пропадает проблема с широковещательными сообщениями.
  • VLAN-ы, теория

    Возможно, фраза «администратору достаточно удалить порт из одного VLAN-а и добавить в другой» могла оказаться непонятной, поэтому поясню её подробнее. Порт в данном случае — это не номер, выдаваемый ОС приложению, как было рассказано в пункте Стек протоколов, а гнездо (место) куда можно присоединить (вставить) коннектор формата RJ-45. Такой коннектор (т.е. наконечник к проводу) прикрепляется к обоим концам 8-ми жильного провода, называемого «витая пара». На рисунке изображён коммутатор Cisco Catalyst 2950C-24 на 24 порта:

    Как было сказано в пункте ARP: протокол определения адреса каждый компьютер соединён с сетью одним физическим каналом. Т.е. к коммутатору на 24 порта можно присоединить 24 компьютера. Витая пара физически пронизывает все помещения предприятия — все 24 провода от этого коммутатора тянутся в разные кабинеты. Пусть, к примеру, 17 проводов идут и подсоединяются к 17-ти компьютерам в аудитории, 4 провода идут в кабинет спецотдела и оставшиеся 3 провода идут в только что отремонтированный, новый кабинет бухгалтерии. И бухгалтера Лиду, за особые заслуги, перевели в этот самый кабинет.

    Как сказано выше, VLAN можно представлять в виде списка принадлежащих сети портов. К примеру, на нашем коммутаторе было три VLAN-а, т.е. три списка, хранящиеся во flash-памяти коммутатора. В одном списке были записаны цифры 1, 2, 3… 17, в другом 18, 19, 20, 21 и в третьем 22, 23 и 24. Лидин компьютер раньше был присоединён к 20-ому порту. И вот она перешла в другой кабинет. Перетащили её старый компьютер в новый кабинет, или она села за новый компьютер — без разницы. Главное, что её компьютер присоединили витой парой, другой конец которой вставлен в порт 23 нашего коммутатора. И для того, что бы она со своего нового места могла по прежнему пересылать файлы своим коллегам, администратор должен удалить из второго списка число 20 и добавить число 23. Замечу, что один порт может принадлежать только одному VLAN-у, но мы нарушим это правило в конце этого пункта.

    Замечу так же, что при смене членства порта в VLAN, администратору нет никакой нужды «перетыкать» провода в коммутаторе. Более того, ему даже не надо вставать с места. Потому что компьютер администратора присоединён к 22-ому порту, с помощью чего он может управлять коммутатором удалённо. Конечно, благодаря специальным настройкам, о которых будет рассказано позже, лишь администратор может управлять коммутатором. О том, как настраивать VLAN-ы, читайте в пункте VLAN-ы, практика [в следующей статье].

    Как вы, наверное, заметили, изначально (в пункте Построение сетей) я говорил, что компьютеров в нашей сети будет не менее 100. Но к коммутатору можно присоединить лишь 24 компьютера. Конечно, есть коммутаторы с большим количеством портов. Но компьютеров в корпоративной сети/сети предприятия всё равно больше. И для соединения бесконечно большого числа компьютеров в сеть, соединяют между собой коммутаторы по так называемому транк-порту (trunk). При настройки коммутатора, любой из 24-портов можно определить как транк-порт. И транк-портов на коммутаторе может быть любое количество (но разумно делать не более двух). Если один из портов определён как trunk, то коммутатор формирует всю пришедшую на него информацию в особые пакеты, по протоколу ISL или 802.1Q, и отправляет эти пакеты на транк-порт.

    Всю пришедшую информацию — имеется в виду, всю информацию, что пришла на него с остальных портов. А протокол 802.1Q вставляется в стек протоколов между Ethernet и тем протоколом, по которому были сформированные данные, что несёт этот кадр.

    В данном примере, как вы, наверное, заметили, администратор сидит в одном кабинете вместе с Лидой, т.к. витая пора от портов 22, 23 и 24 ведёт в один и тот же кабинет. 24-ый порт настроен как транк-порт. А сам коммутатор стоит в подсобном помещении, рядом со старым кабинетом бухгалтеров и с аудиторией, в которой 17 компьютеров.

    Витая пара, которая идёт от 24-ого порта в кабинет к администратору, подключается к ещё одному коммутатору, который в свою очередь, подключён к роутеру, о котором будет рассказано в следующих главах. Другие коммутаторы, которые соединяют другие 75 компьютеров и стоят в других подсобных помещениях предприятия — все они имеют, как правило, один транк-порт, соединённый витой парой или по оптоволокну с главным коммутатором, что стоит в кабинете с администратором.

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

    Примерно так выглядело построение сетей больших предприятий во времена коммутатора Cisco Catalyst 1900. Вы, наверное, заметили два больших неудобства таких сетей. Во первых, использование транк-порта вызывает некоторые сложности и создаёт лишнюю работу при конфигурировании оборудования. А во вторых, и в самых главных — предположим, что наши «как бы сети» бухгалтеров, экономистов и диспетчеров хотят иметь одну на троих базу данных. Они хотят, что бы та же бухгалтерша смогла увидеть изменения в базе, которые сделала экономистка или диспетчер пару минут назад. Для этого нам надо сделать сервер, который будет доступен всем трём сетям.

    Как говорилось в середине этого пункта, порт может находиться лишь в одном VLAN-е. И это действительно так, однако, лишь для коммутаторов серии Cisco Catalyst 1900 и старше и у некоторых младших моделей, таких как Cisco Catalyst 2950. У остальных коммутаторов, в частности Cisco Catalyst 2900XL это правило можно нарушить. При настройке портов в таких коммутаторах, каждый пор может иметь пять режимов работы: Static Access, Multi-VLAN, Dynamic Access, ISL Trunk и 802.1Q Trunk. Второй режим работы именно то, что нам нужно для выше поставленной задачи — дать доступ к серверу сразу с трёх сетей, т.е. сделать сервер принадлежащим к трём сетям одновременно. Так же это называется пересечением или таггированием VLAN-ов. В таком случае схема подключения может быть такой:

    Продолжение следует

    Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS

    Протокол TCP/IP или как работает Интернет (для чайников)

    Автор: Дубровин Борис, 13 сентября 2007 г. 18:32

    В основе работы глобальной сети Интернет лежит набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.

    Цукерберг рекомендует:  Как найти свою первую работу программиста От резюме до испытательного срока

    Человек может учиться двумя путями:

    1. Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта — при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
    2. Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли — недостающую информацию легко найти. Главное — знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.

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

    Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.


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

    На конверте письма будет написано примерно следующее:

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

    Каждый компьютер (он же: узел, хост) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер и пр.). Для доставки обычного бумажного письма недостаточно знать только адрес дома — необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP — к порту 21 и так далее.

    Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:

    В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:

    Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.

    Обратите внимание, комбинация: «IP адрес и номер порта» — называется «сокет».

    В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.

    Как правило взаимодействие осуществляется по схеме «клиент-сервер»: «клиент» запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например: почтовый SMTP сервер «слушает» 25-й порт, POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер — 80-й порт и пр.

    Большинство программ на домашнем компьютере являются клиентами — например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.

    Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.

    Повторение — мать учения: IP — это адрес компьютера (узла, хоста) в сети, а порт — номер конкретного приложения, работающего на этом компьютере.

    Однако человеку запоминать цифровые IP адреса трудно — куда удобнее работать с буквенными именами. Ведь намного легче запомнить слово, чем набор цифр. Так и сделано — любой цифровой IP адрес можно связать с буквенно-цифровым именем. В результате например вместо 82.146.49.55 можно использовать имя www.ofnet.ru. А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен — DNS (Domain Name System).

    Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:

    Теперь рассмотрим, что происходит, когда в своем браузере вы набираете доменное имя (URL) этого сайта (www.ofnet.ru) и, нажав , в ответ от веб-сервера получаете страницу этого сайта.

    Набираем в адресной строке браузера доменное имя www.ofnet.ru и жмем . Далее операционная система производит примерно следующие действия:

    Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу — приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.

    Диалог примерно следующий:

    Далее наш компьютер устанавливает соединение с портом 80 компьютера 82.146.49.55 и посылает запрос (пакет с запросом) на получение страницы www.ofnet.ru. 80-й порт соответствует веб-серверу. В адресной строке браузера 80-й порт как правило не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.ofnet.ru:80.

    Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML — языке разметки текста, который понимает браузер.

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

    Зачем эти принципы надо понимать?

    Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В консоли набираем команду netstat -anи жмем . Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.

    Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов — «своих» и «вражеских». Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?

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

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

    Несколько специальных IP адресов:

    Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?

    (Эти параметры задаются в настройках сетевых подключений).

    Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения — принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).

    Напоследок рассмотрим что же означают непонятные термины:

    TCP/IP — это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).

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

    TCP и UDP — это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.

    TCP — это протокол с установлением соединения и с гарантированной доставкой пакетов. Сначала производится обмен специальными пакетами для установления соединения, происходит что-то вроде рукопожатия (-Привет. -Привет. -Поболтаем? -Давай.). Далее по этому соединению туда и обратно посылаются пакеты (идет беседа), причем с проверкой, дошел ли пакет до получателя. Если пакет не дошел, то он посылается повторно («повтори, не расслышал»).

    UDP — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).

    Над транспортным уровнем находится прикладной уровень. На этом уровне работают такие протоколы, как http, ftp и пр. Например HTTP и FTP — используют надежный протокол TCP, а DNS-сервер работает через ненадежный протокол UDP.

    Как посмотреть текущие соединения?

    Текущие соединения можно посмотреть с помощью команды

    (параметр n указывает выводить IP адреса вместо доменных имен).

    Запускается эта команда следующим образом:

    «Пуск» — «Выполнить» — набираем cmd — «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем . Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.

    Имя Локальный адрес Внешний адрес Состояние
    TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
    TCP 91.76.65.216:139 0.0.0.0:0 LISTENING
    TCP 91.76.65.216:1719 212.58.226.20:80 ESTABLISHED
    TCP 91.76.65.216:1720 212.58.226.20:80 ESTABLISHED
    TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
    TCP 91.76.65.216:1724 212.58.226.8:80 ESTABLISHED

    В этом примере 0.0.0.0:135 — означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.

    91.76.65.216:139 — наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.

    Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

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

    КОММЕНТАРИИ К СТАТЬЕ:

    Спасибо)
    Очень доступно и хорошо изложено.

    Протоколы TCP/IP интернета. Стек протоколов TCP/IP

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

    Мало кто знает, что простой процесс посещения веб-страничек подразумевает незаметную для пользователя, сложную систему действий. Каждый переход по ссылке активирует сотни различных вычислительных операций в сердце компьютера. В их числе передачи запросов, прием ответов и многое другое. За каждое действие в сети отвечают так называемые протоколы TCP/IP. Что они собой представляют?

    Любой протокол интернета TCP/IP работает на своем уровне. Иными словами, каждый занимается своим делом. Все семейство TCP/IP протоколов одновременно выполняет колоссальную работу. А пользователь в это время видит только яркие картинки и длинные строки текста.

    Понятие стека протоколов

    Стек протоколов TCP/IP — это организованный набор основных сетевых протоколов, который иерархическим способом разделен на четыре уровня и представляет собой систему транспортного распределения пакетов по компьютерной сети.

    TCP/IP — это наиболее известный стек сетевых протоколов, который используется на данный момент. Принципы стека TCP/IP применяются как в локальных, так и в глобальных сетях.

    Принципы использования адресов в стеке протоколов

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

    • Адреса различного типа, должны быть согласованы. Например преобразование домена сайта в IP адрес сервера и обратно, или преобразование имени узла в адрес и обратно. Таки образом становится возможен доступ к точке не только с помощью IP адреса, но и по интуитивному названию.
    • Адреса должны быть уникальны. Это вызвано тем, что в некоторых частных случаях пакет должен попасть только в одну конкретную точку.
    • Необходимость конфигурирования локальных вычислительных сетей.

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

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

    Уровни стека протоколов TCP/IP

    Здесь существует определенная иерархия. Стек протоколов TCP/IP предусматривает четыре уровня, каждый из которых обрабатывает свой набор протоколов:

    Прикладной уровень: создан для обеспечения работы пользователя с сетью На этом уровне обрабатывается все то, что видит и делает пользователь. Уровень позволяет пользователю получить доступ к различным сетевым службам, например: доступ к базам данных, возможность прочитать список файлов и открыть их, отправить электронное сообщение или открыть веб-страницу. Вместе с пользовательскими данными и действиям, на этом уровне передается служебная информация.

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

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

    Данный уровень, предоставляет вышестоящему (прикладному) два типа сервиса:

    • Осуществляет гарантированную доставку, с помощью протокола ТСР.
    • Осуществляет доставку по возможности по протоколу UDP.

    Чтобы обеспечить гарантированную доставку, согласно протоколу TCP устанавливается соединение, которое позволяет выставлять на пакетах нумерацию на выходе и подтверждать их прием на входе. Нумерация пакетов и подтверждение приема — это так называемая служебная информация. Этот протокол поддерживает передачу в режиме «Дуплекс». Кроме того, благодаря продуманному регламенту протокола, он считается очень надежным.

    Протокол UDP предназначен для моментов, когда невозможно настроить передачу по протоколу TCP, либо приходится экономить на сегменте сетевой передачи данных. Также протокол UDP может взаимодействовать с протоколами более высокого уровня, для повышения надежности передачи пакетов.

    Сетевой уровень или «уровень интернета»: базовый уровень для всей модели TCP/IP. Основной функционал этого уровня идентичен одноименному уровню модели OSI и описывает перемещение пакетов в составной сети, состоящей из нескольких, более мелких подсетей. Он связывает соседние уровни протокола TCP/IP.

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

    На этом уровне используются следующие сетевые протоколы TCP/IP: ICMP, IP, RIP, OSPF. Основным, и наиболее популярным на сетевом уровне, конечно же является протокол IP (Internet Protocol). Основной его задачей является передача пакетов от одного роутера к другому до тех пор, пока единица данных не попадет на сетевой интерфейс узла назначения. Протокол IP разворачивается не только на хостах, но и на сетевом оборудовании: маршрутизаторах и управляемых коммутаторах. Протокол IP работает по принципу негарантированной доставки с максимальными усилиями. Т. е., для отправки пакета нет необходимости заранее устанавливать соединение. Такой вариант приводит к экономии трафика и времени на движении лишних служебных пакетов. Пакет направляется в сторону назначения, и вполне возможно, что узел останется недоступным. В таком случае возвращается сообщение об ошибке.

    Уровень сетевых интерфейсов: отвечает за то, чтобы подсети с разными технологиями могли взаимодействовать друг с другом и передавать информацию в том же режиме. Реализовано это двумя простыми шагами:

    • Кодирование пакета в единицу данных промежуточной сети.
    • Преобразование информации о месте назначения в стандарты необходимой подсети и отправка единицы данных.

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

    Единицы передаваемых данных

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

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

    • Поток данных — данные, которые поступают на транспортный уровень от протоколов вышестоящего прикладного уровня.
    • Сегмент — фрагмент данных, на которые дробится поток по стандартам протокола TCP.
    • Датаграмма (особо безграмотные произносят как «Дейтаграмма») — единицы данных, которые получаются путем дробления потока с помощью протоколов, работающих без установления соединения (UDP).
    • Пакет — единица данных, производимая посредством протокола IP.
    • Протоколы TCP/IP упаковывают IP-пакеты в передаваемые по составным сетям блоки данных, которые называются кадрами или фреймами.

    Типы адресов стека протоколов TCP/IP

    Любой протокол передачи данных TCP/IP для идентификации узлов использует один из следующих типов адресов:

    • Локальные (аппаратные) адреса.
    • Сетевые адреса (IP адреса).
    • Доменные имена.

    Локальные адреса (MAC-адреса) — используются в большинстве технологий локальных вычислительных сетей, для идентификации сетевых интерфейсов. Под словом локальный, говоря о TCP/IP, следует понимать интерфейс, который действует не в составной сети, а в пределах отдельно взятой подсети. Например, подсеть интерфейса, подключенного к интернет — будет локальной, а сеть интернет — составной. Локальная сеть может быть построена на любой технологии, и независимо от этого, с точки зрения составной сети машина, находящаяся в отдельно выделенной подсети, будет называться локальной. Таким образом, когда пакет попадает в локальную сеть, дальше его IP адрес ассоциируется с локальным адресом, и пакет направляется уже на MAC-адрес сетевого интерфейса.

    Сетевые адреса (IP-адреса). В технологии TCP/IP предусмотрена собственная глобальная адресация узлов, для решения простой задачи — объединения сетей с разной технологией в одну большую структуру передачи данных. IP-адресация совершенно не зависит от технологии, которая используется в локальной сети, однако IP адрес позволяет сетевому интерфейсу представлять машину в составной сети.


    В итоге была разработана система, при которой узлам назначается IP адрес и маска подсети. Маска подсети показывает, какое количество бит отводится под номер сети, а какое количество под номер узла. IP адрес состоит из 32 бит, разделенных на блоки по 8 бит.

    При передаче пакета ему назначается информация о номере сети и номере узла, в который пакет должен быть направлен. Сначала маршрутизатор направляет пакет в нужную подсеть, а потом выбирается узел, который его ждет. Этот процесс осуществляется протоколом разрешения адресов (ARP).

    Доменные адреса в сетях TCP/IP управляются специально разработанной системой доменных имен (DNS). Для этого существуют серверы, которые сопоставляют доменное имя, представленное в виде строки текста, с IP адресом, и отправляет пакет уже в соответствии с глобальной адресацией. Между именем компьютера и IP адресом не предусмотрено соответствий, поэтому, чтобы преобразовать доменное имя в IP адрес, передающему устройству необходимо обратиться к таблице маршрутизации, которая создается на DNS сервере. Например, мы пишем в браузере адрес сайта, DNS сервер сопоставляет его с IP адресом сервера, на котором сайт расположен, и браузер считывает информацию, получая ответ.

    Кроме сети интернет, есть возможность выдавать компьютерам доменные имена. Таким образом, упрощается процесс работы в локальной сети. Пропадает необходимость запоминать все IP-адреса. Вместо них можно придумать каждому компьютеру любое имя и использовать его.

    IP-адрес. Формат. Составляющие. Маска подсети

    IP адрес — 32-битное число, которое в традиционном представлении записывается в виде чисел, от 1 до 255, разделенных между собой точками.

    Вид IP адреса в различных форматах записи:

    • Десятичный вид IP адреса: 192.168.0.10.
    • Двоичный вид того же IP адреса: 11000000.10101000.00000000.00001010.
    • Запись адреса в шестнадцатеричной системе счисления: C0.A8.00.0A.

    Между ID сети и номером точки в записи нет разделительного знака, но компьютер способен их разделять. Для этого существует три способа:

    1. Фиксированная граница. При этом способе весь адрес условно делится на две части фиксированной длины побайтно. Таким образом, если под номер сети отдать один байт, тогда мы получим 2 8 сетей по 2 24 узлов. Если границу сдвинуть еще на байт вправо, тогда сетей станет больше — 2 16 , а узлов станет меньше — 2 16 . На сегодняшний день подход считается устаревшим и не используется.
    2. Маска подсети. Маска идет в паре с IP адресом. Маска имеет последовательность значений «1» в тех разрядах, которые отведены под номер сети, и определенное количество нулей в тех местах IP адреса, которые отведены на номер узла. Граница между единицами и нулями в маске — это граница между идентификатором сети и ID узла в IP-адресе.
    3. Метод классов адресов. Компромиссный метод. При его использовании размеры сетей не могут быть выбраны пользователем, однако есть пять классов — А, В, С, D, Е. Три класса — А, В и С — предназначены для различных сетей, а D и Е — зарезервированы для сетей специального назначения. В классовой системе каждый класс имеет свою границу номера сети и ID узла.

    Классы IP адресов

    К классу А относятся сети, в которых сеть идентифицируется по первому байту, а три оставшихся являются номером узла. Все IP адреса, которые имеют в своем диапазоне значение первого байта от 1 до 126 — это сети класса А. Количественно сетей класса А получается совсем мало, зато в каждой из них может быть до 2 24 точек.

    Класс В — сети, в которых два высших бита равны 10. В них под номер сети и идентификатор точки отводится по 16 бит. В результате получается, что количество сетей класса В в большую сторону отличается от количества сетей класса А количественно, но они имеют меньшее количество узлов — до 65 536 (2 16 ) шт.

    В сетях класса С — совсем мало узлов — 2 8 в каждой, но количество сетей огромно, благодаря тому, что идентификатор сети в таких структурах занимает целых три байта.

    Сети класса D — уже относятся к особым сетям. Он начинается с последовательности 1110 и называется групповым адресом (Multicast adress). Интерфейсы, имеющие адреса класса А, В и С, могут входить в группу и получать вдобавок к индивидуальному еще и групповой адрес.

    Адреса класса Е — в резерве на будущее. Такие адреса начинаются с последовательности 11110. Скорее всего, эти адреса будут применяться в качестве групповых, когда наступит нехватка IP адресов в глобальной сети.

    Настройка протокола TCP/IP

    Далее, на каких системах можно настроить обозначенные протоколы?

    Настройка протокола TCP/IP доступна на всех операционных системах. Это — Linux, CentOS, Mac OS X, Free BSD, Windows 7. Протокол TCP/IP требует только наличия сетевого адаптера. Разумеется, серверные операционные системы способны на большее. Очень широко, с помощью серверных служб, настраивается протокол TCP/IP. IP адреса в в обычных настольных компьютерах задаются в настройках сетевых подключений. Там настраивается сетевой адрес, шлюз — IP адрес точки, имеющий выход в глобальную сеть, и адреса точек, на которых располагается DNS сервер.

    Протокол интернета TCP/IP может настраиваться в ручном режиме. Хотя не всегда в этом есть необходимость. Можно получать параметры протокола TCP/IP с динамически-раздающего адреса сервера в автоматическом режиме. Такой способ используют в больших корпоративных сетях. На DHCP сервер можно сопоставить локальный адрес к сетевому, и как только в сети появится машина с заданным IP адресом, сервер сразу даст ему заранее подготовленный IP адрес. Этот процесс называется резервирование.

    TCP/IP Протокол разрешения адресов

    Единственный способ установить связь между MAC-адресом и IP адресом — ведение таблицы. При наличии таблицы маршрутизации каждый сетевой интерфейс осведомлен о своих адресах (локальном и сетевом), однако встает вопрос, как правильно организовать обмен пакетами между узлами, применяя протокол TCP/IP 4.

    Для чего был придуман протокол разрешения адресов (ARP)? Для того, чтобы связывать семейство TCP/IP протоколов и других систем адресации. На каждом узле создается таблица соответствия ARP, которая заполняется путем опроса всей сети. Происходит это после каждого выключения компьютера.

    ARP таблица

    Адрес Локальный адрес Тип записи
    172.18.33.79 00E4727F1920 Динамический
    172.18.33.80 00E0F7963920 Статический
    172.18.33.81 7829F77F1920 Динамический

    Так выглядит пример составленной ARP таблицы.

    Команды и утилиты протокола TCP/IP

    Часть 1. Изучить способы применения основных команд и утилит ОС Windows при работе со стеком протокола TCP/IP.

    Краткие теоретические сведения TCP/IP(Transmission Control Protocol / Internet Protocol) является самым популярным сетевым протоколом, служащим основой глобальной сети Интернет. Предлагаемые им средства маршрутизации обеспечивают максимальную гибкость функционирования локальных сетей предприятий. В ОС Windows протокол TCP/IPустанавливается автоматически. В сетях протокола TCP/IPкаждому клиенту должен быть назначен соответствующий IP-адрес, представляющее собой 32-разрядное число, разделенное точками (например, 192.168.1.255). Кроме того, клиенту может потребоваться служба имен или алгоритм разрешения имен. В комплект протокола TCP/IPвходят служебные программы FTP(File Transfer Protocol) и Telnet. FTP— это приложение с текстовым интерфейсом, позволяющее подключаться к FTP— серверам и передавать файлы. Telnetобладает графическим интерфейсом и позволяет входить на удаленный компьютер и выполнять команды так же, как если бы пользователь находился за клавиатурой этого компьютера.

    Служебные программы и утилиты протокола TCP/IPобеспечивают подключение к различным современным сетям. При этом чтобы использовать эти утилиты, на компьютере должна быть установлена поддержка протокола TCP/IP. К числу поддерживаемых протоколом TCP/IPслужебных команд и утилит отно-сятся следующие: Finger, Ping, Ftp, Rcp, Hostname, Rexec, Ipconfig, Route, Lpq, Rsh, Lpr, Tftp, Nbtstat, Tracert, Netstat, Getmac,а также целого ряда команд с приставкой Net [ accounts | computer | config | continue | file | group | help | helpmsg | localgroup | name | pause | print | send | session | share | start | statistics | stop | time | use | user | view ]и другие.Дополнительные сведения о запуске служб TCP\IPиз командной строки находятся в разделе Net start. В настоящей лабораторной работе предполагается ознакомление с основным набором команд протокола TCP/IPи выполнение нескольких учебных заданий с применением командной оболочки.

    Перед началом выполнения практической части в среде ОС Windows необходимо выполнить следующее: 1) загрузить ОС Windows и активировать справочное меню (Пуск | Справка и поддержка); 2) ознакомиться с описанием и синтаксисом ввода командного интерпретатора Cmd.exe; 3) ознакомиться с описанием и синтаксисом ввода приведенных команд и служебных утилит.

    Команды и утилиты протокола TCP/IP

    1) КомандаHostnameявляется одной из основных служебных утилит протокола TCP/IP, которая показывает локально настроенное имя узла TCP/IP(имя узла может отличаться от локально настроенного имени компьютера).

    2) Команда Ipconfig. Эта команда отображает текущие настройки TCP/IP, включая адреса серверов DHCPи DNSимени.

    DHCP(Dynamic Host Configuration Protocol) — протокол динамической конфигурации узлов, обеспечивающий динамическое распределение IP-адресов и других параметров конфигурации между клиентами сети, поддерживает безопасную, надежную и простую конфигурацию сети TCP/IP, препятствует возникновению конфликтов IP-адресов и помогает сохранять использование IP-адресов клиентов. Протокол DHCPиспользует клиент-серверную модель, в которой сервер DHCPосуществляет централизованное управление IP-адресами сети.

    DNS(Domain Name System) — иерархически распределенная база данных, содержащая сопоставления доменных имен, в частности, с IP-адресами сети. DNSпозволяет находить компьютеры и службы по понятным именам, а также просматривать другие сведения из базы данных.

    Ipconfig: Ipconfig[/all] [/renew[адаптер]] [/release[адаптер]] [/flushdns] [/displaydns] [/registerdns] [/showclassidадаптер] [/setclassidадап-тер [код_класса]],

    /all— осуществляет вывод полной конфигурации TCP/IPдля всех адаптеров. Адаптеры представляют собой либо физические интерфейсы (установленные сетевые адаптеры), либо логические интерфейсы удаленного доступа.

    /renew[адаптер] — обновляет конфигурацию DHCPдля всех адаптеров (если он не задан) или для заданного адаптера. Этот параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов.

    /release[адаптер] — отправляет сообщение DHCPRELEASEсерверу DHCPдля освобождения текущей конфигурации DHCPи удаление конфигурации IP-адресов для всех адаптеров (если они не задан) или для заданного адаптера. Адаптер отключает протокол TCP/IPдля адаптеров, настроенных для автоматического получения IP-адресов.

    /displaydns— отображает содержимое кэша сопоставления имен DNS-клиента. Эта информация используется службой DNS-клиента для быстрого сопоставления часто встречаемых имен без обращения к указанным в конфигурации DNS-серверам.

    /registerdns— осуществляет динамическую регистрацию вручную имен DNSи IP-адресов.

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

    /flushdns— очищает содержимое кэша сопоставления имен DNS-клиента.

    /setclassidадаптер [код_класса] — задает код класса DHCPдля указанного адаптера. Как и предыдущий параметр доступен на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов.

    Дополнительная информация по данной команде, а также примеры ее использования доступны в справке ОС Windows XP (Пуск | Справка и поддержка)в соответствующем разделе. Справку также можно получить, набрав в окне командной оболочки строку Ipconfig /?и нажав Enterдля ввода.

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

    3) Команда Arpиспользуется для просмотра, добавления или удаления записей в одной или нескольких таблицах трансляции IP-адресов в физические MAC-адреса сетевых адаптеров, например Ethernet. Эти записи используются при работе протокола ARP(Address Resolution Protocol). Для каждого, установленного в компьютере, сетевого адаптера Ethernet, используется отдельная таблица трансляции IP-адресов.

    Синтаксис команды Arp:

    Arp[-a[инет_адрес] [-Nиф_адрес]] [-g[инет_адрес] [-Nиф_адрес]] [-dинет_адрес [иф_адрес]] [инет_адрес е_адрес [иф_адрес]],

    -a[инет_адрес] [-Nиф_адрес] — выводит таблицу текущего протокола ARPдля всех интерфейсов. Для того чтобы вывести записи ARPдля определенного IP-адреса, необходимо использовать Arp -aс параметром инет_адрес, где инет_адрес — это IP-адрес. Чтобы вывести таблицы кэша ARPдля определенного интерфейса, укажите параметр -Nиф_адрес, где иф_адрес — это назначенный интерфейсу IP-адрес. Параметр -Nвводится с учетом регистра.

    -g[инет_адрес] [-Nиф_адрес] — по функционалу cовпадает с -a.

    -dинет_адрес [иф_адрес] — удаляет запись с определенным IP-адресом, где инет_адрес — это IP-адрес. Чтобы удалить запись таблицы для определенного интерфейса, укажите параметр иф_адрес, где иф_адрес — это IP-адрес, назначенный интерфейсу.

    -sинет_адрес е_адрес [иф_адрес] — осуществляет добавление статической записи, которая сопоставляет IP-адрес инет_адрес с физическим адресом е_адрес, в кэше ARP.

    Дополнительная информация по данной команде, а также примеры ее использования доступны в справке ОС Windows XP (Пуск | Справка и поддержка)в соответствующем разделе. Справку также можно получить, набрав в окне командной оболочки строку Arp -?(или просто Arp) и нажав Enterдля ввода.

    4) Команда Route. Эта команда применяется для редактирования или просмотра таблицы IP-маршрутов из командной строки в том случае, когда нужно отыскать путь к удаленному компьютеру с использованием протокола TCP/IP.

    Синтаксис команды Route:

    Route[-f] [-p] [подкоманда [конечная_точка] [maskмаска_сети] [шлюз] [metricметрика]] [ifинтерфейс]],

    -f— очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0).

    -p— при использовании данного параметра с подкомандой Add(табл. 2.5) указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. При использовании параметра с подкомандой Print(табл. 5) выводит на экран список постоянных маршрутов. Все другие подкоманды игнорируют этот параметр.

    Конечная_точка — определяет конечную точку маршрута. Конечной точ-кой может быть сетевой IP-адрес (где разряды узла имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию.

    Maskмаска_сети — указывает маску сети (подсети) в соответствии с точ-кой назначения. Маска сети может быть маской подсети соответствующей сете-вому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соот-ветствующая маска подсети. Другими словами, значение разряда 1 в адресе ко-нечной точки невозможно, если значение соответствующего разряда в маске под-сети равно 0.

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

    Metricметрика — задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответст-вующего адресу назначения пересылаемого пакета. Выбирается маршрут с наи-меньшей метрикой. Метрика отражает количество переходов, скорость прохож-дения пути, надежность пути, пропускную способность пути и средства админи-стрирования.

    Ifинтерфейс — указывает индекс интерфейса, через который доступна точка назначения.

    Дополнительная информация по данной команде, а также примеры ее ис-пользования доступны в справке ОС Windows XP (Пуск | Справка и поддержка)в соответствующем разделе. Справку также можно получить, набрав в окне ко-мандной оболочки строку Route -?(или просто Route) и нажав Enterдля ввода.

    5) Служебная утилита Pingиспользуется для отправки TCP/IP-пакетов в виде сообщений эхо-запросов протокола ICMPпо IP-адресу и ожиданию эхо-ответов ICMP. Утилита Pingсообщает количество принятых эхо-ответов и интервал времени между отправкой пакета запроса и приемом ответа; она лежит в основе диагностики сетей работающих с протоколом TCP/IP и используется для проверки получения приемником TCP/IP-пакетов. Если с помощью этой команды по сети не удается «достучаться» до определенного компьютера, вероятнее всего, в сети существует разрыв или связь в сети вовсе отсутствует. Например, чтобы опросить станцию с IP-адресом 192.168.1.100, следует набрать Ping192.168.1.100.

    ICMP(Internet Control Message Protocol) это обязательный управляющий протокол в наборе протоколов TCP/IP, сообщающий об ошибках и обеспечивающий связи между узлам сети.

    Синтаксис команды Ping:

    Ping[-t] [-a] [-nсчетчик] [-lразмер] [-f] [-iTTL] [-vтип] [-rсчетчик] [-sсчетчик] [<-jсписок_узлов |-kсписок_узлов>] [-wинтервал] [имя_конечного_компьютера],

    -t— задает для команды Pingотправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите комбинацию клавиш CTRL+BREAK. Для прерывания команды Pingи выхода из нее нажмите клавиши CTRL+C.

    -a— задает разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла.

    -nсчетчик — задает число отправляемых сообщений с эхо-запросом.

    -lразмер — задает в байтах (в диапазоне от 32 до 65527 байт) длину поля данных в отправленных сообщениях с эхо-запросом.

    -f— задает отправку сообщений с эхо-запросом с флагом «Don’t Fragment» в IP-заголовке, установленном в 1. Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения.

    -iTTL — задает значение поля TTL(time-to-live, время жизни) в IP-заголовке для отправляемых сообщений с эхо-запросом. Для узлов ОС Windows XP это значение обычно равно 128.

    -vтип — задает значение поля типа службы в IP-заголовке для отправляемых сообщений с эхо-запросом.

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

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

    -jсписок_узлов — указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. Список узлов это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

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

    -wинтервал — определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке.

    имя_конечного_компьютера — задает точку назначения, идентифицированную IP-адресом или именем узла.

    Дополнительная информация по данной команде, а также примеры ее использования доступны в справке ОС Windows XP (Пуск | Справка и поддержка)в соответствующем разделе. Справку также можно получить, набрав в окне командной оболочки строку Ping -?(или просто Ping) и нажав Enterдля ввода.

    6) Утилита Tracertиспользуется для трассировки маршрута посредством отправки эхо-сообщений протокола ICMPпо определенному IP-адресу, постоянно увеличивая время жизни TTLв поле IP-заголовка. При этом каждый последующий эхо-запрос проходит по сети дальше на один узел (маршрутизатор), уменьшающий значение TTLна единицу до тех пор, пока оно не достигнет нуля, а последний узел (маршрутизатор), направляющий пакет, возвратит ошибку «время закончилось» протокола ICMP.

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

    Одноименная команда Tracertотображает на экране путь, упорядоченный список узлов (маршрутизаторов) на пути прохождения пакетов, в случае ошибки, возвращающие соответствующее сообщение. Путь определяется из анализа сообщений протокола ICMPоб истечении времени, полученных от промежуточных узлов (маршрутизаторов), и эхо-ответов точки назначения. При этом Tracertфиксирует число переходов, которые потребовалось совершить на пути к точке назначения. Однако некоторые узлы (маршрутизаторы) не посылают сообщений об истечении времени для пакетов с нулевыми значениями TTLи, следовательно, не видны для команды Tracert. В этом случае отображается ряд звездочек (*).

    Синтаксис команды Tracert:

    Tracert[-d] [-hмаксимальное_число_переходов] [-jсписок_узлов] [-wинтервал] [имя_конечного_компьютера],

    -d— означает указание не делать поиска DNSимен для каждого IP-адреса. В отчет заносится IP-адрес самого ближнего интерфейса узла (маршрутизатора).

    -hмаксимальное_число_переходов — задает максимальное количество переходов на пути при поиске точки назначения. Максимальное количество переходов по умолчанию равно 30, но может быть изменено при необходимости.

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

    -wинтервал — определяет время ожидания для получения эхо-ответов протокола ICMPили ICMP-сообщений об истечении времени, соответствующих текущему эхо-запросу.

    имя_конечного_компьютера — задает точку назначения, определенную IP-адресом или именем узла.

    Дополнительная информация по данной команде, а также примеры ее использования доступны в справке ОС Windows XP (Пуск | Справка и поддержка)в соответствующем разделе. Справку также можно получить, набрав в окне командной оболочки строку Tracert -?(или Tracert) и нажав Enterдля ввода.

    Понравилась статья? Поделиться с друзьями:
    Все языки программирования для начинающих