Утилита NBTSTAT .
Команда NBTSTAT позволяет получить статистику протокола
NetBIOS over TCP/IP (NetBT), таблицу имен локальных и удаленных компьютеров и содержимое кэш NetBIOS имен. Применение NBTSTAT позволяет принудительно обновить кэш NetBIOS-имен компьютеров и имена, зарегистрированные с помощью серверов Windows Internet Name Service (WINS).
Синтаксис:
nbtstat[-aRemoteName] [-AIPAddress] [-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
Утилита сетевой оболочки 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
Чтобы получить справку по команде, введите эту команду,
затем пробел и "?"
Для примера, нужно получить справку в контексте работы с конфигурацией беспроводной сети 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
Иногда требуется выполнить некоторые команды на одном уровне, перейти на другой, и снова вернуться на предыдущий. Для выполнения таких переходов используются команды 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.
Кроме сохранения и восстановления настроек использование команды 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
Утилита netstat.exe присутствует во всех версиях Windows, однако, существуют некоторые отличия используемых параметров командной строки и результатов ее выполнения, в зависимости от операционной системы. Используется для отображения TCP и UDP -соединений, слушаемых портов, таблицы маршрутизации, статистических данных для различных протоколов.
Синтаксис:
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.
Примеры использования :
netstat -a -b
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
Более подробное описание команды netstat с примерами
http://ab57.ru/cmdlist.html