#!/bin/bash
function set_normal {
xrandr -o normal
xsetwacom set cursor Rotate none
xsetwacom set touch Rotate none
xsetwacom set eraser Rotate none
orientation="normal"
}
function set_right {
xrandr -o right
xsetwacom set cursor Rotate cw
xsetwacom set touch Rotate cw
xsetwacom set eraser Rotate cw
orientation="right"
}
function set_left {
xrandr -o left
xsetwacom set cursor Rotate ccw
xsetwacom set touch Rotate ccw
xsetwacom set eraser Rotate ccw
orientation="left"
}
function set_inverted {
xrandr -o inverted
xsetwacom set cursor Rotate half
xsetwacom set touch Rotate half
xsetwacom set eraser Rotate half
orientation="inverted"
}
orientation="$(xrandr --query --verbose | grep 'LVDS1 connected' | awk '{print $5}')"
if [ "$orientation" = "normal" ]; then
set_right
elif [ "$orientation" = "right" ]; then
set_inverted
elif [ "$orientation" = "inverted" ]; then
set_left
elif [ "$orientation" = "left" ]; then
set_normal
fi
2010/07/19
Скрипт для изменения ориентации экрана (Lenovo Thinkpad X200t)
Забинден у меня на кнопочку, меняет ориентацию экрана (а также стилуса и тачскрина) по часовой стрелке при каждом нажатии. По идее должен подходить ко всем планшетным ноутам. Единственное, что может потребоваться изменить - это имена устройств, которые можно узнать командой xsetwacom --list dev.
Использование wpa_supplicant
Очередным шагом в сторону стремления к минимуму энергии стал отказ от всяких богомерзких Network Manager'ов. Мало того, что они жрут оперативку и глючат, так ещё и занимают место в системном трее! Безобразие. Так что wpa_supplicant. Как бы не показалось по названию, эта утилита может работать с сетями не только WPA, но и всеми остальными (беспроводными, разумеется).
В ней есть конфиг /etc/wpa_supplicant.conf в котором по умолчанию много буков, поэтому его можно смело удалить. Сразу приведу пример конфига, по которому всё станет ясно:
Видно, что конфиг состоит из блоков network, в которых собственно описываются параметры сетей, к которым wpa_supplicant будет пытаться подключаться. В примере приведены параметры сетей для статического WEP, WPA1/2 PSK и открытой сети. Параметр priority явно задает приоритет подключения, хотя он и так рассчитывается (на основании секурности и силы сигнала, что не всегда устраивает). Параметр psk - закодированный пароль, его (а точнее весь блок network) можно получить командой wpa_passphrase. Ну и запуск всего этого дела происходит командой:
В ней есть конфиг /etc/wpa_supplicant.conf в котором по умолчанию много буков, поэтому его можно смело удалить. Сразу приведу пример конфига, по которому всё станет ясно:
network={
ssid="AP1"
priority=10
key_mgmt=NONE
wep_key0=355D3671207E37DC11E9D371E3
}
network={
ssid="AP2"
priority=5
psk=b20a16a0622753f26c6660cdde815131cc11dcf5b8d46d8c1c3dd003bbe7c791
}
network={
ssid="AP3"
priority=1
key_mgmt=NONE
}Видно, что конфиг состоит из блоков network, в которых собственно описываются параметры сетей, к которым wpa_supplicant будет пытаться подключаться. В примере приведены параметры сетей для статического WEP, WPA1/2 PSK и открытой сети. Параметр priority явно задает приоритет подключения, хотя он и так рассчитывается (на основании секурности и силы сигнала, что не всегда устраивает). Параметр psk - закодированный пароль, его (а точнее весь блок network) можно получить командой wpa_passphrase. Ну и запуск всего этого дела происходит командой:
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.confСтоит отметить, что происходит только ассоциация с точной доступа, IP адрес всё еще нужно получить с помощью dhcpd или dhclient. Лучше это делать не сразу же после запуска wpa_supplicant, а через некоторое время (секунд 3-5), т.к. ассоциация происходит не мгновенно.
Инвертирование цветов в X
Казалось бы, достаточно простая операция - инвертировать цвета на экране, однако далеко не все представляют, как это можно сделать средствами иксов. В основном, советовали ставить композитный оконный менеджер, но т.к. я упоротый фанат OpenBox, то это меня не устраивало. Даже в тех менеджерах, которые можно ставить отдельно от WM, т.е. в использовать вместе с ним (такие как cairo-compmgr и xcompmgr) не обладали подобной функцией. И тут я было приуныл, как решил спросить у истинного адепта линукса, наставившего меня на путь инстинный, и, да!
xcalib -invert -alterПовесил команду на хоткей и радуюсь.
Рипаем dvd с помощью ffmpeg
Не так давно для меня процесс создания рипа двд диска был весьма темным знанием, известным лишь релизерам на рутрекер.орг. Однако всё оказалось очень даже просто (по крайней мере в линуксе):
В каждом конкретном случае битрейт видео, разумеется, надо подбирать отдельно (если нет никаких ограничений по объему): чем более динамично видео, тем больше должен быть битрейт, по идее, для сохранения комфортной картинки. Для этого можно варьировать цифру после параметра -b и делать некий сэмпл рипа, несколько десятков секунд, просто завершить ffmpeg в процессе его работы и посмотреть что получилось.
Если исходников было несколько, то склеить их в один файл можно так:
ffmpeg -i VTS_01_1.VOB -f avi -vcodec mpeg4 -b 1500k -g 300 -bf 2 -acodec libmp3lame -ab 128k video.aviЭто типичная команда для рипа двд диска, которую можно после долгих поисков найти в мане к утилите. Фактически, два самых значительных параметра в этой команде - битрейты видео и аудио, в данном случае равные 1500k и 128k.
В каждом конкретном случае битрейт видео, разумеется, надо подбирать отдельно (если нет никаких ограничений по объему): чем более динамично видео, тем больше должен быть битрейт, по идее, для сохранения комфортной картинки. Для этого можно варьировать цифру после параметра -b и делать некий сэмпл рипа, несколько десятков секунд, просто завершить ffmpeg в процессе его работы и посмотреть что получилось.
Если исходников было несколько, то склеить их в один файл можно так:
mencoder -oac copy -ovc copy part1.avi part2.avi -o video.avi
2010/05/06
Определение транскодов в Linux - 2
В прошлой заметке я рассказывал, как определять транскоды с помощью программы Audacity. Но сейчас я внезапно обнаружил, что существует линуксовая версия широко известной в узких кругах утилиты auCDtect, гуишной надстройкой под которую является Audiochecker.
Поставляется она в виде бинарника, да и ещё сразу не хочет запускаться, выдавая ошибку:
Поставляется она в виде бинарника, да и ещё сразу не хочет запускаться, выдавая ошибку:
$ ./auCDtectНужная ему допотопная библиотека находится в соответствующем пакете (для Дебиана). Неприятно, что проверяет он только WAV файлы, поэтому лосося сперва нужно конвертировать туда, для FLAC, например, командой
./auCDtect: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
$ flac -d <файлы>Вот и сказке конец, ну вы поняли.
2010/04/29
fuzzdb
Интересная разработка, включающая в себя шаблоны атак (как кстати по-русски слово payload устоялось-таки?), имен файлов, логинов, паролей и сообщений об ошибках, возникающих при той или иной атаке. Весьма впечатляющий объем данных там уже есть и постоянно пополняется, как я вижу.
Можно использовать с уже имеющимися фаззерами, при написании собственных или просто освежить в памяти при ручном тестировании. :)
fuzzdb
Можно использовать с уже имеющимися фаззерами, при написании собственных или просто освежить в памяти при ручном тестировании. :)
fuzzdb
2010/03/30
PenTBox - набор утилит для пентеста
Недавно вышла в свет финальная версия. Утилиты написаны на Ruby, так что собирать-компилять ничего не нужно. Интерес представляют фаззеры HTTP и FTP, ну а так в основном унылость. Разве что использовать в образовательных целях.
- Cryptography tools
PenTBox 1.3.2
____ _____ ____
| _ \ ___ _ _|_ _| __ ) _____ __
| |_) / _ \ '_ \| | | _ \ / _ \ \/ /
| __/ __/ | | | | | |_) | (_) > <
|_| \___|_| |_|_| |____/ \___/_/\_\
Our little Box, your Security Suite.- Cryptography tools
Base64 Encoder & Decoder- Network tools
Multi-Digest (MD5, SHA1, SHA256, SHA384, SHA512)
Hash Password Cracker (MD5, SHA1, SHA256, SHA384, SHA512)
Secure Password Generator
Files en/decryptor Rijndael (AES) 256 bits – GOST – ARC4
TCP Flood DoSer- Extra
TCP Flood AutoDoSer
Spoofed SYN Flood DoSer [nmap - hping3]
Port scanner
Honeypot
PenTBox Secure Instant Messaging
Fuzzer
L33t Sp3@k Converterpentbox.net
2010/03/23
skipfish - сканер безопасности web-приложений от Google
На днях компания Google представила свой open source инструмент для аудита безопасности web-приложений, наподобие широко известного nikto. Однако разработчик заявляет ряд преимуществ перед имеющимися решениями, среди них:
Итак, приступим же наконец к сканированию! Типичная команда сканирования выглядит следующим образом:
Поддержка cookie, HTTP аутентификации и прочих плюшек имеется в полном объеме. Все настройки можно глянуть по команде:
- высокая скорость работы (~500 запросов в секунду через Интернет, ~2000 - через локальную сеть)
- простота использования
- хорошо продуманные тест-кейсы (весь список проверяемых уязвимостей доступен в README к программе)
# apt-get install libssl-devВ случае успеха в папке появится исполняемый файл skipfish, собственно то, что нам нужно. В папке dictionaries находятся словари, которые могут использоваться при составлении карты сайта. Словари включают в себя расширения и ключевые слова. Чем больше словарь, тем более глубокий фаззинг сайта будет проведен. Словарь по умолчанию должен называться skipfish.wl и находиться в одной папке с исполняемым файлом: нужно перенести и переименовать нужный словарь из соотвествующей папки.
$ tar -xzfp skipfish-1.13b.tgz
$ cd skipfish/
$ make
Итак, приступим же наконец к сканированию! Типичная команда сканирования выглядит следующим образом:
$ ./skipfish -MEU -o ./example http://www.example.com/Здесь "-MEU" - опции для создания отчета, чтобы всё было хорошо, "./example" - имя папки в которую будет писаться отчет, а "http://www.example.com/", как несложно догадаться, адрес сайта.
Поддержка cookie, HTTP аутентификации и прочих плюшек имеется в полном объеме. Все настройки можно глянуть по команде:
$ ./skipfish -hДоставила динамическая консольная статистика и детализированный отчет, поражающий мозг обыденного пользователя nikto. По количеству найденных уязвимостей, на первый взгляд (на основе сканирования одного сайта), оставляет позади nikto последней версии. Респект и уважуха в общем.
2010/03/13
Lenovo X200t & Debian Squeeze: wi-fi и сенсорный экран
В связи с недавним переходом на Debian Squeeze запосчу несколько заметок по допиливанию функциональности моего ноутбука в этой среде.
Практически всё оборудование подхватилось из коробки при условии выбора инсталляционного пункта "Laptop" при установке.
1. Wi-fi
Имеем:
2. Сенсорный экран
Для настройки экрана понадобится остановить X сервер, сгенерировать xorg.conf и подгрузить модуль ядра wacom, который уже установлен в системе:
Практически всё оборудование подхватилось из коробки при условии выбора инсталляционного пункта "Laptop" при установке.
1. Wi-fi
Имеем:
$ lspci | grep -i wirelessПрошивка для этого компонента небесплатна, поэтому придется подключить non-free компоненты основного репозитория в /etc/apt/sourses.list. В итоге в списке должна присутствовать строчка вида:
03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
deb http://mirror.yandex.ru/debian/ squeeze main contrib non-freeДалее обновляем список пакетов
# apt-get updateИ устанавливаем пакеты
# apt-get install firmware-iwlwifi wireless-toolsПодгружаем модуль ядра, если таковой не был подгружен автоматически
# modprobe iwlagnРадуемся
# ifconfig wlan0 up
2. Сенсорный экран
Для настройки экрана понадобится остановить X сервер, сгенерировать xorg.conf и подгрузить модуль ядра wacom, который уже установлен в системе:
# modprobe wacomА потом отредактировать его, добавив следующие секции:
# /etc/init.d/kdm stop
# /etc/init.d/gdm stop
# /etc/init.d/xdm stop
# cd /etc/X11/
# Xorg -configure
Section "InputDevice"А также добавив в секцию ServerLayout следующие строки:
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/ttyS0"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4"
Option "Mode" "Absolute"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/ttyS0"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/ttyS0"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "touch"
Option "Device" "/dev/ttyS0"
Option "Type" "touch"
Option "ForceDevice" "ISDV4"
EndSection
InputDevice "cursor" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "touch" "SendCoreEvents"
2010/03/12
Чтиво
Предлагаю ознакомиться со списком статей по питону, которые мне показались весьма интересными (навеяно просмотром питоньей rss ленты Хабра):
Изучаем Python за 10 минут (eng рус)
Написание Qt приложений на языке Python (рус)
Python best practices (eng)
Шпаргалка по Питону (eng)
Python: советы, уловки, хаки (eng рус)
Скрипты Python против Bash (рус)
Немного про py2exe (рус)
Основы работы с потоками в языке Python (рус)
Сила и красота декораторов, метапрограммирование (рус)
Memoization в Python, оптимизация работы программ (рус)
Специфика циклов в Питоне (рус)
Изучаем Python за 10 минут (eng рус)
Написание Qt приложений на языке Python (рус)
Python best practices (eng)
Шпаргалка по Питону (eng)
Python: советы, уловки, хаки (eng рус)
Скрипты Python против Bash (рус)
Немного про py2exe (рус)
Основы работы с потоками в языке Python (рус)
Сила и красота декораторов, метапрограммирование (рус)
Memoization в Python, оптимизация работы программ (рус)
Специфика циклов в Питоне (рус)
Subscribe to:
Posts (Atom)