Работа в командной строке Windows
В современных операционных системах
существует множество команд и утилит. Запомнить такое количество различных
программ, а тем более их параметров
очень сложно, поэтому одним из самых важных параметров для каждой программы
является сочетание символов /?. Выполнив команду с таким параметром,
пользователь получит исчерпывающее сообщение о применении утилиты и синтаксисе
ее параметров.
По своим возможностям консольные программы делятся на:
Ниже собраны основные команды прописываемые в командной строке Windows для выполнения определенной сетевой функции. Пример вида <имя>, практически пишется как имя. Чтобы запустить командную строку необходимо нажать Пуск - Выполнить ввести "cmd" Enter или OK.
Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.
net session /delete - закрывает все сетевые сессии
net user <имя пользователя> /domain- выводит всю информацию о пользователе а домене
netstat -a - получает список всех подключений к компьютеру
net sessions - выводит список текущих пользователей, необходимо иметь права администратора
net send <имя компьютера> "<сообщение>" - посылает сообщение пользователям удалённого компьютера
shutdown \\<имя компьютера> /t:2 /y /c - удалённо выключает компьютер, требуется Resource Kit (Rk)
shutdown \\ <имя компьютера> /r /y /c - удалённо перезагружает компьютер с Windows NT/2000 (Rk)
nbtstat -a <имя компьютера> - удалённо получает имя пользователя работающего на компьютере
nbtstat -A <IP address> - удалённо получает имя пользователя работающего на компьютере по IP- адресу
ipconfig /all - выводит Ethernet адрес сетевой карты
Windows 9x/Me Пуск - Выполнить
winipcfg - выводит информацию о текущих сетевых настройках
Большинство сетевых команд это указание на запуск существующих утилит из папки system32, к примеру telnet.exe. Эти же утилиты запущенные из проводника работать не будут, так как для выполнения функций, заложенных в них разработчиками нужно указать к ним нужные параметры через командную строку.
Что мы делаем чтобы проверить подключение к интернету? Запускаем утилиту ping.
С помощью отправки сообщений с эхо-запросом по протоколу ICMP Ping проверяет
соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP и
фиксирует все полученные пакеты. Самым главным параметром является либо
текстовый адрес узла, либо его ip адрес. Например чтобы запинговать яндекс
можно написать ping www.ya.ru и через несколько секунд выведется статистика
переданных и принятых пакетов и приблизительное время приёма-передачи и процент
потерянных пакетов. Также выведется ip сайта. К ping можно подставить много
дополнительных параметров, таких как число отправляемых сообщений с эхо
запросом (ping www.ya.ru -n число), по умолчанию 4, возможность задать длину в
байтах поля данных в отправленных сообщениях с эхо-запросом (ping www.ya.ru -i
количество байт, по умолчанию - 32 байта, максимальный размер - 65527 байт) и
многие другие. Посылка пакетов превышающих по величине допустимый предел,
посылка испорченных пакетов, посылка большого числа пакетов за короткий
промежуток времени (dos атака) - всё это приводит к зависанию сервера и
невозможности обработки запросов на некоторое время. Вообще ping это отличное
диагностическое средство. Чем меньше время задержки отклика сервера (в
миллисекундах) тем работоспособнее и устойчивее сервер. Ping также производит
оценку качества связи с помощью параметра процент потерь. В идеале, потерь
вообще не должно быть. Потери могут возникать при связи через модем, когда происходят
кратковременные "замирания" канала связи. Также допустимы потери в
несколько процентов при связи с очень удаленными серверами. Потери более 10%
приводят к существенному замедлению работы в Интернет.
Чтобы посмотреть статистику протокола Netbios набираем nbtstat. Вот все
доступные параметры к этой команде:
-a удаленное_имя
Отображение таблицы имен NetBIOS удаленного компьютера, где удаленное_имя является именем NetBIOS удаленного компьютера. Таблица имен NetBIOS является списком имен NetBIOS, соответствующих приложениям NetBIOS, работающим на данном компьютере.
-A IP-адрес
Отображение таблицы имен NetBIOS удаленного компьютера, заданного IP-адресом (десятичные числа, разделенные точками).
-c
Отображение содержимого кэша имен NetBIOS, таблицы имен NetBIOS и их разрешенных IP-адресов.
-n
Отображение таблицы имен NetBIOS локального компьютера. Состояние Зарегистрирован означает, что это имя зарегистрировано на сервере WINS или в качестве широковещательного адреса.
-r
Отображение статистики разрешения имен NetBIOS. На компьютере Windows XP,
настроенном для использования WINS, этот параметр возвращает количество имен,
разрешенных и зарегистрированных для широковещательной рассылки или WINS.
-R
Очистка содержимого кэша имен NetBIOS и перезагрузка записей #PRE из файла Lmhosts.
-RR
Освобождение и обновление имен NetBIOS для локального компьютера, зарегистрированного на серверах WINS.
-s
Отображение сеансов клиента и сервера NetBIOS с попыткой преобразования конечного IP-адреса в имя.
-S
Вывод сведений о работе сервера и клиента NetBIOS; удаленные компьютеры выводятся только по IP-адресам.
Идём дальше. Для просмотра всех активных в данный момент сетевых подключений и
прослушиваемых портов существует утилита netstat. Запущенная без параметров
через командную строку отображает все активные в данный момент подключения по
протоколу Tcp. Параметры:
-a
Выводит все активные подключения по протолу Tcp и список прослушиваемых портов Tcp и Udp.
-e
Вывод статистики Ethernet, например количества отправленных и принятых байтов и пакетов. Этот параметр может комбинироваться с ключом -s.
-n
Вывод активных подключений TCP с отображением адресов и номеров портов в числовом формате без попыток определения имен.
-p протокол
Вывод подключений для протокола, указанного параметром протокол. В этом случае параметр протокол может принимать значения tcp, udp, tcpv6 или udpv6.
-s
Вывод статистики по протоколу. По умолчанию выводится статистика для протоколов TCP, UDP, ICMP и IP. Если установлен протокол IPv6 для Windows XP, отображается статистика для протоколов TCP через IPv6, UDP через IPv6, ICMPv6 и IPv6. Параметр -p может использоваться для указания набора протоколов.
Возможные состояния для подключений.
CLOSE_WAIT Закрывается
CLOSED Закрыто
ESTABLISHED Поддерживается
LISTEN Читается
TIMED_WAIT Превышение времени ответа
Если вас недавно пытались атаковать, то возможно при просмотре статистики
подключений будут видны ошибки.
Команда nslookup - предоставляет сведения, предназначенные для диагностики
инфраструктуры DNS. У неё много параметров, но самый значимый это адрес или ip
узла. Например, при вводе nslookup www.ya.ru выполняется DNS запрос и выводится
ip адрес сервера. Если ввести ip то выводится символьный адрес.
Команда hostname отображает имя вашего компьютера в сети.
Ipconfig с параметром /all - вывод полной конфигурации Tcp/Ip для всех сетевых
адаптеров.
Ну и наконец утилита tracert - определяет путь до точки назначения с помощью
посылки в точку назначения эхо-сообщений по протоколу ICMP. (синтаксис: tracert
адрес_узла).
Команды группы net.
У утилиты net.exe есть несколько полезных параметров. Разберём некоторые из
них.
Net config (параметры: server или workstation) - выводит сведения о службах
сервер и рабочая станция. Данные службы должны быть запущены перед проверкой.
Почти аналогично команде net statistics.
Net start (имя службы) - запускает указанную службу.
Net pause (имя службы) - приостанавливает указанную службу, если в данный
момент она находилась запущенной.
Net continue (имя службы) - возобновляет работу приостановленной службы.
Net file - выводит список всех открытых файлов на сервере.
Net localgroup (параметры: имя_группы /add или /delete) - запущенная без
параметров
выводит все локальные группы на компьютере, такие как Администраторы, Гости, Пользователи, Опытные пользователи и так далее... Также позволяет добавить новую группу или удалить существующую.
Net name (параметры: псевдоним /add /delete) - добавление или удаление сетевого
псевдонима для службы сообщений. Запущенная без параметров выводит текущий.
Net send домен сообщение - отправка сообщений по сети в виде стандартных
уведомлений Windows на нужный домен. Зависит от службы сообщений (Windows
Messanger), у большинства пользователей она отключена из за возможных проблем
безопасности. Параметр /all отправляет сообщение всем доступным компьютерам в
сети. Убрана в Windows Vista.
Net share (параметры: имя ресурса или диск:путь) - расшаривает указанный ресурс
для общего доступа к нему из сети. Можно хоть все диски целиком расшарить, но
по понятным причинам так не делают :) Ключ /delete служит для удаления общего
ресурса. Команда net share запущенная без параметров выводит список всех
расшаренных ресурсов на компьютере.
Net view - вывод списка общедоступных ресурсов, схоже с net share.
Net use - служит для подключения общих ресурсов, таких как например сетевой
файлообменник, расположенный на серваке админа. Общий синтаксис –
net use буква_нового_виртуального_диска сетевой_путь.
Net user - позволяет управлять всеми учётными записями системы. Например, net
user имя_пользователя пароль (/add или /delete). Если запустить net user без
параметров то перед нами появится список абсолютно всех учётных записей. Вы
можете понять что в ваш компьютер проникли если вы увидите какую нибудь
неопознанную и неизвестно как появившуюся учётку с именем типа Hacker. Смело
удаляйте ключом /delete.
Telnet.
Об этой утилите и одноимённой службе следует сказать отдельно. Команды Telnet
служат для управления удалённым компьютером через командную строку, работает
только при запущенной службе telnet у себя и на компьютере к которому требуется
подключится, по умолчанию висит на 23 порту. Набираем telnet и попадаем в
другое окно cmd.exe с приглашением Microsoft Telnet.
Команды:
open адрес_узла порт(если не указать то по умолчанию выбирается 23) - открываем
подключение.
close - закрываем подключение.
quit - выходим из telnet.
display - отобразить параметры (считываются из реестра).
unset - вернуть все параметры по умолчанию.
help - справка.
Когда мы открываем подключение к нужному узлу нам выводится окно с предложением
авторизироваться. Чтобы управлять удалённым компьютером через командную строку
нужно знать имя и пароль пользователя, который является администратором в
удалённой системе. Существуют серьёзные ограничения и настройки, которые можно
изменить в реестре {HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/TelnetServer/].
Например, запрещено подключение с пустым паролем. Как же порулить командной
строкой чужого компа? Жертва должна запустить у себя троянца написанного на
bat, создающего нового пользователя в группе Администраторы, а потом уже
успешно подключаться. Как это сделать подробно написано в справке к команде net
user. Всё равно telnet является потенциально опасным средством удалённого
администрирования, поэтому если вы её не используйте лучше отключите насовсем.
Команды мониторинга и диагностики
Для выявления неполадок в аппаратной части и проблем с программным обеспечением
предназначены команды мониторинга, такие как systeminfo и tasklist. Эти утилиты
впервые появились только в операционной среде Windows Server 2003,
поэтому администраторы еще не в полной мере оценили функциональные возможности
этих команд. Так, например, теперь не надо залезать в закладку «Свойства»
иконки «Мой компьютер» — команда systeminfo напечатает на экране консоли основную
информацию обо всех компонентах системы с полной расшифровкой. Параметр /s
выведет информацию о любом удаленном компьютере. Например, для выяснения
конфигурации компьютера TESTSERVER необходимо выполнить следующую команду:
systeminfo /s TESTSERVER
А утилита tasklist покажет процессы, запущенные на вашем компьютере.
Утилита tasklist позволяет опрашивать системы, соединенные в сеть. Параметр /v
дает возможность получать подробные листинги с полезной информацией, в том
числе и об именах пользователей, а параметр /т показывает процессы, загрузившие
конкретный dll-файл. Другая полезная утилита — openfiles — позволяет получить
информацию обо всех открытых файлах локальной и удаленной операционной системы.
В прежних версиях операционных систем Windows приходилось
использовать команду oh.exe, в современных версиях достаточно выполнить в
командной строке консоли команду, которая устанавливает режим мониторинга для
всех открытых файлов системы:
openfiles /local on
Пользователь получит информацию обо всех открытых файлах системы, используя
команду с простым синтаксисом:
Openfiles
Команда openfiles с параметрами /query /v показывает, какие пользователи
запустили процессы, открывшие файлы. С помощью других параметров-ключей можно
задать различный режим вывода информации.
Список недокументированных команд Windows
rundll32 user,exitwindows |
Завершение работы Windows |
rundll32 user,wnetconnectdialog |
Вызвать окно "Подключение сетевого диска" |
rundll32 user,wnetdisconnectdialog |
Вызвать окно "Отключение сетевого диска" |
rundll32 user,disableoemlayer |
Спровоцировать сбой |
rundll32 user,repaintscreen |
Обновить (как F5) |
rundll32 user,setcursorpos |
Курсор мыши переместить в левый верхний угол |
rundll32 diskcopy,DiskCopyRunDll |
Окно "Copy Disk" вызвать |
rundll32 rnaui.dll,RnaWizard /1 |
Диалог "Установка Связи" вызвать (/1 = без окна) |
rundll32 shell,shellexecute Explorer |
Окно открыть в корневом каталоге |
rundll32 shell32,OpenAs_RunDLL |
Окно "Открыть с помощью..." вызвать*** |
rundll32 shell32,SHFormatDrive |
Окно "Форматирование: Диск3,5(А)" вызвать |
rundll32 shell32,ShellAboutA |
Info-Box (о Windows) вызвать |
rundll32 shell32,SHExitWindowsEx 0 |
Windows 98 перезагрузить (без autoexec.bat и др.) |
rundll32 shell32,SHExitWindowsEx 1 |
Работу с Windows 98 закончить |
rundll32 shell32,SHExitWindowsEx 2 |
Windows-98-PC boot |
rundll32 shell32,SHExitWindowsEx -1 |
Windows-98-Explorer перезагрузить |
rundll32 shell32,Control_RunDLL |
Открыть окно "Панель управления" |
rundll32 shell32,Control_RunDLL desk.cpl |
Открыть "Свойства Экрана" |
rundll32 shell32,Control_RunDLL main.cpl @ |
Открыть Modul-Панели управления из MAIN.CPL ** |
rundll32 krnl386.exe,exitkernel |
выход из Windows без любых сообщений/вопросов |
rundll32 user,swapmousebutton |
"Переставить" клавиши мыши * |
rundll32 keyboard,disable |
"Отключить" клавиатуру * |
rundll32 mouse,disable |
"Отключить" мышь * |
rundll rnaui.dll,RnaDial "провайдер" |
Вызвать окно "Установка связи" с именем "провайдер" |
rundll32 user,tilechildwindows |
переместить все не свёрнутые окна сверху вниз |
rundll32 user,cascadechildwindows |
переместить все не свёрнутые окна каскадом |
rundll32 sysdm.cpl,InstallDevice_Rundll |
установить non-Plug&Play оборудование |
rundll32 msprint2.dll,RUNDLL_PrintTestPage |
выбрать в появившемся меню принтер и послать на него текст |
rundll32 user,setcaretblinktime <n> |
установить новую частоту мигания <n> курсора * |
rundll32 user, setdoubleclicktime <n> |
установить новую скорость <n> двойного нажатия * |
rundll32 setupx.dll,InstallHinfSection DefaultInstall 130; C:\file.inf |
окно "Перезапуск системы. Произвести её сейчас ? · Да/нет ·" **** |
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.