Especially with the option to install Server Core in Server 2008 and above, connecting to Windows servers over a CLI
is increasingly useful ability, if not one that’s very widespread amongst Windows administrators.
Practically every Windows GUI
management tool has an option to connect to a remote computer, but there is no such option present in the built-in Windows CLI
(cmd.exe
), which gives the initial impression that this might not be possible.
Is it possible to remotely management or administer a Windows Server using a CLI? And if so, what options are there to achieve this?
asked Sep 18, 2012 at 11:11
HopelessN00bHopelessN00b
53.6k32 gold badges134 silver badges208 bronze badges
There are several fairly easy options available for remotely managing a remote Windows Server using a command line, including a few native options.
Native Options:
- WinRS/WinRM
- Windows Remote Shell/Management tool is the easiest way to remotely manage a remote Windows server in a command line utility, and as with most Windows command line utilities, ss64 has a good page on its options and syntax.
- Although not explicitly stated in the Microsoft documentation, this can be used to launch a remote instance of
cmd.exe
, which creates an interactive command line on the remote system, rather than as command line option to execute a single command on a remote server.- As with:
winrs -r:myserver.mydomain.tld cmd
- As with:
- This is also the natively-supported option that will probably be most familiar to administrators of other systems (*nix,
BSD
, etc.) that are primarilyCLI
-based.
- PowerShell
- Hopefully
PowerShell
needs no introduction, and can be used to manage remote computers from aCLI
usingWMI
(Windows Management Instrumentation). - PowerShell remoting allows the execution of Powershell scripts and commands on remote computers.
- There are a number of good resources on using
WMI
+PowerShell
for remote management, such as The Scripting Guy’s blog, the MSDN WMI Reference and ss64.com, which has an index of PowerShell 2.0 commands.
- Hopefully
- Remote Desktop
- Probably not exactly the first thing to come to mind as a Window
CLI
option, but of course, usingmstsc.exe
to connect to a server over Remote Desktop Protocl (RDP
) does enable the use of a command line on the remote server. - Connecting to a Server Core installation over
RDP
, is actually possible and will give the same interface as connecting to the console — an instance ofcmd.exe
.- This may be somewhat counter-intuitive, as Server Core lacks a desktop, or the other normal Windows shell options, but there’s a quick article over at petri.co.il about how to manage Server Core over
RDP
, should one be so inclined.
- This may be somewhat counter-intuitive, as Server Core lacks a desktop, or the other normal Windows shell options, but there’s a quick article over at petri.co.il about how to manage Server Core over
- Probably not exactly the first thing to come to mind as a Window
Popular, Non-Native Options:
Even though Windows now provides a few native options for accessing a remote sever over aCLI
, this was not always the case, and as a result, a number of fairly popular 3rd party solutions were created. The three most notable are below.
-
Install SSH on your Windows Server
- If you just must have
SSH
, that’s an option too, and there’s a guide on social.technet for how to install OpenSSH on Server 2008. - Probably most useful for administrators of other systems (*nix,
BSD
, etc.) that make heavy use ofSSH
for this purpose, though there are advantages to even Windows-only administrators for having a single terminal emulator client (like PuTTY) store a number of target computers and customized (or standardized) settings for each.
- If you just must have
-
PSExec
- The original option for executing remote commands on a Windows box through the Windows
CLI
, this is part of the excellent SysInternals suite. One of the very few «must have» packages for Windows admins, the SysInternals tools were so widely respected and used that SyInternals was bought out by Microsoft, and the tools are now somewhat officially supported by Microsoft. - Just as with
WinRS
/RM
,PSExec
can be used to issue single commands to a remote server, or to launch an interactive instance ofcmd.exe
on a remote computer.- As with:
psexec \myserver.mydomain.tld cmd
- As with:
- As with the other options, there are steps one must take first to ensure PSExec is actually able to connect to the target machine.
- The original option for executing remote commands on a Windows box through the Windows
-
Add a utilities folder to the server and store its value in the %PATH% system variable
- As has been noted in the comments there are many a good SysInternals program that can be executed on the command line and targeted at a remote system, and this is true of more than just SysInternals.
- Basically, package up a bundle of your favorite Windows utilities into a folder you push to all your servers and add that folder to the
%PATH%
environmental variable of your systems. Both are easily done throughGPO
.- (I include the SysInternals Suite, PuTTY, WinDirStat and a bunch of custom scripts I find myself reusing) into a folder that gets pushed to all my servers
- Obviously, this is useful for more than just managing Windows systems via
CLI
, but I find it so useful I think it’s worth including anyway.
answered Sep 18, 2012 at 11:11
HopelessN00bHopelessN00b
53.6k32 gold badges134 silver badges208 bronze badges
8
Just for the sake of completeness: although it might not be the best solution for various reasons, every Windows system supports the Telnet service, which can be enabled from the features list.
Microsoft’s telnet implementation also supports NTLM authentication, thus, unlike standard telnet to a Unix system, no clear-text password is sent on the network when using it.
answered Mar 31, 2014 at 13:09
2
Самым основным способом, как можно соединиться и управлять удаленным веб-сервером является командная строка (консоль). О том, что это такое я писал здесь.
Конечно, есть некоторые графические интерфейсы, которые позволяют управлять веб-сервером, такие как (ISPManager или C-panel), но количество действий и настроек системы, которые вы можете произвести с помощью этих интерфейсов очень ограниченно.
По настоящему и полноценно управлять удаленным веб-сервером можно только через командную строку. Именно поэтому очень важно освоить работу с этим инструментом как можно скорее.
Задача этой статьи показать вам те способы, как вы можете соединиться с командной строкой на удаленном веб-сервере.
Для того, чтобы работать с командной строкой на удаленном компьютере, существует специальный протокол передачи данных, который называется SSH (Secure Shell — «безопасная оболочка»).
Соединившись по этому протоколу с удаленным компьютером вы сможете управлять им через командную строку.
Это соединение можно выполнить с помощью 2 основных способов.
Способ 1. Использовать специальную программу, которая называется SSH-клиент.
Для разных операционных систем написаны специальные программы, которые называются SSH-клиенты. С их помощью можно соединиться с удаленным сервером (с его командной строкой) по протоколу SSH.
Вот некоторые из таких программ:
Для Windows:
Putty, WinSCP и др.
Для Mac OS:
vSSH, ZOC и др.
Найти эти программы можно без труда с помощью поиска в Интернете.
Способ 2. Воспользоваться командной строкой на вашем компьютере.
Этот способ хорош тем, что не требует от вас какого-либо дополнительного программного обеспечения. Соединиться с удаленным сервером можно напрямую от одной командной строки к другой.
Я могу расписать как я это делаю на Mac OS, в остальных системах, наверняка есть способ сделать что-то подобное.
Итак, запускаем терминал и пишем там команду:
ssh имя_пользователя@имя_хоста
Например,
ssh root@95.132.34.151
Вас попросят ввести пароль для пользователя на сервере и если все правильно, вы соединитесь с удаленной командной строкой и сможете управлять сервером.
Очень удобно, быстро и не требует дополнительного ПО.
Выбирайте тот способ, который для вас более удобен и управляйте удаленным веб-сервером.
Больше уроков по работе с командной строкой здесь.
Приветствую. Иногда возникают задачи когда нужно что-либо сделать на удаленном компьютере, при этом либо нет возможности подключиться по RDP, например, если вдруг сервер сильно загружен, и ему не хватит ресурсов для запуска терминальной сессии (да да, у меня такое встречалось, не сказать что часто, но бывало ). Либо из командной строки задачу сделать быстрее. Ну или еще как вариант, если нужно что то сделать скрытно, в том случае если пользователь в момент когда это нужно сделать работает за компьютером. Пользователям Linux с этим гораздо проще, у них есть ssh. Но и в Windows есть возможность подключаться, с позволения сказать, в командную строку.
В общем и целом на помощь к нам приходят утилиты SysInternals, а именно — pstools, а еще конкретнее — psexec из этого набора утилит. Скачать это добро можно здесь.
После того как скачали, нужно эти утилиты разархивировать куда-нибудь. Я обычно на диске C: создаю папку ps, что бы удобнее было добираться до утилит. Установки они не требуют. Для того что бы подключиться к удаленному компьютеру в командной строке набираем:
c:psPsExec.exe \192.168.1.114 -u domainuser -p password cmd
За место cmd можно например запустить какой-нибудь батник или другую команду.
Видео по теме:
9 6
Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.
Если вам помогла статья, вы можете >>отблагодарить автора<<
Утилита PATHPING.EXE
Команда 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 сек. . . .
Исходный узел Маршрутный узел
Прыжок RTT Утер./Отпр. % Утер./Отпр. % Адрес
1 1мс 0/ 100 = 0% 0/ 100 = 0% 192.168.1.1
0/ 100 = 0% |
2 5мс 0/ 100 = 0% 0/ 100 = 0% 180.84.250.11
0/ 100 = 0% |
3 11мс 0/ 100 = 0% 3/ 100 = 3% 180.84.250.53
8/ 100 = 8% |
4 4мс 0/ 100 = 0% 0/ 100 = 0% 80.184.112.25
0/ 100 = 0% |
5 8мс 0/ 100 = 0% 0/ 100 = 0% msk-ix-m9.yandex.net [193.232.244.93]
0/ 100 = 0% |
6 12мс 0/ 100 = 0% 0/ 100 = 0% l3-s900-dante.yandex.net [213.180.213.70]
0/ 100 = 0% |
7 5мс 0/ 100 = 0% 0/ 100 = 0% s600-s900.yandex.net [213.180.213.54]
0/ 100 = 0% |
8 2мс 0/ 100 = 0% 0/ 100 = 0% yandex.ru [77.88.21.11]
В приведенном примере красным цветом выделен проблемный участок маршрута к конечному узлу с потерей 8% пакетов.
При интерпретации результатов выполнения pathping нужно учитывать тот факт, что некоторые маршрутизаторы могут быть настроены на блокировку icmp-трафика, что не позволяет правильно отработать трассировку, и получить по ним статистические данные.
Утилита PING.EXE
PING.EXE — это, наверно, наиболее часто используемая сетевая утилита командной строки. Существует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.
Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.
Формат командной строки:
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 .
Утилита ROUTE.EXE
Утилита 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 (раздел HKLMSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes ) и будет использоваться постоянно при активации сетевых интерфейсов.
команда — козможно использование команд 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
На заре развития сети Интернет, сервис 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
Не смотря на появление утилиты PATHPIG, классическая утилита трассировки маршрута до заданного узла TRACERT , по-прежнему остается наиболее часто используемым инструментом сетевой диагностики. Утилита позволяет получить цепочку узлов, через которые проходит IP-пакет, адресованный конечному узлу. В основе трассировки заложен метод анализа ответов при последоательной отправке ICMP-пакетов на указанный адрес с увеличивающимся на 1 полем TTL. («Время жизни» —
Time To Live). На самом деле это поле не имеет отношения к времени, а является счетчиком числа возможных переходов при передаче маршрутизируемого пакета.
Каждый маршрутизатор, получив пакет, вычитает из этого поля 1 и проверяет
значение счетчика TTL. Если значение стало равным нулю, такой пакет
отбрасывается и отправителю посылается ICMP-сообщение о превышении времени
жизни («Time Exceeded» — значение 11 в заголовке ICMP). Если бы не было предусмотрено включение поля TTL в IP пакеты, то при ошибках в маршрутах, могда бы возникнуть ситуация, когда пакет будет вечно циркулировать в сети, пересылаемый маршрутизаторами по кругу.
При выполнении команды tracert.exe сначала выполняется отправка ICMP пакета с полем TTL равным 1 и первый в цепочке маршрутизатор (обычно это основной шлюз из настроек сетевого подключения) вычтя единицу из TTL получает его нулевое значение и сообщает о превышении времени жизни. Эта последовательность повторяется трижды,
поэтому в строке результата, формируемой tracert.exe, после номера перехода
отображаются три значения времени отклика:
1 1 ms <1 <1 192.168.1.1
1 — номер перехода (1 — первый маршрутизатор)
1 ms <1 <1 — время его ответа для 3-х попыток (1ms и 2 ответа менее чем 1 ms)
192.168.1.1 — его адрес (или имя)
Затем процедура повторяется, но
TTL устанавливается равным 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 <1 <1 192.168.1.1
2 498 ms 444 ms 302 ms ppp83-237-220-1.pppoe.mtu-net.ru [83.237.220.1]
3 * * * .
4 282 ms * * a197-crs-1-be1-53.msk.stream-internet.net [212.188.1.113]
5 518 ms 344 ms 382 ms ss-crs-1-be5.msk.stream-internet.net [195.34.59.105]
6 462 ms 440 ms 335 ms m9-cr01-po3.msk.stream-internet.net [195.34.53.85]
7 323 ms 389 ms 339 ms bor-cr01-po4.spb.stream-internet.net [195.34.53.126]
8 475 ms 302 ms 420 ms anc-cr01-po3.ff.stream-internet.net [195.34.53.102]
9 334 ms 408 ms 348 ms 74.125.50.57
10 451 ms 368 ms 524 ms 209.85.255.178
11 329 ms 542 ms 451 ms 209.85.250.140
12 616 ms 480 ms 645 ms 209.85.248.81
13 656 ms 549 ms 422 ms 216.239.43.192
14 378 ms 560 ms 534 ms 216.239.43.113
15 511 ms 566 ms 546 ms 209.85.251.9
16 543 ms 682 ms 523 ms 72.14.232.213
17 468 ms 557 ms 486 ms 209.85.253.141
18 593 ms 589 ms 575 ms yx-in-f100.google.com [74.125.45.100]
Трассировка завершена.
В результатах трассировки могут присутствовать строки, где вместо адреса
узла отображается звездочка (узел номер 3 в примере). Это не обязательно является признаком неисправности маршрутизатора, и чаще всего, говорит о том, что настройки данного узла запрещают ICMP-протокол из соображений безопасности или уменьшения нагрузки на канал . Подобные же настройки используются в сетях корпорации Microsoft . Для проверки, попробуйте выполнить трассировку маршрута к узлу microsoft.com .
Примеры практического использования сетевых утилит командной строки.
Одним из последствий вирусного заражения довольно часто является блокировка доступа к сайтам антивирусных компаний, поисковым системам, популярным социальным сетям (Vkontakte, Odnoklassniki, Facebook, Twitter и т.п.). Подобный же прием используется для кражи учетных данных пользователей путем перенаправления на вредоносный сайт, адрес которого берется из зараженного файла hosts.
Порядок преобразования доменных имен в IP-адреса следующий:
— проверяется наличие данных об имени в кэш службы разрешения имен (процедура определения IP по имени уже выполнялась, и в памяти есть актуальные результаты). Если запись есть, то будут использованы ее данные.
— проверяется наличие записи об имени и адресе в файле hosts. Если запись есть, то будут использованы ее данные.
— для разрешения доменного имени в IP-адрес выполняется запрос к серверу DNS, заданному в настройках сетевого подключения.
Файл hosts при настройках по умолчанию, находится в каталоге Windowssystem32driversetc и обычно содержит строки, начинающиеся с символа # , являющиеся комментариями, и одну запись для определения имени узла петлевого интерфейса:
127.0.0.1 localhost
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 (открыть порт) можно с использованием контекста 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 ?
В контексте правил для брандмауэра:
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 синтаксис правил стал немного сложнее, но и возможности брандмауэра значительно расширились.
Краткий список возможных параметров правил :
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=<строка SDDL>]
[rmtusrgrp=<строка SDDL>]
[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:programfilesqipqip.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 filesmessengermsmsgs.exe»
security=authenticate action=allow
Добавление правила обхода брандмауэра с проверкой подлинности для
группы acmedomainscanners, определяемой строкой SDDL:
netsh advfirewall firewall add rule name=»allow scanners»
dir=in rmtcomputergrp=<строка SDDL> 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»
Настройками по умолчанию, в режиме повышенной безопасности брандмауэр Windows 7 блокирует все входящие подключения, не соответствующие ни одному правилу и разрешает исходящие.
В операционной системе 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 [ssid=]<идентификатор_SSID> [key=]<парольная_фраза> [keyUsage=]persistent|temporary — задать параметры размещённой сети.
ssid — идентификатор SSID сети, другими словами — имя беспроводной сети;
key — ключ безопасности, используемый в данной сети, т.е. парольная фраза, используемая при подключении клиентов к виртуальной точке доступа. Ключ должен
быть строкой символов ASCII длиной от 8 до 63 знаков.
keyUsage — указывает, является ключ безопасности постоянным или временным. По умолчанию, ключ является постоянным ( persistent ) и используется при каждом включении размещенной сети.
Примеры: set hostednetwork mode=allow set hostednetwork ssid=ssid1 set hostednetwork key=passphrase keyUsage=persistent set hostednetwork mode=allow ssid=MyWiFi key=MyPassWord
Или — одной командной строкой:
netsh wlan set hostednetwork mode=allow ssid=MyWiFi key=MyPassWord — создать виртуальную точку доступа 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.
Ниже приведено содержимое командного файла, который позволяет собрать список беспроводных сетей, включая имя, уровень сигнала, BSSID. Информация записывается в файл wlans.txt каталога временных файлов и открывается для просмотра с помощью редактора wordpad
chcp 1251 netsh wlan show networks mode=bssid > %TEMP%wlans.txt start "LIST" "%ProgramFiles%Windows NTAccessorieswordpad.exe" %TEMP%wlans.txt
В дополнение к данной статье :
Примеры использования некоторых сетевых утилит командной строки для поиска причины отсутствия доступа в Интернет
Методика поиска
и устранения причины отсутствия доступа к конкретному сайту, или
группе сайтов.
http://ab57.ru/netcmd.html