Archive for the ‘Linux’ Category

И снова Linux. Говорящий будильник.

Posted on Июль 22nd, 2009 in Linux | No Comments »

Так как основная проблема новичков под Linux состоит в том, что они спрашивают, как копать, а им отвечают, куда копать, я в качестве небольшого примера привожу практическую задачу пробуждения нас любимых после полуночных бдений за консолью =) Будить нас будет наш собственный лаптоп под управлением OS GNU/Linux.

С чего начать? Наверное с того, с чего начинался любой будильник – с срабатывания в точно назначеное время =)

Самый простой путь:


at -f /home/netf0x/ring.sh 7:07

Где:

cat /home/netf0x/ring.sh
mplayer /home/netf0x/ring.mp3

Как видим, все просто. Лишь бы демон atd работал и мы точно проснемся. Проверяется просто:

sudo root@fox:~# /etc/init.d/atd status
 * atd is running 

Но пойдем дальше:


root@fox:/tmp/ring# cat alarm
#!/bin/sh
amixer sset PCM 95% > /dev/null
VOL=0
START_VOL=50
STEP_VOL=10
SLEEP_VOL=120
ALARM_ACTION=/home/dimka/bin/alarm_action #Поменять на свой путь к файлу alarm_action
setvolume() { amixer sset Master $1% > /dev/null}
VOL=$START_VOL
setvolume $START_VOL
while [ 1 == 1 ]; do
$ALARM_ACTION
let VOL=VOL+STEP_VOL
setvolume $VOL
sleep $SLEEP_VOL

Этот скрипт делает следующее: Плавно прибавляет громкость и через скрипт (будет ниже) alarm_action выдает звук.

alarm_action:


root@fox:/tmp/ring# cat alarm_action
#!/bin/sh
play -q /home/dimka/snd/untie.wav > /dev/null & 2>1
DATE=`date | awk '{print($4)}' | sed s/:/" часов "/ | sed s/:/" минут "/ | awk '{print($1" "$2" "$3" "$4)}' `
/home/dimka/bin/fest "доброе утро, уже $DATE" #/home/dimka/bin/ - поменять на свой путь к файлу скрипта fest

Этот скрипт, посредством festival читает про доброе утро. Festival вызывается скриптом со звучным названием fest


#cat fest
#!/bin/sh
echo "(voice_msu_ru_nsh_clunits)(SayText \"$1\")(quit)" > /tmp/test
festival_client /tmp/test

Ну и теперь давайте все же заставим работать этот скрипт в назначеное время =)
В файл /etc/crontab добавляются следующие строки (а если у вас нет прав root просто наберите crontab -e и правьте правила только для себя)


45 7	* * 3	dimka	alarm
45 8	* * 1-2,4-5	dimka	alarm

Естественно user dimka надо поменять на имя вашего юзера ну а строки 45(минуты), 7(часы), 3(среда), 1-2(понедельник-вторник), 4-5(четверг-пятница)

Архив со скриптами прикладываю. Успехов в пробуждении!

Скрипты

Поиск дубликатов файлов.

Posted on Июль 15th, 2009 in FreeBSD, Linux | No Comments »

Сначала хотел написать скрипт. На ум пришла идея использования md5sum или openssl для получения хешей файлов и их сравнения. Но лень потянула в гугл. Оказывается есть и достаточно неплохое решение – fdupes

Например можно вот так:

root@fox:~# fdupes -r /home/netf0x/Desktop/ -d
[1] /home/netf0x/Desktop/Temp/Penetration Test_files/marktree.js
[2] /home/netf0x/Desktop/Temp/report template_files/marktree.js
Set 1 of 4, preserve files [1 - 2, all]:

А если указать параметр -N (–noprompt) то и спрашивать не будет сохраняя только ту версию что под номером 1.

Шифрование дисков в Debian Linux

Posted on Май 17th, 2009 in Linux, Инструмент аудитора, Нестандартности | 4 Comments »

В последнее время начал активно использовать на служебном ноутбуке Linux Debian 5 версии. Удобно и поэкспериментировать иногда, и для работы достаточно хорошо подходит – Gnome, Office 2007 запускается под wine, jdk для Cisco ASDM, VMWare Workstation и много другого необходимого софта.

Так как ноутбук вещь такая что украсть ее не так сложно как настольный ПК, озаботился я шифрованием жесткого диска, так как куча приватной информации хранится на ноутбуке – приватные ключи для доступа к корпоративной сети, служебная переписка, личная переписка и мало ли еще какой приватной информации которую очень не хотелось бы отдавать в чужие руки. Приступим.

Шаг 1.
Для начала необходимо установить ПО для обеспечения возможности шифрования:

apt-get install cryptsetup
apt-get install mdadm
apt-get install lvm2

В ядре должна быть включена поддержка LVM – в ядре из дистрибутива дело обстоит именно так.
Моя таблица разделов выглядит так:
/dev/sda1 * 1 26 204800 7 HPFS/NTFS
/dev/sda2 26 10077 80737678+ 83 Linux
/dev/sda3 10078 19457 75344850 83 Linux
Read the rest of this entry »

Быстрое погружение в debian chroot

Posted on Май 13th, 2009 in Linux | 1 Comment »

Моя Система:
Debian squeeze/sid

Подготовка к созданию chroot-окружения:

mkdir -p /jails/test/
apt-get install debootstrap

Для создания минимального окружения chroot будем использовать debootstrap.
Формат команды следующий:
# /usr/sbin/debootstrap –arch ARCH lenny /where/debinst http://ftp.us.debian.org/debian

Замените ARCH на один из следующих вариантов в команде запуска debootstrap: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 или sparc. У меня i386, поэтому я ставлю его.
lenny – дистрибутив который используем. Ну и адрес, откуда берем. Полный список зеркал Debian находится здесь – http://www.debian.org/mirror/list

В итоге у меня получилась следующая команда:
/usr/sbin/debootstrap --arch i386 lenny /jails/test/ http://mirror.yandex.ru/debian/
Некоторое время будет происходить установка базовой системы..
Смотрим – а там целая система.
rootfox:/jails/test# ls
bin boot dev etc home lib media mnt opt proc root sbin selinux srv sys tmp usr var

Монтируем необходимые виртуальные файловые системы если необходимо (пригодятся для использования например таких вещей как top в chroot):
mount -t proc proc /jails/test/proc
mount -t devpts devpts /jails/test/dev/pts
mount -t sysfs sysfs /jails/test/sys

Можно сразу добавить в fstab, что бы при следующих перезагрузках не ввводить эти команды вручную:
echo "proc /jails/test/proc proc defaults 0 0" >> /etc/fstab
echo "devpts /jails/test/dev/pts devpts defaults 0 0" >> /etc/fstab
echo "sysfs /jails/test/sys sysfs defaults 0 0" >> /etc/fstab

Устанавливаем нужный софт, locales – чтобы по русски date работала
chroot /jails/test/ aptitude install nano vim-full mc locales binutils ssh

Настраиваем локаль
chroot /jails/test/ dpkg-reconfigure locales

Все, теперь можно войти в этот chroot, например так:
chroot /jails/test /bin/bash

Можно установить какие-то программы, поэкспериментировать без риска нанести ущерб основной системе.
Если требуется что бы в chroot-окружении при старте системы запускался какой-то демон, например ssh, необходимо внести изменения в /etc/rc.local, например такие:
chroot /jails/test /etc/init.d/ssh start

Подключение к web-камере через Mplayer

Posted on Май 1st, 2009 in Linux, Нестандартности | 2 Comments »

1. Убеждаемся что в ядре включена поддержка WEB камеры и v4l2, что web-камера работает.

2. Ставим из репозитариев Mplayer и mencoder.

3.Тестируем:
mplayer tv:// -tv driver=v4l2:width=352:height=288:device=/dev/video0

4. Пишем видео:
mencoder tv:// -tv driver=v4l2:width=:height=:device=/dev/video0 -nosound -ovc lavc -o VideoFile.avi

5. Смотрим man mencoder, удивляемся количеству опций и изучаем.

VMWare в Linux – проблема с клавиатурой

Posted on Апрель 2nd, 2009 in Linux, Виртуальные машины, Нестандартности | No Comments »

Столкнулся после установки VMWare на дистрибутиве Fedora 10 с проблемой – в гостевых машинах клавиатура работала совсем не так как надо. Нажимал кнопку Up – срабатывало как Alt+F2 и тому подобные неприятные вещи.
Проблема решилась добавлением в /etc/vmware/config строчки:
xkeymap.nokeycodeMap = true
или эту же строчку можно добавить в ~/.vmware/config

Успехов!

Linux 2.6.29 и VMWare 6.5.1 – проблема модулей

Posted on Апрель 1st, 2009 in Linux, Виртуальные машины, Нестандартности | 1 Comment »

После установки свежего ядра Linux 2.6.29 перестала заводиться VMWare – все падало на этапе сборки модулей. Немного погуглив проблема была решена:

Качаем неофициальный патч: http://rootfox.com/downloads/vmware-modules-2.6.29.patch

Кладем его в /usr/lib/vmware/modules/source/

Там же распаковываем все присутствующие tar-архивы.

Применяем патч: “patch -p1 -i vmware-modules-2.6.29.patch

Запаковываем все, что бы выглядело как было:

tar -cf vmblock.tar vmblock-only/

tar -cf vmci.tar vmci-only/

tar -cf vmmon.tar vmmon-only/

tar -cf vmnet.tar vmnet-only/

tar -cf vsock.tar vsock-only/

tar -cf vmppuser.tar vmppuser-only/

Несколько удобств с tar и ssh

Posted on Март 16th, 2009 in Linux, Нестандартности | 1 Comment »

Резервируем:
1) С локального на удаленный хост:
tar zcvf - /etc | ssh user@server "cat > /backup.tgz"
2) С удаленного на локальный:
ssh user@host "tar zcvf - /etc" > etc.tgz
Восстанавливаем:
1) Локально c удаленного архива:
ssh user@host "cat etc.tgz" | tar zxvf -
2)Удаленно с локального архива:
cat etc.tgz | ssh user@host "tar xzvf -"

Дальнейшие вариации я думаю можно без труда додумать.

А еще можно исполнять удаленные X приложения  То есть приложения под иксы.

rootfox:~# ssh -X netf0x@сервер
netf0x:~$ gimp

и запустится удаленное окно GIMP под нашими иксами.

Разбираем награбленое

Posted on Март 8th, 2009 in Linux, Инструмент аудитора, Нестандартности | No Comments »

Утилита chaosreader позволяет выделить данные из лога формата tcpdump (tcpdump, Wireshark, Kismet и др).

Например, можно сохранить переданные по FTP файлы, картинки запрошенные по HTTP, сообщения электронной почты переданные по SMTP, ключи переданные в SSH сессии.

В комплект входит утилита replay, позволяющая вторично проиграть сценарий перехваченного telnet, rlogin, IRC, X11 или VNC сеансов.

pcapsipdump – выделение из потока SIP и RTP данных для последующего прослушивания, каждая SIP сессия сохраняется в отдельный файл.

smbsniff – позволяет сохранять переданные по SMB/CIFS протоколу файлы, присутствующие в перехваченном трафике;

Tcpreplay – набор утилит для повторного инициирования сессий
на основе перехваченного трафика.

Amilo Mini and Zenwalk Linux

Posted on Март 1st, 2009 in Linux, Мобильности, Нестандартности | No Comments »

“Это даже не статья – а набросок, который может указать true way к построению системы ‘своей мечты’ на данной модели ноутбука. Естественно данный материал будет пополняться интересностями про дистрибутив zenwalk и использование Linux на нетбуке”

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

Так сложилось, что в своей ежедневной деятельности моим основным рабочим инструментом, вне офиса, стал нетбук (netbook) от Fujitsu-Siemens Amilo Mini UI3520. Нетбук из коробки поставлялся с предустановленой ОС Windows XP Home SP3 что меня естественно не устроило по ряду причин, обсуждение которых выходит за рамки данного повествования.

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

Оставался последний вариант, который в дальнейшем меня полностью устроил – Linux. Я перепробовал несколько дистрибутивов – Feodora 10, Debian, Ubuntu но ни один из них не давал из коробки то что мне хотелось – производительность, поддержку железа из-коробки. Можно было конечно подточить “напильником” , но конфигурационные скрипты данных дистрибутивов оттолкнули меня своей витиеватостью, многочисленностью и избыточностью. Хотелось простоты и понимания, принципов KISS (Keep it simple, stupid). Зачем мне это, в 2009 году? Затем что нормальной системы под современные нетбуки еще не выпустили, и использование любой так или иначе не оправдано расходует ресурсы и заряд батареи, которой много не бывает. Вторым критерием стал вид моей деятельности.

Read the rest of this entry »