27 авг. 2011 г.

Установка Freenet в Linux

FreeNET

http://ru.wikipedia.org/wiki/Freenet

FreeNET - анонимная одноранговая сеть, предназначенная для децентрализованного распределённого хранения данных. Позволяет анонимно обмениваться файлами, посещать спец сайты этой сети по зашифрованному каналу

Недостатки:
  • Очень медленная скорость работы
  • Все реализовано на Java и прожорливо

FreeNET написан на языке Java (J2SE) и является кроссплаформенным.
Рекомендуется установить оригинальную версию java, но я не заметил багов работая со свободной реализацией java.


Скачать можно с оф. сайта: http://freenetproject.org/
На сайте доступны 2а варианта установки:

1) Офлайн пакет - скачивается на компьютер и устанавливается с него.
2) Онлайн пакет - доступный на заглавной странице. Щелкните кнопку download и в появившемся окне выберите не сохранять файл .jlnp, а открыть его в OpenJDK Java WebStart.

После откроется графический инсталятор, который спросит в какую директорию установить, по дефолту предлагает в ~/Freenet
По окончании установки запуститься сервер FreeNET.
Вручную сервер запуститься запуском скрипта run.sh с опцией start

После этого зайдите в браузер и наберите адрес 127.0.0.1:8888
И запуститься мастер настройки параметров, в котором можно выбрать русский язык, настройки соединений, шифрования, размер файлового хранилища и др.

После появится веб-интерфейс FreeNET работающий через FProxy, который установился со Freenet


Альбом: LINUX и Open Source


Я выбрал стиль clean-static

После зайдите в пунк - Статус -> соединения с незнакомцами, и посмлтрите
список соединений с другими узлами этой сети.

Внимание: время системных часов должны быть правильными или разница должны составлять не более 24 часов, иначе соединения будут сбрасываться

После того как будут набраны соединения, вы может посмотреть например сайты в сети FreeNET. На главной странице выберите пункт Linkageddon
и начнется загрузка страницы сайта:

Альбом: LINUX и Open Source



После загрузки щелкните по названию загруженного файла и вы увидите страницу Linkageddon со списком сайтов.

Альбом: LINUX и Open Source


После того как вы щелкните по названию какого либо сайта его загрузка начнется, так же как это было с сайтом Linkageddon и открывать страницу нужно так же щелкая по названию сайта. В этом и заключается главное неудобство.
Кстати среди сайтов сети FreeNET есть сайт wikileaks.

Во FreeNET есть возможность устанавливать расширения например для
обмена электронной почтой (e-mail), быстрыми сообщениями (чат), конференции (форумы) и др.
Установить их можно в меню (по крайней мере в стиле clean-static) Настройки -> дополнения


Не забывайте для надежности работы сервера прописать его в файле inittab

Для удаления остановите сервер
./run.sh stop
и выполните команду в директории Uninstaller
java -jar ./uninstaller.jar









16 февр. 2011 г.

PPP во FreeBSD



Введение

ppp - программа в *nix системах для передачи данных по сетям использующих протокол ppp. ppp - это так же инкапсулирующий протокол. Используется например если вы подключаетесь к интернету через Ethernet без модема или с модемом для подключения к ADSL провайдера, включённый в режиме бридж\bridge (мост) или диалап модем. Если модем настроен роутером, то данная программа не нужна. См. руководство пользователя.

ppp существует на уровне пользователя и на уровне ядра. При выполнении на уровне пользователя используется адресное пространство пользователя, на уровне ядра использует пространство ядра. PPP уровня пользователя для «связи с внешним миром» использует устройство tun, а PPP уровня ядра - устройство ppp. При использовании уровня пользователя затрачивают дополнительные ресурсы, но дает дополнительные возможности.

Далее под ppp - понимается ppp уровня пользователя. А под pppd - уровня ядра.

Будут расмотрены использования ppp и PPPoE (PPP over Ethernet\ PPP поверх Ethernet).

Файлы настройки находятся в etc/ppp/. При редактировании соблюдайте синтаксис и количество пробелов и т.п. Знаком # обозначены комментарии.


Настройка

Использование PPP через Ethernet (PPPoE)

Это используется для модемов выключенных бриджем (мостом).

Пример ppp.conf

default: # Настройки по умолчанию, для каждого соединения
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0 # Оставьте если IP для вас динамический, для статики впишите
# статический IP и адрес шлюза, подробнее см. ниже.

name_of_service_provider: # Можно заменить на любое имя, для использования в командах
set device PPPoE:r10 # Замените r10 на ваш Ethernet адаптер
set authname YOURLOGINNAME # Логин от провайдера
set authkey YOURPASSWORD # Пароль от провайдера
set dial
set login
add default HISADDR # HISADDR заменяется адресом шлюза, указанном в строке set ifaddr.

Примечание: Для строки set ifaddr смотрите дополнительное пояснение, в след. разделе (Диалап модемы → пояснение)

Для соединения:

От пользователя root набираем:

ppp -ddial name_of_service_provider


Для запуска при старте системы, прописывает в /etc/rc.conf:

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"


Диалап модемы

Потребуется настройка файла ppp.conf.

default: # Настройки по умолчанию, для каждого соединения
set log Phase Chat LCP IPCP CCP tun command # Если рабоатет, замените на set log phase tun во избежания больших лог-фалов
ident user-ppp VERSION (built COMPILATIONDATE)
set device /dev/cuaa0 # Порт к которому подключён модем, cuaa0 это COM1, cuaa1 -> COM2
set speed 115200 # Скорость, если не получается, то попробуйте 38400 или 56000
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set timeout 180
enable dns # Запросить DNS, если есть локальнй DNS то закоментируйте строку

provider: # Это слово может быть заменено на др. для использования его в командах
set phone "(123) 456 7890" # Телефон провайдера
set authname foo # Логин от првайдера
set authkey bar # Пароль от провайдера
set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" # См. ниже
set timeout 300 # Через сек. будет разрыв при простои соединения, для бесконечности 0
set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
add default HISADDR

Пояснения:

- set login «TIMEOUT 10 \»\» \»\» gin:–gin: \\U word: \\P col: ppp - Если вы используете PAP или CHAP, приглашение на вход не появится, и эта строка должна быть закомментирована или удалена. Обратитесь к странице аутентификация PAP и CHAP за дальнейшей информацией.

- set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 - Устанавливает адрес интерфейса. Строка x.x.x.x должна быть заменена на IP адрес, который выделил вам провайдер. Строка y.y.y.y должна быть заменена на IP адрес шлюза провайдера. Если провайдер не сообщил адрес шлюза, используйте 10.0.0.2/0. Если вам требуется использовать «вычисленные» адреса, убедитесь, что создана запись в /etc/ppp/ppp.linkup в соответствии с инструкциями для PPP и динамических IP адресов. Если эта строка опущена, ppp не может быть запущен в режиме -auto.

- PPP и динамические IP адреса.

Если адрес IP у вас динамический, то: это делается путём «вычисления» IP адреса и настройки его программой ppp с использованием IP Configuration Protocol (IPCP) после установления соединения. Строку set ifaddr установите так: set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

- set dial - это строка дозвона. PPP уровня пользователя применяет expect-send синтаксис, похожий на синтаксис chat(8)

Запуск соединения был приведён, в разделе - Использование PPP через Ethernet (PPPoE).

1 февр. 2011 г.

Учебник IPFW

IPFW - Является межсетевым экраном (firewall) для FreeBSD и изначально придуман для этой ОС, но при этом был перенесен для Линукс и Виндовс.

В данной вики статье будет рассмотрен минимум знаний ipfw. Для работы IPFW не нужно компилировать ядро хотя и это можно, нужно просто загрузить модуль ядра.
Примечание: включение IPFW путём компиляции ядра необходимо если требуется трансляция сетевых адресов NAT.

Существуют два основных режима брендмауэра: включающий и исключающий (открытый\экслюзивный).
Исключающий пропускает все пакеты кроме указанных в правилах запрета. А включающий наоборот пропускает только те пакеты которые разрешены для прохождения.

Правила для бренмауэра можно задавать командами в консоли, но при этом настройки нужно вводить после каждой загрузки системы, или записать правила фильтрования пакетов в файл (firewall_type=«filename»). Третий вариант это создать ссылку на скрипт с помощью параметра firewall_script так же в rc.conf.


Включение

Для включения модуля ipwf в ядро (то есть для вклчения нашего брендмауэра) впишите в rc.conf строку
firewall_enable="YES"

Так же можно на ходу подключить этот модуль ядра командой:
kldload ipfw

Далее при загрузки системы появится сообщение:
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled

Для ведения лог файлов в /etc/sysctl.conf наберите
net.inet.ip.fw.verbose = 1 # 1н означает включить
net.inet.ip.fw.verbose_limit=5 # Цифра в значении задает уровень детализации логов

Для выбора одного из режимов брандмауэра наберите в /etc/rc.conf

firewall_type=«open»

Возможные значения этого параметра:

open - пропускать весь трафик. Режим исключающий (открытый)
client - защищать только эту машину
simple - защищать всю сеть
closed - блокировать любой IP-трафик за исключением lo-интерфейса
UNKNOWN - запретить использование правил фаервола
filename - полный путь к файлу, содержащему правила фаервола. В файл просто вписываются команды каждая на своей строчке

Примечание:
Если firewall_type установлен в client или simple, правила по умолчанию находящиеся в /etc/rc.firewall должны быть пересмотрены для подгонки под конфигурацию данного компьютера.

Команды IPFW

Приведем команды для вызова из командной строки.
ipfw list - Отображение списка всех правил

ipfw –t list - Для отображения списка правил со временными метками, показывающим время последнего применения каждого правила

ipfw –a list - Для вывода полной статистики

ipfw –d list - Отобразить не только статические, но и динамические правила

ipfw –d –e list - Можно также отобразить устаревшие динамические правила

ipfw zero - Стереть счетчики

ipfw show - Показывает правила и счётчики пакетов, которые совпали с этими правилами

ipfw delete - Удаляет правило с указанным номером
 

Синтаксис команды

Группы правил которые мы будет использовать для команды add выглядят так:

CMD RULE_NUMBER ACTION LOGGING SELECTION STATEFULL

Где группа:

CMD - Команды. add для добавления правила.

RULE_NUMBER - Каждое правило должно иметь порядковый номер. Если номер не задан, то берется последний номер + 100

ACTION: - allow, pass, accept, permit (они синонимы) - Разрешает дальнейшее прохождение пакета. Т.е. обработка
в нашем брендмауре заканчивается. Как понимаете такое правило вкл. в включающем типе брендмауэра

- unreach <тип> - Запрещает движение пакета. Отправитель уведомляется. Уведомление задается в <тип>:
net - сеть адресата не доступна
host - адресат не доступен
needfrag - необходима фрагментация пакета
host-unknown - нет такого адреса

Этот ответ идет по протоколу ICMP

- deny, drop - Пакеты удовлетворяющего правилу запрещаются, без уведомления отправителя

LOGGING - log или logamount

Если пакет удовлетворяет правилу, содержащему ключевое слово log, будет сгенерировано сообщение для syslogd от имени SECURITY. Запись в лог осуществляется только в том случае, если количество пакетов, удовлетворяющих данному правилу, превысит значение параметра logamount. Если значение параметра logamount не задано, он устанавливается равным значению переменной sysct net.inet.fw.verbose_limit. В обоих случаях установление значения 0 соответствует бесконечному значению logamount. В случае достижения предельного значения, ведение логов может быть возобновлено сбросом счетчиков логов и пакетов для этого правила (см. команду ipfw reset log).

Обратите внимание: Занесение данных пакета в лог осуществляется сразу после установления соответствия пакета правилу, до того, как будет исполнено предусмотренное правилом действие (accept, deny). Поэтому пользователю предоставляется полная свобода выбора пакетов, заносимых в лог.

SELECTION

udp | tcp | icmp - Обозначение протокола для которого осуществляется правило.
Например: udp | tcp | icmp - полный список в /etc/protocols. Возможно значение all.

from src to dst (с англ. from - откуда, to - куда) - опции принимаемые к IP адресам. IP адреса как понимаете вписываются вместо слов src и dst. Обязательно задавать как отправителя так и получателя. IP можно заменить спец. словами: any - любой IP, me -соотвествует адресам адресам интерфейсам сетевых интерфейсов.
Так же можно указать порт, для протоколов их поддерживаемых. Он пишет через пробел после этих правил.
Пример:
from any to me
from any to 192.168.0.11
from any to any 80

in | out - in указывает на входящий пакет. out на исходящий. Один из этих опций должна присуствовать.

via - Указывает на пакеты проходящие на интерфейс . Ну вы уже наверное догадались, что нужно заменит на имя интерфейса.

setup - Это обязательное ключевое слово, которое обозначает начало просьбе сессии для пакетов TCP.

keep-state - Обязательное ключевое слово. После совпадения файрволл создаст динамическое правило, чье поведение по умолчанию состоит в том, что бы было совпадение двунаправленного траффика между IP адресом или портом источника и приемника по тому же самому протоколу

limit {src-addr | src-port | dst-addr | dst-port} - Фаервол будет ограничивать количество одновременных соединений с одинаковыми IP-адресами отправителя (src-addr) и получателя (dst-port), использующие одинаковые номера портов отправителя (src-port) и получателя (dst-port). Могут быть заданы одна или более пар адрес-порт. Атрибуты limit и keep-state не могут быть использованы в одном правиле. Атрибут limit вызывает все те же функции, что и keep-state, а также некоторые специфичные.

STATEFUL:

Следующее правило (check-state) проводит анализ при осуществление двунаправленного обмена сообщениями. check-state указывает в какой момент времени нужно проверить для данного пакета сессию которая создается при двунаправленном обмене пакетами, между получателем и отправителем. Проверка осуществляется в таблице динамических правил.
Примечание: Сессия всегда создается между получателем и отправителем при двунаправленном обмене.

Протоколирование: Для включение ведения логов, нужно указывать в правилах о том, что данное правило нужно протоколировать. Все сообщения о протоколируемых пакетах записываются по умолчанию в файл /var/log/security. Для протоколирования пишем слово -log.
 

Примечания

Правила будут выполняться последовательно в порядке увеличения номера правила. Если правило 00001 не сработало для данных пакетов, то будет проверяться правило под номером 00002.

Выше писалось, что у правил IPFW есть номера, так вот в зависимости от установленного типа (включающий или исключающий) будет создано постоянное правило под номером 65535 (этот номер максимальный). Под этим номером и будет располагать правило которое будет выполняться в последнею очередь и в нем будет записано - пропускать все пакеты или запрещать все пакеты в зависимости от типа брендмауэра.

Для «включающего» типа нужно разрешать даже пакеты на адрес 127.0.0.1 и т.п.

Если правила вписывают в файл то не нужно писать команду add.

Примеры

Пример файла с правилами для включающего типа фаервола:
00100 allow all from any to any via lo0
00101 deny all from any to 127.0.0.0/8
00102 deny all from 127.0.0.0/8 to any

00400 check-state

00600 allow tcp from any to any 80 out via bge0 setup keep-state
00601 allow tcp from any to any 25 out via bge0 setup keep-state

00605 allow udp from any to any 30 out via bge0 setup keep-state

00610 allow tcp from any to 196.124.43.21 53 out via bge0 setup keep-state
00611 allow udp from any to 196.124.43.21 53 out via bge0 keep-state

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

Правила 600-601 создают виртуальные правила (keep-state), пропускающие (allow) пакеты для соединений, которые инициированы (setup) вами (out via bge0). Они разрешают проход tcp пакетов по портам 80 и 25 (браузер и почта).

Правило 00605 разрешает проход udp пакетам по 30 порту, обратите внимание там нет опции setup.
Ну, а последние два правила позволяют проходить DNS запросам с сервера 196.124.43.21.
Данный пример запрещает все входящие пакеты, в том числе «пингующие» вас. Какие разрешены вы уже наверное поняли.

Приведем пару примеров из официального handbook для включающего типа брендмауэра.

Пример консольных команд:
Примечание:
Опция -q означет не выводить результат в консоль об успешности или нет данной операции.

Пример 2: Пропускание всего трафика:
00100 pass all from any to any

Так как все пакеты разрешены, то это правило сработает, и правило под номером 65535 (которое все запрещает) не будет работать (до этого правила даже не дойдет, т.к. первое сработало).

22 янв. 2011 г.

Обзор сниффероф Linux

Приведем список сетевых снифферов под Linux \ UNIX, для анализа сетей, в том числе беспроводных.

Wireshark


Альбом: LINUX и Open Source

Сайт: http://www.wireshark.org/

Очень популярный сниффер с графическим интерфейсов. Стабильно развивается. Имеет множество настроек и поддержку огромного количества протоколов.  Может управляться через консоль. Работает на: Windows, Linux, FreeBSD, NetBSD и др. Анализирует в том числе VoIP, Cisco Secure IDS и множество других.

darkstat


Альбом: LINUX и Open Source

Утилита умеет переводить данные в html формат и обновляться каждые 5 сек. Подобие отображения в реальном времени.

ipgrab

Сайт:  http://www.blogger.com/goog_804639318

Сниффер не выделяется возможностями.

tcpick

Альбом: LINUX и Open Source

Сайт: http://tcpick.sourceforge.net/
Сниффер на основе libpcap. Возможно слежение за файлами передающимися по FTP или HTTP. Вывод на терминал идет разноцветными надписями.


Aircrack-ng

Альбом: LINUX и Open Source
Сайт: http://aircrack-ng.org/

Сниффер беспроводных сетей (802.11) и взлома WEP и WPA/WPA2-PSK ключей шифрования. От драйвера оборудования требуется поддержка режима мониторинга. Документация:  http://www.kismetwireless.net/documentation.shtml




Kismet


Альбом: LINUX и Open Source

Сайт:  http://www.kismetwireless.net/

Сниффер 802.11 - 802.11b, 802.11a, 802.11g, and 802.11n.


tcpdump

Сайт: http://www.tcpdump.org/



Ettercap

Альбом: LINUX и Open Source


Сайт: http://ettercap.sourceforge.net/

Имеет порты для множество платформ. Поддерживает пассивное и активное вскрытие протоколов.


ntop

Альбом: LINUX и Open Source
Сайт: http://www.ntop.org/news.php

Хороший снифер в своем роде. Основан на libpcap. Веб интерфейс. Экономично расходует ресурсы системы. Сниффер показывает использование сети в интерактивном режиме (монитор сети).

17 янв. 2011 г.

Пользовательские настройки Bash

Bash - это интерпретатор командного языка, выполняющий команды поступающие со стандартного устройства ввода (клавиатуры).
В данной статье будут рассмотрены пользовательские и немного системных настроек, цель которых будет облегчить использование bash.

Настройки

Настройки bash хранятся в файле .bashrc в домашней директории пользователей (~).
В нем можно поменять приглашение, обработку директорий с командами, задать алиасы, загружать цветовые схемы и др.
Файл .bashrc будет рассмотрен позже.
Так же есть файлы:
~/.bash_profile - Этот файл обрабатывается при каждом входе в систему (пользователя).
~/.bash_logout - Прочитывается когда происходит выход из системы.
~/.bash_history - Хранит список используемых команд.

Помимо этих файлов есть системные настройки (опции bash). Их можно посмотреть командой set -o
Будет выведен список опций. Эти опции можно изменить с помощью той же команды set.

set [–abBCefhHkmnpPtuvx] [-o option] [argument …]

Для активации одной из опций наберите:
set -o option_name - для активации опции
set +o option_name для деактивации опции.
Список опций может меняться от версии bash.
Команда set без параметров выведет все переменные окружения.

Переменные

Список стандартных переменных:

Имя переменной Описание
BASHВ переменной BASH содержится полный путь до исполняемого файла командной оболочки Bash
BASH_VERSIONВ переменную BASH_VERSION записывается версия Bash
CLASSPATHCLASSPATH содержит список каталогов для поиска файлов классов Java и архивов Java
HOMEДомашний каталог текущего пользователя
HOSTNAMEВ переменной HOSTNAME хранится имя компьютера
LANG LANG - это текущая установка локали, которая позволяет настроить командную оболочку для использования в различных странах и на различных языках
OSTYPE В переменной OSTYPE содержится описание операционной системы
PATH PATH - это список каталогов для поиска команд и приложений, когда полный путь к файлу не задан
PSn PSn (где n - число от 1 до 4) переменная хранит параметры приглашения (см. ниже)
PROMPT_COMMANDЭта команда должна быть выполнена до отображения строки приглашения Bash
PWD PWD - это полный путь к текущему рабочему каталогу
SHELLSHELL - это полный путь к текущей командной оболочке
USER В переменной USER содержится имя текущего пользователя

HotKey в Bash

Приводятся горячие клавиши:
Ctrl-команды
Ctrl + a - переход к началу строки
Ctrl + b - аналог стрелки влево
Ctrl + c - отменить редактирование команды или прекратить работу
Ctrl + d - аналог Delete. Если строка пустая - выход из shell
Ctrl + e - переход к концу строки
Ctrl + f - аналог стрелки вправо
Ctrl + g - выход из режима дополнения
Ctrl + h - аналог BackSpace
Ctrl + i - аналог Tab
Ctrl + k - удалить всё до конца строки
Ctrl + l - очистить экран (набранная строка и даже позиция курсора остаётся)
Ctrl + r - поиск по истории набранных команд
Ctrl + t - поменять местами текущий символ с предыдущим
Ctrl + u - удалить всё до начала строки
Ctrl + v - преобразует следующую клавишу в её символьное отображение (Enter в ^M, Esc в ^[)
Ctrl + w - удалить от курсора до начала слова
Ctrl + x дважды - скачок между началом строки и текущей позицией курсора
Ctrl + x @ - Показывает возможные варианты дополнения доменного имени
Ctrl + y - вставить из буфера (все удаляемое по горячим клавишам удаляется не просто так, а в буфер)
Ctrl + z - притормозить/остановить выполнение команды в фон
Ctrl + _ - отмена последнего изменения

ALT-команды
Alt + < - к первой команде в истории (вообще к самой первой в .bash_history) Alt + > - к последней команде в истории
Alt + ? - показать весь список вариантов дополнения (аналог 2Т - см. ниже)
Alt + * - вставить все возможные варианты дополнения
Alt + / - попытатся дополнить имя файла (из имеющихся в текущем каталоге)
Alt + . - вставить последний аргумент из предыдущей команды
Alt + b - влево на слово Alt + c - сделать первую букву слова заглавной (и перейти к следующему слову)
Alt + d - удалить от текущей позиции до конца слова
Alt + f - вправо на слово
Alt + l - сделать первую букву слова строчной (и перейти к следующему слову)
Alt + n - искать по истории (но не сразу, а после полного ввода и нажатия Enter)
Alt + p - искать по истории назад
Alt + r - очистить всю строку
Alt + t - поменять слова местами
Alt + u - сделать все буквы заглавными от текущей позиции до конца слова
Alt + BackSpace - Удалить от текущей позиции до начала слова

Иные:
!! - выполнить последнюю команду в истории
!abc - выполнить последнюю команду в истории, начинающуюся на abc
!a:p - напечатать последнюю команду в истории, начинающуюся на a
!n - выполнить n-ную команду в истории
!$ - посдедний аргумент последней команды
!^ - первый аргумент последней команды
^abc^xyz - замена abc на xyz в последней команде и выполнить результат
Tab - выведет названия команд на начало введенных символов или заполнит до конца имя файла.

bashrc

Приведем на пояснениях и примерах содержимое файла для лучшего изучения.
В файлах знак - # используется для обозначения комментария. Или закрытия строки и игнорируется интерпретатором.

alias

Этот пункт позволяет создавать ссылки для команд.
Например у обычного пользователя часто имеются такие строки (у root часто нет таких строк в .bashrc):

#alias ll='ls -l'
Раскомментировав данную строку у пользователя появится команда ll, которая будет выводить файлы в один столбец с дополнительной информацией о файлах (владелец, дата).

Смена приглашения и специальные последовательности кодов

Пока показывается как сменить строку приглашения читатель узнает о переменной PS1 и ряд специальных управляющих последовательностей из ASCII.
Специальные символы задаются между \[ и \]. Существует множество переменных и команд которые могут пригодиться в bash. Строка приглашения задается в переменной PS1, а синтаксис строки специальными символами. Это дает возможность не только менять текст, но его цвет, вставлять дату и др.

Специальные символы:
\A время - часы и минуты
\d дата в формате »День_недели, Месяц, Число»
\e (управляющий символ в коде ASCII) передает окну терминала более сложные опции
\h заменяется на имя компьютера (вплоть до первой точки в DNS-имени)
\H имя хоста
\j количество задач, работающих в шелле в настоящее время
\l название терминала
\n переход на новую строку
\r возврат каретки на начало строки
\s название шелла (будет выведено, например, «bash»
\t время в 24-часовом формате (ЧЧ: MM: СС)
\T время в 12-часовом формате (ЧЧ: ММ: СС)
\@ время в 12-часовом формате (AM/PM)
\u заменяется на имя текущего пользователя
\v номер версии bash
\V номер версии bash, номер релиза, номер патча
\w путь к домашнему каталогу (~)
\W имя текущей директории
\! номер команды в истории
\# системный номер команды
\$ означает знак $ для обычного пользователя, и # для root
\\ обратный слэш
\[ начало последовательности непечатаемых символов ASCII
\] конец последовательности непечатаемых символов ASCII
$ ( ) внешняя команда
\# текущий номер команды
\nnn непечатаемый символ, у которого имеется восьмиричный код
\! номер команды в истории команд

Переменные приглашения:
PS1 - Основная строка приглашения.
PS2 - Вторичная строка приглашения.
PS3 - Приглашение при выборе в операторе select.
PS4 - Приглашение используемое в скриптах, при выводе. Например при выводе echo.
Иные:
PROMPT_COMMAND - В этой переменной задаются команды, которые будут выполняться перед первичном приглашении (PS1).
Так же не запрещены скрипты и внешние команды.

Пример первичного приглашения 1:

PS1='\h:\w\$' 
Покажет имя компьютера (в сети, или проще говоря имя хоста), имя каталога и знак доллара для обычного пользователя, и # для root пользователя.

Приемр 2:

PS1='[u][\A']\$ 
Покажет имя пользователя и время (часы и минуты) и знак доллара для обычного пользователя, и # для root пользователя.

Цвета и стили

Цвета текста и фона приглашения задаются специальными символами которые были рассмотрены выше, которые задаются в специальной последовательности.
[свойство_фона;цвет_фона;свойство_текста;цвет_текста]
< Цвета:

ЦветТекстФон
Черный 30 40
Красный3141
Зеленый3242
Желтый3343
Синий3444
Маджента3545
Циановый3646
Белый3747
Свойства текста:

Название стиля Код
Сбросить все свойства0
Повышенная яркость1
Пониженная яркость2
Подчеркнутый4
Нормальная яркость5
Инвертированный7
Скрытый8
Пример 1: Если добавить следующую строчку к переменной PS1 (начало будет иное у вас) или заменить полностью на:
PS1='\[\033[0;40;4;37m\]qwesdfrty\[\033[0m\]'
То приглашение будет содержать - qwerty белого цвета и линию подчёркивания.
Пример 2:
PS1='\[\033[0;41;0;32m\]qwerty\[\033[0m\]'
То приглашение будет содержать - qwerty зелёного цвета и без подчёркивания.



Полезные настройки

В файле etc/inputrc - настраивается ввод. Это файл для всех пользователей. Для отдельного пользователя он находиться в домашней директории (~).

Настройка истории команд

Если нужно прокручивать историю команд (клавишами PageUP, PageDown) на определённое слово. Например введение cd позволит получать из истории только введенные команды начинающиеся на cd.

В файле /etc/inputrc добавить или раскомментировать:

# alternate mappings for "page up" and "page down" to search the history
 "\e[5~": history-search-backward
 "\e[6~": history-search-forward

Не забывайте так же про горячею комбинацию ctrl + r 

Настройка Tab

Если нужно что бы нажимать Tab нужно было один раз, то в etc/inputrc.
set show-all-if-ambiguous On
 
Исправление регистра в аргументах функций

Например замену Books на books.
В ~./bashrc:
shopt -s nocaseglob

2 янв. 2011 г.

Обзор клиентов для VoIP и видео общения под Linux

Приведем список с короткими комментариями программ для аудио и видео общения, которые имеют реализацию под Linux. В данном списке все программы поддерживают передачу аудио или видео

Skype
Альбом: LINUX и Open Source
Сайт: http://www.skype.com/intl/ru/

Скайп самая популярная программа для звонков с компьютера. Поддерживает передачу сообщений.


Ekiga
Альбом: LINUX и Open Source
Сайт: http://www.ekiga.org/

Интернет-телефон среды GNOME, позволяет совершать видео и аудио вызовы, создавать конференции. Полностью интегрирован со средой GNOME. По задумке разработчиков в будущем вытеснится универсальным IM клиентом Empathy.


Gizmo Project
Альбом: LINUX и Open Source
Сайт: http://www.google.com/gizmo5/

Поддерживает все VoIP-протоколы SIP и H.323, а также такие IM-протоколы: AIM, MSN, Yahoo, Jabber и GoogleTalk. Имеет поддержку Скайп, но так как большинсво пользователей блокируют анонимные звонки, то данная функция не всегда работает. Среди недостатков стоит отметить большую прожорливость ресурсов системы. Но имеет красивый интерфейс.
На данный момент использование Gizmo неактуально и невозможно, т.к. разработчики закрыли регистрацию аккаунтов.


Twinkle
Альбом: LINUX и Open Source
Сайт: http://www.twinklephone.com/

Простой интерфейс и большие настройки делают программу легкой и гибкой. Но к сожалению не поддерживает видео передачу.




Kphone
Альбом: LINUX и Open Source
Сайт: http://sourceforge.net/projects/kphone/

Простой интерфейс. Но легкость переходит в убогость. К счастью поддерживает видео передачу. И не тратит много ресурсов.



qutecom
Альбом: LINUX и Open Source
Сайт: http://www.qutecom.org/

Кроссплатформенный QT клиент для работы в сетях SIP и RTP. Позволяет обменивается Аудио, Видео и Текстовой информацией. Как видите имеет очень красивый интерфейс.


 Jitsi




























Сайт: http://jitsi.org

Может работать не только с SIP, но и как клиент обмена сообщениями. Поддерживает: SIP, XMPP/Jabber, AIM/ICQ, MSN/Windows Live, Yahoo!, IRC, Bonjour. Работает на фраемворке FMI (Freedom for Media in Java). Имеет интересную функцию - автоматический ответ на входящий вызов SIP и XMPP.




















29 дек. 2010 г.

Установка сканера уязвимостей skipfish в Linux

skipfish - ПО разработанное для анализа защищенности веб-сервисов.

Домашняя страница:

Страница документации на сайте google code:

Так же в блоге разработчика есть описание этой программы:

В документации написано, что данное ПО позволяет выявлять и сканировать следующие проблеммы:
    High risk flaws 
     
  • Server-side SQL / PHP injection (including blind vectors, numerical parameters).
  • Explicit SQL-like syntax in GET or POST parameters.
  • Server-side shell command injection (including blind vectors).
  • Server-side XML / XPath injection (including blind vectors).
  • Format string vulnerabilities.
  • Integer overflow vulnerabilities.
  • Locations accepting HTTP PUT.
    Medium risk flaws 
     
  • Stored and reflected XSS vectors in document body (minimal JS XSS support present).
  • Stored and reflected XSS vectors via HTTP redirects.
  • Stored and reflected XSS vectors via HTTP header splitting.
  • Directory traversal / file inclusion (including constrained vectors).
  • Assorted file POIs (server-side sources, configs, etc).
  • Attacker-supplied script and CSS inclusion vectors (stored and reflected).
  • External untrusted script and CSS inclusion vectors.
  • Mixed content problems on script and CSS resources (optional).
  • Password forms submitting from or to non-SSL pages (optional).
  • Incorrect or missing MIME types on renderables.
  • Generic MIME types on renderables.
  • Incorrect or missing charsets on renderables.
  • Conflicting MIME / charset info on renderables.
  • Bad caching directives on cookie setting responses.
    Low risk issues 
     
  • Directory listing bypass vectors.
  • Redirection to attacker-supplied URLs (stored and reflected).
  • Attacker-supplied embedded content (stored and reflected).
  • External untrusted embedded content.
  • Mixed content on non-scriptable subresources (optional).
  • HTTP credentials in URLs.
  • Expired or not-yet-valid SSL certificates.
  • HTML forms with no XSRF protection.
  • Self-signed SSL certificates.
  • SSL certificate host name mismatches.
  • Bad caching directives on less sensitive content.

Internal warnings:
  • Failed resource fetch attempts.
  • Exceeded crawl limits.
  • Failed 404 behavior checks.
  • IPS filtering detected.
  • Unexpected response variations.
  • Seemingly misclassified crawl nodes.
Non-specific informational entries:
  • General SSL certificate information.
  • Significantly changing HTTP cookies.
  • Changing Server, Via, or X-... headers.
  • New 404 signatures.
  • Resources that cannot be accessed.
  • Resources requiring HTTP authentication.
  • Broken links.
  • Server errors.
  • All external links not classified otherwise (optional).
  • All external e-mails (optional).
  • All external URL redirectors (optional).
  • Links to unknown protocols.
  • Form fields that could not be autocompleted.
  • Password entry forms (for external brute-force).
  • File upload forms.
  • Other HTML forms (not classified otherwise).
  • Numerical file names (for external brute-force).
  • User-supplied links otherwise rendered on a page.
  • Incorrect or missing MIME type on less significant content.
  • Generic MIME type on less significant content.
  • Incorrect or missing charset on less significant content.
  • Conflicting MIME / charset information on less significant content.
  • OGNL-like parameter passing conventions.

Перед установкой следует убедиться в наличии следующих библиотек:
libssl-dev libidn11 libidn11-dev

Там скачайте архив программы и распакуйте его. После распаковки зайдите в директорию и запустите


Далее требуется скопировать словарь из директории dictionaries в корневую директорию программы и переименовать его в skipfish.wl Далее можно уже запускать сканер. Тут читайте документацию, но самый для примера можно запустить: ./skipfish -o results http://www.mysite.com  Результаты сканирования будут в директории results дом. директории приложения.
Что бы не мучаться с именем словаря и копированием его, можно указать его опцией -W <имя словаря>
Например: -W dict.wl



Альбом: LINUX и Open Source 


В таблице описывается процесс работы программы. Первое поле прошедшие время работы.
Ниже находится показатель запросов в секунду, он должен быть не менее 50 а еще лучше 100-200 иначе работа программы будет очень долгой.

Поле pivots показывает кол-во запросов которое нужно выполнить, выполненные запросы и процентное завершение процесса.



Дополнительно:

Режимы brute-force сканирования
Для полного описания режимов сканирования, читай те блог разработчика: http://lcamtuf.blogspot.com/2010/11/understanding-and-using-skipfish.html

Отключить  brute-force метод сканирования:
./skipfish -W /dev/null -LV [...other options...]

В данном режиме skipfish будет выполнять простое сканирование. Автор пишет, что в данном случае skipfish будет вести себя как другие сканеры и рекомендуется для использования. Так же автор говорит, что не будут найдены части сканируемого сайта, цитата:
 resources such as /admin/ or /index.php.old may not be discovered

Ограниченное сканирование:
Задается опцией -Y
./skipfish -W dictionary.wl -Y [...other options...]


Полный brute-force:
Мы уже рассмотрели полный брут-форс:
./skipfish -W dictionary.wl [...other options...]


Список URL в файле:
$ ./skipfish -o output_dir @/path/to/url_list.txt


Cookie файлы:
-C name=val


Для HTTP аутентификации:
-A user:pass


Исключение URL из сканирования:

-X /logout/logout.aspx
Необходимо для исключения например выхода из аккаунта и удаления cookie файлов, ускорения сканирования исключая директории с медиа файлами.
Части URL задаются через запятую:
/icons/, /doc/, /manuals/


Добавление доменов для сканирования:

Опция -D, например:

./skipfish -D test2.example.com -o output-dir http://test1.example.com/

Для всех под-доменов:

-D .example.com


Междоменое взаимодействие:
skipfish может "ругаться"  и заявлять об проблемах в безопасности при междоменном взаимодействие, например принимая или отсылая информацию с помощью ЯваСкрипт. Если вы доверяете определенным доменам, то их можно исключить:
./skipfish -B .google-analytics.com -B .googleapis.com other parameters



Изменение заголовков:

В документации сказано, что с помощью опции -H, можно изменять заголовки сообщений, например  User-Agent, но как это сделать пример не приводится. Так же говорится, что используя опцию -b можно изменять User-Agent или -b ffox эмуляции браузера FireFox

Вообще нужно вникать в:







27 дек. 2010 г.

Обзор видеоредакторов под Linux

Приведем краткий список с комментариями ПО для монтажа видео под Linux.

KdeinLive
Альбом: LINUX и Open Source
Сайт: http://kdenlive.org/

Написан на Qt, под KDE. Экспорт форматов: mpeg, dv, vob, realvideo, flash, theora, wav, mp3, xvid, quicktime и др. Доступен так же в портах FreeBSD.


Open Movie Editor
Альбом: LINUX и Open Source
Сайт:  http://www.openmovieeditor.org/

Для GNOME. Имеет не красивый интерфейс в темных тонах.



OpenShot
Альбом: LINUX и Open Source
Сайт: http://www.openshotvideo.com/

Система не линейного монтажа написанная на языке Python.


Kino
Альбом: LINUX и Open Source
Сайт: http://www.kinodv.org/

Нелинейный редактор Digital Video (DV). Иные форматы так открываются и конвертируются после открытия. Экспорт в форматы: DV,Raw DV, DV AVI, Quicktime DV (требуется libquicktime or Quicktime 4 Linux)
Кадры в JPEG, PNG, TIFF, GIF, BMP, TGA
WAV MP3 (требуется LAME) Ogg Vorbis (требуется oggenc) Ogg Theora (требуется ffmpeg2theora) MPEG-1 and MPEG-2 (требуется mjpegtools) DVD авторинг (требуется dvdauthor) MPEG-4, H.264, и Flash Video (требуется ffmpeg)


Lives
Альбом: LINUX и Open Source
Сайт: http://lives.sourceforge.net/

Возможность редактировать видео в реальном и в не реальном времени.


Pitivi
Альбом: LINUX и Open Source
Сайт:  http://www.pitivi.org/

Создан на GTK2. Использует GStreamer. Красивый интерфейс

23 дек. 2010 г.

Обзор клиентов под Linux для обмена мгновенными сообщениями (месаджеры)

Приведем обзор ПО для обмена мгновенными сообщениями (месаджеров) для протоков XMPP, ICQ и другие, под Linux с короткими комментариями к каждому продукту.


Я. Онлайн
Альбом: LINUX и Open Source

Сайт: http://online.yandex.ru/mac-linux?nano

Программа разрабатываемая компанией Яндекс. Существуют версии для Windows, Linux и Mac OS Х. Проект был запущен в 2010 году. Имеет приятный интерфейс.

Pidgin

Альбом: LINUX и Open Source
Сайт: http://www.pidgin.im/

Поддерживает более 80 языков. Существуют сборки для Windows, Linux и Mac OS Х.
Имеет много хороших плагинов, таких как:
Facebook IM, Skype IM, Twitter Protocol и множество других


Работает с: AIM ICQ Google Talk Jabber/XMPP MSN Messenger Yahoo! Bonjour Gadu-Gadu IRC Novell GroupWise Messenger QQ Lotus Sametime SILC SIMPLE MXit MySpaceIM Zephyr.

Kopete
Альбом: LINUX и Open Source
Сайт: http://kopete.kde.org/

Для пользователей KDE


Gajim
Альбом: LINUX и Open Source
Сайт: http://gajim.org/

Имеет поддержку 25 языков. Среди полезных функций: - Запросы к Википедии, словарю и поисковой машине.
- Поддержка метаконтактов
- Поддержка конференций (с протоколом MUC), приглашений, преобразования чата в конференцию, сокрытие конференций в ростере
- Проверка орфографии, широкие возможности поиска в истории общения

Empathy
Альбом: LINUX и Open Source
Сайт: http://live.gnome.org/Empathy

Нативный IM клиент среды GNOME, разработан как ответ на Kopete и Pidgin. Основан на ныне мертвом Jabber-клиенте gossip. Является IM-клиентом по умолчанию в Ubuntu linux начиная с версии 9.10.
Поддержка протоколов: XMPP OSCAR MS QQ Yahoo! Messenger Protocol GroupWise Gadu-Gadu Salut VoIP: SIP, Jingle



Tkabber
Альбом: LINUX и Open Source
Сайт: http://tkabber.jabber.ru/

Один из старейших и известнейших jabber клиентов. Название происходит от аббревиатуры tk и окончания слова jabber. Отличается суровым TK интерфейсом, расширяемостью за счет плагинов и поддержкой всех новшеств которые появляются в протоколе XMPP.

Psi и Psi+
Альбом: LINUX и Open Source
Сайт: http://psi-im.org/


Создан для Windows, Linux и Mac OS X.
Работает с: XMPP 1,0 (jabber)

Psi+ является тестовой площадкой для разработчиков. Изменения попадают изначально в него, а потом после проверки окончательный код интегрируется в psi.

qutiM

Альбом: LINUX и Open Source
Сайт: http://www.qutim.org/

Работает с:
icq Jabber/XMPP gtalk я.онлайн nxt-im LiveJournal/LJ Talk qip_jabber Rambler Virtus Вконтакте irc Mail.Ru агент
twitter - не стабилен MSN/Live - не стабилен ( Октябрь 2010)

Jitsi




























Сайт: http://jitsi.org

Может работать не только с SIP, но и как клиент обмена сообщениями. Поддерживает: SIP, XMPP/Jabber, AIM/ICQ, MSN/Windows Live, Yahoo!, IRC, Bonjour. Работает на фраемворке FMI (Freedom for Media in Java). Имеет интересную функцию - автоматический ответ на входящий вызов SIP и XMPP.




















Обзор видео проигрователей под Linux

Приведем небольшой список с короткими комментариями ПО для воспроизведения видео по ОС Linux.



Totem
Альбом: LINUX и Open Source
Сайт: http://projects.gnome.org/totem/

Постовляется вместе с средой GNOME. Использует GStreamer. Очень простой интерфейс.



Mplayer
Альбом: LINUX и Open Source
Сайт:http://www.mplayerhq.hu/design7/news.html

Самый популярный видеоплеер для *nix систем. Декодирует практически все форматы. Имеет множество оболочек, среди которых Smplayer и KMPlayer. По умолчанию имеет недостатки в контроле (control) проигрывания процесса видео, контрол слишком мал.


SMplayer
Альбом: LINUX и Open Source
Сайт: http://smplayer.sourceforge.net/

Является популярной оболочкой для плеера MPlayer. Имеет удобный интерфейс.


Xine
Альбом: LINUX и Open Source
Сайт: http://www.xine-project.org/home

Прстой плеер с простым интерфейсом. Поддерживает скины.
Директория скинов: /usr/local/share/xine/skins


Kaffeine
Альбом: LINUX и Open Source
Сайт: http://kaffeine.kde.org/

Простой медиа плеер для KDE.