Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #94, ОКТЯБРЬ 2006 г.

Скрытый потенциал UNIX

Евгений Зобнин ака j1m

Хакер, номер #094, стр. 094-110-1

(j1m@list.ru)

Инструментарий хакера и программиста в повседневной жизни юниксоида

Помнишь изречение «UNIX придумали хакеры»? Самое интересное заключается в том, что это выражения всего тремя словами описывает сущность всей операционной системы. Первое его значение говорит нам, что культура UNIX и хакерская культура всегда были тесно связаны. Второе, что UNIX - это операционная система, наиболее полно впитавшая в себя черты хакерского инструментария. Об этих особенностях UNIX-подобных ОС мы сегодня и поговорим.

Дни, когда мужчины были мужчинами...

Если углубиться в историю UNIX, то можно заметить один интересный факт. На каждой из эволюционных ступеней развития главным стимулом к разработке ОС был энтузиазм. Кен Томпсон, реализовавший первый UNIX, был просто одержим своей ОС, молодые ребята из института Беркли испытывали большой интерес к разработке AT&T и с удовольствием изучали и дорабатывали операционную систему, Линус Торвальдс объяснял причины создания Linux коротким словосочетанием Just for fun («Во имя удовольствия»), стимулом к созданию FreeBSD послужили все те же симпатии к UNIX и возможность получить удовольствие от ее совершенствования.

UNIX всегда была операционной системой «для своих». Таким людям не нужны красивые интерфейсы и простые установщики, для них важен полный контроль над операционной системой и программным обеспечением, возможность отладки, трассировки, простота доработки и модификации ОС. Позиционирование UNIX, как операционной системы для хакеров и программистов, привело к тому, что функциональность, необходимая для их комфортной жизни, стала неотъемлемой частью ОС.

Рассмотрим пример с FreeBSD. Стандартная поставка этой ОС (без дополнительного программного обеспечения, установленного через порты) включает в себя все, что только может понадобиться программисту, исследователю или хакеру:

1. Исходные тексты всей операционной системы;

2.Справочное руководство по всем системным вызовам (второй раздел man-страниц) и ядру (девятый раздел).

3. Руководство по архитектуре ядра (arch-handbook);

4. Встроенный отладчик ядра;

5. Виртуальная файловая система procfs, предоставляющая возможность получить информацию обо всех процессах, их адресах в памяти, загруженных библиотеках;

6. Комплект из компилятора, отладчика, ассемблера, дизассемблера;

7. Системные вызовы ktrace(2) и ptrace(2) для трассировки процессов;

8. Снифер /usr/sbin/tcpdump для отладки и исследования сетевых протоколов;

Покажите мне еще одну не UNIX-систему, обладающую таким солидным набором инструментария в стандартной поставке. И это далеко не полный перечень, а если принять во внимание еще и программы из портов, то совсем мизерный.

По мере того как UNIX наступал на серверы и рабочие столы, администраторы и пользователи начали применять этот инструментарий в целях, далеких от программирования и исследования. Примером этого может служить хотя бы тот факт, что для установки программного обеспечения (пресловутая система портов) все BSD-системы и некоторые Linux-дистрибутивы используют инструментарий, изначально созданный для программистов.

Содержание  Вперед на стр. 094-110-2
ttfb: 3.2680034637451 ms