русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-09-15; просмотров: 999; Нарушение авторских прав


Иногда требуется выполнить некоторые команды на одном уровне, затем перейти на другой и снова вернуться на предыдущий уровень. Для выполнения таких переходов используются команды pushd и popd . Принцип переключения между контекстами основан на обработке очереди в соответствии с правилом "первым вошел - последним вышел" или first-in-last-out (FILO). Команда 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-сервера Googe в среде 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

 

3.6.Утилита NETSTAT.EXE

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

3.6.1. Синтаксис команды netstat:

 

netstat[-a] [-e] [-n] [-o] [-pProtocol] [-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.

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

Активные подключения

Имя Локальный адрес Внешний адрес Состояние

 

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING

[ httpd.exe]

TCP 0.0.0.0:445 0.0.0.0:0 LISTENING

Не удается получить сведения о владельце

TCP 0.0.0.0:5800 0.0.0.0:0 LISTENING

[WinVNC.exe]

TCP 127.0.0.1:50197 127.0.0.1:50198 ESTABLISHED

[firefox.exe]

UDP 192.168.0.107:1900 *:*

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.

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

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

o netstat -a -b

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

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

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

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

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

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

o netstat -e -v - кроме статистических данных, отображается информация о каждом сетевом адаптере.

o netstat -e -s - дополнительно к статистике Ethernet, отображается статистика для протоколов IP , ICMP , TCP , UDP.

o netstat -s -p tcp udp - получить статистику только по протоколам TCP и UDP.

 



<== предыдущая лекция | следующая лекция ==>
Как сохранить и восстановить сетевую конфигурацию? | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.055 сек.