Использование переменных в командных файлах.
Стр 1 из 2Следующая ⇒ АЭРОКОСМИЧЕСКИЙ КОЛЛЕДЖ
Практическая работа № 1
Преподаватель Пятков Антон Геннадьевич Дисциплина Основы информационной безопасности Красноярск Практическая работа № 1 «Взаимодействие с ИС через консоль»
Цель: получить навыки взаимодействия с ОС Windows через консоль (командная строка, процесс «cmd.exe»). Изучить ряд команд для работы с ОС Windows, их синтаксис, набор параметров и ключей. Научиться писать исполняемые файлы для консоли (бат-файлы).
Теоретическая часть Командная строка Windows – отдельная утилита, которая входит в состав ОС и обеспечивает взаимосвязь между пользователем и ОС. С её помощью можно выполнять команды MS-DOS и другие команды в ОС Windows. Основное преимущество командной строки состоит в том, что она позволяет вводить все команды без участия графического интерфейса. Командная строка запускается в своей оболочке и предназначена для более опытных пользователей. Помогает в таких сложных ситуациях, когда другие команды уже не работают. Например, через командную строку вводят команды в случае заражения вирусами или «сбоя» системных файлов, а так же восстановление Windows. Адрес программы: {буква_системного_диска}:\WINDOWS\system32\cmd.exe. Для запуска можно запустить консоль из набора стандартных программ или использовать горячие клавиши: «Win+R» + ввести «cmd». Команды для консоли можно написать виде батников (скриптов, сценариев) и запускать их по необходимости. Такие батники – это обычные текстовые файлы с расширением.bat или.cmd. Строки таких файлов представляют собой специальные команды командного процессора (интерпретатора команд) и/или имена исполняемых файлов. Командный процессор – это специальная программа, являющаяся обязательным элементом почти любой ОС. Главным назначением командного процессора является предоставление пользователю средства для выполнения определенных программ без их компиляции и создания исполняемых файлов. Для ОС DOS и Windows9X в качестве интерпретатора команд использовался командный процессор command.com, для всех остальных ОС семейства Windows (NT/2000/XP/Vista/7/8/10 и старше) это cmd.exe. Несмотря на непрерывное совершенствование средств создания и выполнения сценариев с использованием объектно-ориентированных языков, командная строка и простые командные файлы остаются по-прежнему основным инструментом для выполнения рутинных действий, диагностики сетевых проблем, автоматизации процессов резервного копирования и т.п.
Возможный список большинства консольных команд можно получить введя команду «HELP». Справочную информацию по конкретной команде можно получить, указав её название в качестве параметра команды HELP: «HELP Имя команды». Для вывода справки не на экран можно использовать команды перенаправления «>» для вывода и «<» для ввода, так, например, вывод в файл с именем help.txt, можно реализовать через следующую команду: «HELP > help.txt», файл сохранится в текущем каталоге, содержимое файла – результат вывода команды HELP. Если файл help.txt существовал на момент выполнения команды, его содержимое будет перезаписано. Чтобы данные дописать в конец существующего файла, используют удвоение символа перенаправления вывода «>>». При запуске командного процессора можно указать конкретную команду в качестве аргумента командной строки: «cmd.exe /C HELP ATTRIB» - выполнить команду HELP ATTRIB и завершиться (ключ /C). Подробную справку по использованию ключей cmd.exe можно получить, введя «cmd.exe /?». Может иметь место проблема с кодировкой при выводе из файла, для вывода русского текста перед выводом нужно выполнить следующую команда: «chcp 1251».
Кроме символов перенаправления ввода-вывода в командной строке могут использоваться символы объединения команд & (амперсанд) и | (вертикальная черта). Команда1 & команда2 – выполняется 1 команда, затем 2 команда. && – условное выполнение 2 команды. Она будет выполнена, если код завершения (или код возврата) 1 команды равен 0, т.е. команда выполнена успешно. Успешность выполнения команды определяется значением специальной переменной среды ERRORLEVEL. Команда1 && команда2 – выполняется команда1, а команда2 выполняется, только если 1 была выполнена успешно. || – условное выполнение 2 команды. Если первая команда завершилась с кодом возврата не равным нулю (неуспешно), то выполняется команда, следующая за двойной вертикальной чертой. Команда1 || команда2 – если команда1 выполнена неуспешно, то запускается на выполнение команда2. Кроме всего, в файловой системе NTFS была добавлена поддержка альтернативных потоков данных (AltDS) для совместимости с файловой системой HFS от Macintosh, которая использовала поток ресурсов для хранения иконок и другой информации о файле. Использование AltDS не позволяет пользователю обычными средствами получить доступ к информации. Проводник и другие приложения работают со стандартным потоком и не могут читать данные из альтернативных. С помощью AltDS можно обмениваться данными, которые не будут обнаружены стандартными проверками системы. Чтобы создать AltDS, нужно создать базовый файл, к которому будем прикреплять наши потоки, команда: «C:\>echo Fat rabbit eats my charm >sample.txt». Записав базовым стандартным потоком ввода данные в файл, можем прочитать их. Если же мы воспользуемся двоеточием в качестве оператора, чтоб указать на то, что будем использовать AltDS, то текст запишется в альтернативный поток: «C:\\>echo You can't see me but I want you>sample.txt:secret.txt». Для просмотра содержимого можно использовать команды: «C:\ more < sample.txt:secret.txt» или «C:\ notepad sample.txt:secret.txt». Если все работает хорошо, то выведется текст: «You can't see me but I want you», а при открытии из проводника данный текст не виден. Также AltDS можно прикрепить не только к файлу, но и к папке. Для этого создадим папку и прицепим к ней какой-нибудь текст: «C:\>md stuff», «C:\>cd stuff», «C:\stuff>echo Hide stuff in stuff>:hide.txt», «C:\stuff>dir», «C:\stuff>notepad:hide.txt». Приложения через AltDS так же легко внедрять, как и тестовые файлы. Для начала снова создадим базовый файл: «C:\WINDOWS>echo Test>test.txt», далее поместим наше приложение в поток: «C:\WINDOWS>type notepad.exe>test.txt:note.exe», теперь убедимся что в нашем файле все также текст: «C:\WINDOWS>type test.txt». Затем запустим наше приложение: «C:\WINDOWS>start.\test.txt:note.exe». Существует также набор утилит для работы с AltDS.
Использование переменных в командных файлах. Существует такое понятие, как переменные окружения (environments) – это переменные, значения которых характеризуют среду, в которой выполняются команда. Принимаемые значения этих переменных формируются при загрузке, регистрации пользователя в системе, старте или завершении некоторых приложений, и, кроме того, могут быть заданы с помощью специальной команды SET. Например, командная строка SET today=Monday создает переменную today, принимающую значение Monday. Значение, присвоенное какой-либо переменной, доступно для обработки в командных файлах, при использовании её имени, заключенного в знаки процента %. Например команда выдачи текста на дисплей ECHO в виде: «ECHO today» выведет на экран слово «today», а команда «ECHO %today% выведет на экран значение переменной today. С помощью команды SET обычно задается и модифицируется путь поиска исполняемых программ - переменная окружения PATH. «SET PATH=C:\Windows;C:\windows\system32» после выполнения данной команды, поиск исполняемых файлов будет выполняться в каталоге C:\Windows, и, если результат неуспешен, в C:\windows\system32. Команда «SET PATH=C:\NewProgs;%path%» изменит текущее значение PATH, добавив найденный каталог в начало списка. Выполнение команды SET без параметров позволяет получить текущие значения переменных окружения. Динамические переменные: %CD% – Принимает значение строки текущего каталога. %DATE% – Принимает значение текущей даты. %TIME% – Принимает значение текущего времени. %RANDOM% – Принимает значение случайного десятичного числа в диапазоне 1 -32767. %ERRORLEVEL% – Принимает текущее значение кода завершения задачи ERRORLEVEL %CMDEXTVERSION% – Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд. %CMDCMDLINE% – Принимает значение строки, которая вызвала командный процессор. Для просмотра действующего значения переменной используется команда: «ECHO %переменная%».
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|