Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование переменных в командных файлах.




АЭРОКОСМИЧЕСКИЙ КОЛЛЕДЖ

 

 

Практическая работа № 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...