Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК
- Название:ТЕХНИКА СЕТЕВЫХ АТАК
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Крис Касперский - ТЕХНИКА СЕТЕВЫХ АТАК краткое содержание
ТЕХНИКА СЕТЕВЫХ АТАК - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В UNIX (в отличие от MS-DOS) нет стандартной командной оболочки, поэтому первая задача пользователя - выяснить, что именно установлено в системе, и какие альтернативные оболочки доступны.
Путь к используемой в данный момент оболочке содержится в переменной $SHELL и вывести его на экран можно с помощью команды “echo $SHELL” (соблюдая регистр). Результат ее работы может быть следующим:
· Эмулятор UWIN
· echo $SHELL
· /usr/bin/ksh
· Эмулятор CYGWIN
· echo $SHELL
· /bin/sh
Теперь по таблице 3 легко определить, какая именно оболочка запущена (конечно, при условии, что никакие злые духи не изменили имя исполняемого файла).
– Имя файла Название оболочки
– bash Усовершенствованная оболочка Борна
– csh Оболочка С
– ksh Оболочка Корна
– sh Оболочка Борна
– tcsh Оболочка TC
Пару слов об особенностях каждой оболочки. Первой на свет появилась оболочка Борна, фактически представляющая собой язык программирования, ориентированный на управление процессами, вводом-выводом и операции шаблонного поиска. Никакого интерактивного взаимодействия с пользователем в ней не предусматривалось, и вся работа сводилась к написанию управляющих программ - скриптов, обрабатываемых оболочкой.
Первая интерактивная оболочка, получившая название «С», возникла в университете Беркли. Она быстро завоевала популярность, но имела множество недостатков и содержала кучу ошибок, поэтому полностью вытеснить оболочку Борна так и не смогла. Проблема же совместного сосуществования заключалась в полной несовместимости командных языков обоих оболочек. Это приводило к невозможности выполнения скриптов, написанных для одной оболочки, другой оболочкой.
К тому же открытость исходных текстов “С” вызвала появление массы несовместимых между собой клонов. Некоторые из них дожили и до наших дней (как, например, “TC”,- своеобразный гибрид “С” и “TENEX” - операционной системы PDP-10).
Существовали и коммерческие оболочки. Из них наибольшей популярностью пользовалось творение, созданное Дэвидом Корном, объединившее в себе лучшие черты своих предшественников. Компании AT amp;T распространяла ее вместе с операционной системой System V, объявив стандартном де-юре.
Стандарт - хорошо, но платить компании никто не хотел, и вскоре оболочка Борна была полностью переписана в рамках проекта GNU, получив название bash - Borne Again Shell . Многочисленные усовершенствования и перенос в среду LINUX сделали bash самой популярной оболочкой всех времен и народов, хотя многие до сих пор предпочитают пользоваться C-Shell или оригинальной оболочкой Борна. К тому же, по-прежнему не иссякает поток энтузиастов, пишущих свои собственные оболочки.
Во многих случаях различия между оболочками не столь существенны и не отражаются на простейших операциях, но все примеры, приводимые в книге, предназначены для оболочки Корна и их успешное выполнение в других оболочках не гарантируется (хотя и предполагается). Поэтому, полезно знать, какие оболочки установлены администратором на машине. В этом поможет команда “cat /etc/shells”, результат работы которой на свежеустановленном эмуляторе UWIN выглядит следующим образом:
· cat /etc/shells
· /usr/bin/ksh
· /usr/bin/sh
· /usr/bin/tcsh
· /usr/bin/csh
· /bin/sh
· /bin/ksh
· /bin/csh
· /bin/tcsh
Запустить любую оболочку можно, набрав ее имя (возможно, вместе с полным путем), в командной строке. А вернуться назад обычно помогает команда exit. В качестве тренировочного упражнения полезно запустить все доступные оболочки по очереди. (Чаще всего пути ”/usr/bin” и “/bin” указывают на один и тот же каталог, поэтому эквивалентны друг другу).
· $ echo $SHELL
· /usr/bin/ksh
· $ /usr/bin/sh
· # echo $SHELL
· /usr/bin/ksh
· # exit
· $ /usr/bin/tcsh
· # echo $SHELL
· /usr/bin/ksh
· # exit
· $ /usr/bin/csh
· %echo $SHELL
· /usr/bin/ksh
· %exit
Для просмотра содержимого директорий в командном интерпретаторе “command.com” (MS-DOS) предусмотрена встроенная команда “dir”, но UNIX-оболочки не поддерживают такой команды. Вместо этого пользователю предоставляется возможность вызвать внешнюю утилиту, выполняющую всю необходимую работу. Обычно в UNIX для отображения содержимого каталога используется программа ‘ls’, находящаяся в каталоге “/bin”. Кстати, пользователи CYGWIN прежде чем смогут ей воспользоваться, должны скачать с сервера архив fileutils.tar.gz - в минимальный комплект поставки она не входит.
Вызов без параметров выводит на экран содержимое текущего каталога, а заглянуть в корень поможет наклонная черта - “ls /” [91]
· ls /
· A E proc
· base.bat etc reg
· baseserviceslink.sh F sys
· bin H tmp
· C home usr
· D lib var
· dev linka win
Узнать, что находится в каталоге “/etc” можно передав его имя в качестве параметра команде ‘ls’:
· $ ls /etc
· crontab inetdconfig.sh passwd.add traceit
· in.ftpd init.exe priv.exe tracer.exe
· in.rlogind login.allow profile ucs.exe
· in.rshd login.deny rc ums.exe
· in.telnetd mailx.rc services
· inetd.conf mkpasswd.exe shells
· inetd.exe passwd stop_uwin
Конечно же, поддерживаются символы-джокеры, - знаки «звездочка» и «вопрос». В UNIX, в отличие от MS-DOS, существует конструкция [char set], которую имеет смысл рассмотреть подробнее. Но для начала нелишне вспомнить назначение “*” и “?”. Знак “*” обозначает любое множество любых символов (включая пустое), а “?” всего один непустой символ. Поэтому, “ls x*” выведет на экран все файлы (и каталоги), начинающиеся с буквы ‘x’, а “ls?tmp”- покажет ‘_tmp’,’$tmp’ и так далее.
Конечно же, временами гибкости таких шаблонов оказывается недостаточно, например, как быть, когда требуется получить список файлов, начинающихся и на букву ‘i’, и на букву ‘p’? В MS-DOS с этим пришлось бы управляться в два захода, последовательно отдавая команды ‘dir i*’ и ‘dir p*’. К счастью, в UNIX с той же проблемой можно управиться за один присест! Например, так:
· $ ls /etc/[ip]*
· /etc/in.ftpd /etc/inetd.conf /etc/passwd
· /etc/in.rlogind /etc/inetd.exe /etc/passwd.add
· /etc/in.rshd /etc/inetdconfig.sh /etc/priv.exe
· /etc/in.telnetd /etc/init.exe /etc/profile
А как быть, если необходимо отобразить все файлы, в имени которых присутствует хотя бы одна цифра? Неужели придется писать утомительно длительную последовательность ‘ls *[0123456789]*’ [92]? К счастью нет! И необходимый интервал можно задать следующим образом: ‘[0-9]’, например, вот так:
· $ls /etc/*[0-9]*
· /etc/k1y /etc/mkss2old /etc/track7
Если такой информации окажется недостаточно и потребуется узнать, скажем, права доступа к файлу, имя владельца и время последнего изменения, то придется воспользоваться ключом ‘-l’ (маленькая латинская буква L, не спутайте с единицей). Например, так:
· ls -l /etc
· -rwxr-r- 1 root Everyone 46 Feb 16 1999 crontab
· -rwxr-r- 1 root Everyone 19968 Feb 17 1999 mkpasswd.exe
· drwxr-r- 2 root Everyone 512 Jul 2 16:52 mydir
· -rwxr-r- 1 root Everyone 119 Jul 1 12:45 passwd
· lrwxr-r- 1 root Everyone 20 Jun 4 03:10 services -» /C/WINDOWS//services
· -rwxr-r- 1 root Everyone 88 Feb 17 1999 shells
· -rwxr-r- 1 root Everyone 73216 Feb 2 07:25 ums.exe
Читать дальшеИнтервал:
Закладка: