Последние сообщения

Страницы: 1 ... 6 7 [8] 9
71
Nload - просмотр загрузки канала в консольном режиме

Продолжая тему обзора утилит обзора пропускной способности канала, рассмотрим утилиту Nload.

Установку выполним из портов:
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/net/nload/ && make install clean
Делаем попытку запуска утилиты. В результате получилось следующее:



Экран разделен на две области. В верхней отображается загрузка интерфейса входящим трафиком, в нижней - исходящим. Есть возможность переключаться между интерфейсами в режиме реального времени, "гоняя" их по кругу (в моем случае количество сетевых интерфейсов - 6 штук). Для переключения можно использовать клавиши "вправо" и "влево".

Попробуем разобраться с доступными опциями (тоесть ознакомимся со страницей руководства - man nload):

-a - задает промежуток времени в секундах, для подсчитывания среднего значения. По умолчанию 300 секунд;
-i - задает планку 100% (Кб/с) для графического отображения для входящего трафика. По умолчанию - 10Mbit/c;
-m - отображение нескольких интерфейсов. Не отображаются графики;
-o - то же, что и опция "-i", только для исходящего трафика;
-t - задает интервал обновления в милисекундах. Значение по умолчанию - 500. Не рекомендуется устанавливать меньше 100;
-u - задает режим отображения: Bit/s, kBit/s, MBit/s etc (h|H|b|B|k|K|m|M|g|G). Значение по умолчанию - kBit/s;
-U - задает режим отображения для подсчета количества проходящего траффика. Значение по умолчанию - MByte;
device - конкретизируем интерфейс.

Итак, задаем следующие параметры:

конкретизируем интерфейс - nfe0
"верхняя" планка отображения - 500 килобит в секунду, как для входящего, так и для исходящего траффика
подсчет трафика - в гигабайтах
интервал обновления - 400 милисекунд

Команда будет выглядеть следующим образом:
Код: *** ссылки только после регистрации или входа
# nload devices ng0 -i 10000 -o 14000 -u M -U M -t 400
Результат выполнения команды:



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



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

72
Записки администратора / Nmap - сканер портов
« Последний ответ от Дмитрий Января 12, 2014, 01:48:07 pm »
Nmap - сканер портов



Иногда нужно "прослушать", какие порты открыты на том или ином ресурсе. Изобретать велосипед не нужно, есть готовое решение - nmap. Для начала немного общей информации в ознакомительных целях...

Nmap (“Network Mapper”) это утилита с открытым исходным кодом для исследования сети и проверки безопасности. Она была разработана для быстрого сканирования больших сетей, хотя прекрасно справляется и с единичными целями. Nmap использует IP-пакеты оригинальными способами, чтобы определить какие хосты доступны в сети, какие службы (название приложения и версию) они предлагают, какие операционные системы (и версии ОС) они используют, какие типы пакетных фильтров/брандмауэров используются и еще дюжины других характеристик. В тот время как Nmap обычно используется для проверки безопасности, многие сетевые и системные администраторы находят ее полезной для обычных задач, таких как контролирование структуры сети, управление расписаниями запуска служб и учет времени работы хоста или службы.

Выходные данные Nmap это список просканированных целей с дополнительной информацией по каждой в зависимости от заданных опций. Ключевой информацией является “таблица важных портов”. Эта таблица содержит номер порта, протокол, имя службы и состояние. Состояние может иметь значение open (открыт), filtered (фильтруется), closed (закрыт) или unfiltered (не фильтруется). Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильт или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложение, так что они могут быть открыты в любой момент. Порты расцениваются как не фильтрованные, когда они отвечают на запросы Nmap, но Nmap не может определить открыты они или закрыты. Nmap выдает комбинации открыт|фильтруется и закрыт|фильтруется, когда не может определить, какое из этих двух состояний описывает порт. Эта таблица также может предоставлять детали о версии программного обеспечения, если это было запрошено. Когда осуществляется сканирование по IP протоколу (-sO), Nmap предоставляет информацию о поддерживаемых IP протоколах, а не об открытых портах.

В дополнение к таблице важных портов Nmap может предоставлять дальнейшую информацию о целях: преобразованные DNS имена, предположение о используемой операционной системе, типы устройств и MAC адреса.

Заинтересовало? Тогда приступим к установке.

Nmap есть в портах. Оттуда и будем устанавливать.
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/security/nmap && make install clean
О возможностях nmap можно узнать ознакомившись с *** ссылки только после регистрации или входа.
Рассмотрим несколько примеров использования nmap.

TCP-Сканирование.

Методом TCP connect () nmap будет сканировать диапазон портов (1-65535) компьютера с IP-адресом 172.16.0.1. Опция -sV служит для получения версий запущенных сервисов.
Код: *** ссылки только после регистрации или входа
# nmap -sV 172.16.0.15 -p 1-65535

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-30 03:28 EET
Interesting ports on 172.16.0.15:
Not shown: 65531 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 5.1p1 (FreeBSD 20080901; protocol 2.0)
53/tcp   open  domain  ISC BIND 4.X
80/tcp   open  http    Apache httpd 2.2.13 ((FreeBSD) mod_ssl/2.2.13 OpenSSL/0.9.8e DAV/2 PHP/5.2.11 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.8.9)
3306/tcp open  mysql   MySQL (unauthorized)
MAC Address: 00:14:5E:22:11:2A (IBM)
Service Info: OS: FreeBSD

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20983.73 seconds

Стоит обратить внимание на то, что в поле SERVICE всегда отображается значение из файла /etc/services, соответствующее номеру порта. Это отнюдь не означает, что по данному порту будет запущен тот сервис, который указан в поле SERVICE. Можно запустить Web-сервер по 22 порту, а сервер SSH - по 80, но nmap все будет писать, что 22 порт - это ssh, a 80 - это HTTP.
Теперь просканируем брандмауэр/маршрутизатор на базе Linux. Вначале просканируем маршрутизатор с внут­реннего узла сети, а после - с удаленного узла, который находится вне нашей сети (например, в Интернете или другой локальной сети):
Код: *** ссылки только после регистрации или входа
# nmap 172.16.0.254 -p 1-65535
Starting Nmap 4.00 ( http://www.insecure.org/nmap/ )
Interesting ports on 172.16.0.254:
(The 65529 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
22/tcp open ssh
8080/tcp open http-proxy
10000/tcp open snet-sensor-mgmt
Nmap finished: 1 IP address (1 host up) scanned in 42.636 seconds

Код: *** ссылки только после регистрации или входа
# nmap -p 1-65535 example.com
Starting Nmap 4.00 ( http://www.insecure.org/nmap/ )
Interesting ports on example.com (172.20.1.100):
(The 65529 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
22/tcp filtered ssh
8080/tcp filtered http-proxy
Nmap finished: 1 IP address (1 host up) scanned in 47.537 seconds

В одном случае порт ssh открыт (open), другом - отфильтрован (filtered). Значение Filtered значит, что порт отклоняет (reject) или отбрасывает (drop) трафик. Это не говорит о том, запущен ли на этом порту сервис или нет.

UDP-сканирование.

UDP-порты надо обязательно сканировать. При поиске уязвимостей UDP-сервисы обычно упускают из виду. Мол, там ничего нет интересного. Так делать нельзя. Многие UDP-сервисы (echo, chargen, DNS - работает как по TCP, так и по UDP, а также RPC (Remote Procedure Call)) работают по протоколу UDP. Некоторые из них известны своим огромным списком эксплоитов, позволяющим получить права root'a. UDP-сканирование делается с помощью опции -sU сканера nmap:
Код: *** ссылки только после регистрации или входа
# nmap -sU 172.16.0.1 -p 1-65535
Starting Nmap 4.00 ( http://www.insecure.org/nmap/ )
All 65535 ports on 172.16.0.1 are: closed
Nmap run completed - 1 IP address (1 host up) scanned in 85599:56 seconds

Время сканирования очень большое примерно 1 секунда на порт. Отчего так долго? Система ограничила отправку ICMP-ответов: не более 1 в секунду. При UDP-сканировании нужно использовать опцию -Т. Она позволяет указать агрессивность сканирования. Есть 6 скоростей сканирования: Paranoid, Sneaky, Polite, Normal, Aggressive и Insane ( -T Polite). Первая скорость самая медленная, последняя - самая быстрая.

PING-сканирование.

Последующий режим nmap - это Ping-сканирование, которое обыкновенно исполь­зуется для того, чтобы определить, «жив» ли узел или нет. Если узел вклю­чен и подключен к сети (не 220!), значит, он «жив».

Многие узлы игнорируют ICMP-запросы echo, поэтому nmap отправляет АСК-пакеты на порт 80 (по умолчанию). Если в ответ получен RST-пакет, то жертва "жива". С помощью tcpdump можно увидеть, как nmap комбинирует методы - первым идет обычный "пинг", а после этого он отправляет пакеты на порт 80 (http).

Данный метод не совершенен. ICMP-запросы echo игнорируются многими узлами. Еще и 80-й порт нередко закрывают брандмауэром, поскольку посылается АСК-пакет без предварительной установки соединения. Чтобы "обойти" stateful-брандмауэр, нужно использовать для пинга SYN-пакеты:
Код: *** ссылки только после регистрации или входа
# nmap -sP -PS 172.16.0.1
Также можно изменить порт (указать другой порт, не 80):
Код: *** ссылки только после регистрации или входа
# nmap -sP -PS22 172.16.0.1
Эта команда указывает nmap использовать порт 22/tcp(ssh) вместо 80. Если не знаете, какие порты открыты, а какие - нет, то нужно использовать стандартные порты 21, 22, 25 и 53.

Ping-сканирование хорошо подходит, когда есть список машин сети и нужно узнать, в какое время к сети подключаются некоторые машины, а когда - отключаются от нее. Его можно использовать для обнаружения новых машин в сети. Для ping-сканирования диапазона IP-адресов обязательно используйте при указании IP-адреса звездочку (*). Когда нужно просканировать диапазон 172.16.0.0-172.16.0.255, надо использовать следующую команду:
Код: *** ссылки только после регистрации или входа
# nmap -sP 172.16.0.*
Starting Nmap 4.00 ( http://www.insecure.org/nmap/ )
Host 172.16.0.1 appears to be up.
Host 172.16.0.3 appears to be up.
Host 172.16.0.255 seems to be a subnet broadcast address (returned 1 extra pings).
Nmap finished: 256 IP addresses (2 hosts up) scanned in 2.767 seconds

Обзор основных возможностей на этом закончу. Думаю интересно будет, также, ознакомиться со следующими материалами:

*** ссылки только после регистрации или входа

*** ссылки только после регистрации или входа

73
APG - удаленный генератор паролей по telnet.

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

APG (Automated Password Generator - автоматический генератор паролей) – инструмент для генерирования случайных паролей. Он заинтриговал меня, поскольку поддерживает протокол pwdgen, определенный RFC 972. Интересно то, что хотя этот протокол доступен с 1986, большинство людей никогда не слышали о нём и не имели возможности использовать его в сети.

Давайте установим apg и увидим какую пользу оно может принести:
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/security/apg && make install clean
Установка произошла очень быстро, а вывод занял только три четверти экрана монитора. :) Но за это время порт установил три утилиты: клиент apg, сервер apgd, и менеджер Bloom-фильтра, apgbfm. Каждая утилита имеет соответствующий manpage, битком набитый примерами и полезными URL-ами для дополнительного чтения. Стоит отметить то, что один из URL ссылается на NIST, Национальный Институт Стандартов и Технологии (NIST известен своими наилучшим методами безопасности), другой на - FIPS (Федеральная Стандарт по Обработке Информации).

В самом простом своем использовании, apg сгенерирует шесть произвольных паролей, в надежде, что Вы выберете один из них как пароль. Пароли будут сложными, что означает их стойкость к атаке по словарю. Для того, чтобы сделать пароли запоминающимися, включите ключ t, который покажет Вам как лучше произносить сгенерированные пароли.

Вот пример использования:
Код: *** ссылки только после регистрации или входа
# apg -t
RicDeOs9 (Ric-De-Os-NINE)
geuwocDon3 (geu-woc-Don-THREE)
omfotCibta (om-fot-Cib-ta)
TamJukEd8 (Tam-Juk-Ed-EIGHT)
yelkibhos (yelk-ib-hos)
Dridoin3 (Drid-oin-THREE)

По умолчанию apg создает пароли длиной от восьми до десяти символов, использующих как верхний, так и нижний регистр. Тем не менее, Вы можете использовать дополнительные ключи, чтобы соответствовать любой парольной политике. Например, чтобы принудительно включить спецсимволы:
Код: *** ссылки только после регистрации или входа
# apg -MS -t
dabafjos/ (dab-af-jos-SLASH)
geshk*swu (geshk-ASTERISK-swu)
hutyeiz' (hut-yeiz-APOSTROPHE)
wakvob)odi (wak-vob-RIGHT_PARENTHESIS-od-i)
&ovyigrikl (AMPERSAND-ov-yi-gri-kl)
lerdeljid[ (lerd-elj-id-LEFT_BRACKET)

Для уверенности в том, что каждый пароль будет длиной 12 символов, определите 12 минимумом (-m) и максимумом (-x) длины пароля:
Код: *** ссылки только после регистрации или входа
# apg -MS -m12 -x12 -t
megrihyghep] (me-gri-hy-ghep-RIGHT_BRACKET)
emcujlabcat! (em-cuj-lab-cat-EXCLAMATION_POINT)
uctoldil'swy (uct-old-il-APOSTROPHE-swy)
tygopocparj: (tyg-op-oc-parj-COLON)
yedreumtutt} (ye-dreumt-utt-RIGHT_BRACE)
bagcu!gedany (bag-cu-EXCLAMATION_POINT-ged-an-y)

Если ваша политика паролей настаивает на действительно произвольных паролях, которые могут быть непроизносимыми, используйте -a1 вместо -МС:
Код: *** ссылки только после регистрации или входа
# apg -a1 -m12 -x12
:L<@6TP@"Z^[
*pIsI_o!690C
:f>SH)xj#/vO
ykwL|L=2KwDp
l)Lb?q*4b}0T
?h3wR>`:jPhZ

Хм-м-м. Наверное я остановлюсь на произносимых паролях .

apg также поддерживает способность проверять произвольно сгенерированные пароли атакой по словарю как с помощью словарного файла, так и с помощью Bloom-фильтра. Если при создании произвольного пароля, найдётся совпадение в любом из файлов, apg отбросит это и сгенерирует другой пароль.

Ваша система FreeBSD поставляется со словарным файлом, который находится в /usr/share/dicts/words. Если этого файла нет в Вашей конкретной системе, Вы можете установить его, используя /stand/sysinstall, выбрав configure, затемdistributions и выбирая dict. Этот файл отсортирован по алфавиту и хранится в кодировке ASCII, что означает, что Вы можете добавить ваши собственные слова. В общем, слова добавляются так:
Код: *** ссылки только после регистрации или входа
R00t
r00t
r00T
и так далее, поскольку слова чувствительны к регистру. Рекомендовано, чтобы Вы потратили некоторое время, добавляя слова, которых Вы не хотите в качестве паролей в вашей сети. Как только Вы закончите, заключите apg в двойные кавычки и сверьте с вашим словарным файлом используя ключ -r и определяя имя файла:
Код: *** ссылки только после регистрации или входа
# apg -MS -m12 -x12 -t -r /usr/share/dict/words
plecvumpyul: (plec-vump-yul-COLON)
nenyacyisej# (nen-yac-yis-ej-CROSSHATCH)
hocs;quadepa (hocs-SEMICOLON-quad-ep-a)
dabejyegawf' (dab-ej-yeg-awf-APOSTROPHE)
neirinajaun` (neir-in-aj-aun-GRAVE)
bempusaflov` (bemp-us-a-flov-GRAVE)

Ещё лучше, найдите время, чтобы создавать Bloom файл. Утилита потребует от Вас определить как имя словаря, так и желаемое имя Bloom-файла:
Код: *** ссылки только после регистрации или входа
# apgbfm -d /usr/share/dict/words -f ~/bloomfile
Counting words in dictionary. Please wait...

Эта команда может быть запущена обычным пользователем. В данном случае, я решил создать Bloom файл в своем домашнем каталоге. Как только файл будет сгенерирован, используйте ключ -b, чтобы сообщить apg где расположен Bloom файл:
Код: *** ссылки только после регистрации или входа
# apg -MS -m12 -x12 -t -b ~/bloomfile
pitmurresir. (pit-murr-es-ir-PERIOD)
ryudkuavbuj= (ryud-ku-av-buj-EQUAL_SIGN)
rinlelt{abap (rin-lelt-LEFT_BRACE-ab-ap)
tykawegcerg* (tyk-aw-eg-cerg-ASTERISK)
woabfifawoc? (woab-fif-aw-oc-QUESTION_MARK)
/drujatwajsi (SLASH-dru-ja-twaj-si)

Если Вы попробуете оба ключа -r и -b с apg, Вы обнаружите, что Bloom файл - значительно быстрее, так как он использует алгоритм, чтобы определять может ли быть пароль обнаруженным в словарном файле.

Последний ключ, который я упомяну, будет -s, (seed) ключ. Этот ключ рекомендован, так как он дает генератору случайных чисел начальное значение:
Код: *** ссылки только после регистрации или входа
# apg -MS -m12 -x12 -t -b ~/bloomfile -s

Please enter some random data (only first 16 are significant)
(eg. your old password):>
slebek%onton (sleb-ek-PERCENT_SIGN-ont-on)
clemvesyert$ (clem-ves-yert-DOLLAR_SIGN)
zeocneamrig- (ze-oc-neam-rig-HYPHEN)
ne*quenrynra (ne-ASTERISK-quen-ryn-ra)
rushkuncuit# (rushk-un-cu-it-CROSSHATCH)
winriwehorv/ (win-ri-we-horv-SLASH)

Обратите внимание на то, что эти пароли окончательно усложнены, но все еще довольно произносимы.

Вы можете создать сценарий оболочки так, чтобы не забывать заносить все ключи. Здесь я модифицировал предложение из man apg, чтобы включать свои желаемые ключи:
Код: *** ссылки только после регистрации или входа
# cat /home/muff/genpasswd.sh
#!/bin/sh
apg -MS -m10 -x10 -t -b /home/muff/bloomfile -s

Не забываем сделать файл исполняемым:
Код: *** ссылки только после регистрации или входа
# chmod +x /home/muff/genpasswd.sh
Теперь, чтобы сгенерировать пароли, можно просто набрать /home/muff/genpasswd.sh.

Другая альтернатива - создать псевдоним для команды apg. Поскольку я планирую использование apg на одной машине и я всегда работаю в C-shell (tcsh), я добавил такую строку в ~/.tcshrc:
Код: *** ссылки только после регистрации или входа
alias apg       apg -MS -m12 -x12 -t -b ~/bloomfile -s
Теперь, когда я набираю apg, он автомагически использует все мои желаемые ключи.

Вплоть до этого момента, мы концентрировались на apg клиенте, что означает, что мы пока не использовали протокол pwdgen. Подобно любому TCP/IP протоколу, pwdgen требует как компонент клиента, так и компонент сервера. Работа компонента сервера - слушать запросы клиента на своем порту.

Cервис запустим с помощью демона inetd, для чего Вам понадобится добавить следуюющие данные в файл /etc/inetd.conf:
Код: *** ссылки только после регистрации или входа
# echo 'pwdgen  stream  tcp     nowait          root    /usr/local/sbin/apgd    apgd' >> /etc/inetd.conf
Добавим запуск супердемона inetd в rc.conf:
Код: *** ссылки только после регистрации или входа
# INETd-service
inetd_enable="YES"

Делее просто просто набираем inetd, чтобы запустить сервис.
Код: *** ссылки только после регистрации или входа
# inetd
Преимущество использования apgd - то, что Вам не нужно установить порт apg на каждом пользовательском компьютере. Когда пользователям нужно генерировать произвольные пароли, они просто соединяются с портом 129 на сервере apgd. В этом примере apgd работает на сервере ix-ua.net:
Код: *** ссылки только после регистрации или входа
# telnet ix-ua.net 129
Trying 10.10.1.1...
Connected to ix-ua.net.
Escape character is '^]'.
chroyskIts
Vuvtibewci
rudidemUn
cliukmibva
Cavgarsorc
dyWyocks
Connection closed by foreign host.

Давайте посмотрим поближе на сгенерированные пароли. Помните, когда я добавлял строку к /etc/inetd.conf, я не включал никаких ключей на apgd. Это означает, что я получил по умолчанию от восьми до десяти букв без символов. Также отметьте отсутствие правил произношения, поскольку я не включал -t в своем inetd.

Наверное, лучше изменить эти умолчания, чтобы включить ключи, соответствующие моим сетевым парольным политикам. В моем случае строка в inetd.conf принимает следующий вид:
Код: *** ссылки только после регистрации или входа
pwdgen  stream  tcp     nowait          root    /usr/local/sbin/apgd    apgd -MCN -m10 -x10
Обратите внимание также на отсутствие ключа -s; к несчастью, этот выбор невозможен с apgd.

Теперь необходимо сообщить inetd о изменениях. Для этого перезапустим демон:
Код: *** ссылки только после регистрации или входа
# killall -1 inetd
Проверим, что у нас получилось:
Код: *** ссылки только после регистрации или входа
# telnet ix-ua.net 129
Trying 10.10.1.1...
Connected to ix-ua.net.
Escape character is '^]'.
yijLikMek3
SpazezOac2
eirdOlibr3
kaQuabBet5
LoHygjiel6
yorj1Kneir
Connection closed by foreign host.

Если Вы решите использовать сервер apgd, советую также изменить /etc/syslog.conf чтобы следить когда пользователи используют возможность генерирования паролей. Создаем лог-файл и добавляем следующие строки в /etc/syslog.conf (во второй строке не опечатка, так и должно быть):
Код: *** ссылки только после регистрации или входа
# touch /var/log/apgd.log
# echo '\!apgd' >> /etc/syslog.conf
# echo '*.info                                          /var/log/apgd.log' >> /etc/syslog.conf

Перезапускаем syslog, чтобы он "ознакомился" с изменениями:
Код: *** ссылки только после регистрации или входа
# killall -1 syslogd
Далее подключаюсь к серверу apgd и после этого ищу записи в лог-файле:
Код: *** ссылки только после регистрации или входа
# less /var/log/apgd.log
Jan 28 04:10:01 server apgd[2053]: password generation request from 127.0.0.1.49762

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

Оригинал статьи находится по адресу - *** ссылки только после регистрации или входа
74
Записки администратора / Tmux - консольный мультиплексор
« Последний ответ от Дмитрий Января 11, 2014, 10:43:34 pm »
Tmux - консольный мультиплексор

*** ссылки только после регистрации или входа - свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне.  Tmux является штатным мультиплексором терминалов *** ссылки только после регистрации или входа. Программа tmux задумывалась как замена программы *** ссылки только после регистрации или входа.

При старте tmux создаёт новую сессию с единственным окном и отображает её на экране. В статусной строке в самом низу экрана отображается информация о текущей сессии; эта же строка используется для ввода команд tmux’а.

Сессия tmux - это совокупность псевдо-терминалов, находящихся под управлением tmux’а. К каждой сессии привязаны одно или более окон. Экран может быть занят как только одним окно, так и мозаикой из нескольких окон, каждое из которых соответствует одному псевдо-терминалу.

 Основные отличия tmux от screen такие:
  • Клиент-серверная архитектура, при которой окна выполняют роль объектов, которые могут одновременно подключаться к нескольким сессиям, перемещаться между ними и просматриваться с разных клиентов (терминалов).
  • Механизм автоматизации выполняемых действий с помощью скриптов.
  • Несколько независимых буферов обмена.
  • Два варианта раскладки клавиатуры: стиль vi и emacs.
  • Более ясный формат описания строки статуса.
  • Возможность отображения вывода команды в строке статуса.
  • Экономное расходование оперативной памяти.
  • Высокая скорость работы.
  • Улучшенная поддержка UTF-8.
  • Интерактивные меню для выбора окон, сессий и клиентов.
  • Более гибкие возможности по разделению окон на регионы.

Итак, уже интересно. Выполним установку tmux из портов.
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/sysutils/tmux && make install clean && rehash
Итак, установка прошла без проблем... Первый запуск:
Код: *** ссылки только после регистрации или входа
# tmux
После запуска порадовала панель статуса, включеная по дефолту, да еще и с зеленой подсветкой.
Собственно, вот скриншот первой сессии tmux без каких-либо дополнений:


Как оказалось, сочатание клавиш Ctrl-a не работает, нужно использовать сочетание клавиш Ctrl-b, что не очень удобно. Это удобно тем, что не создает конфликтов со Screen, как в случае с minicom. Но мы их потом переделаем в обычные Ctrl-a  :P

Исключая сочетания клавиш в виде Ctrl-b, большинство клавиатурных комбинаций совместимы со Screen. Так, Ctrl-b c открывает новое окно, а при Ctrl-b 1 выполняется переход к окну номер один. В то же время некоторые действия выполняются совершенно другими сочетаниями клавиш:

    Ctrl-b w - это меню открытых окон
    Ctrl-b l - предыдущее окно
    Ctrl-b " - разделить окно по вертикали
    Ctrl-b & - уничтожает окно.

Для отключения от сессии используется все та же комбинация Ctrl-b d, однако для подключения обратно используется другой аргумент командной строки:
Код: *** ссылки только после регистрации или входа
# tmux attach
Также следует отметить тот факт, что любое действие, выполняемое с помощью сочетания клавиш, можно выполнить из коммандной строки. Например:

    # tmux last-window - переход к предыдущему окну
    # tmux new-window - создание нового окна
    # tmux list-commands - список поддерживаемых комманд

Не стоит недооценивать значение команд, при использовании tmux. С их помощью выполняется конфигурирование программы. Именно для конфигурирования предназначены две команды: set-option и set-window-option. set-option служит для изменения параметров сессии, set-window-option служит для изменения настроек окон.

Опции можно внести в конфигурационный файл в /usr/local/etc/tmux.conf:
Код: *** ссылки только после регистрации или входа
# sample tmux.conf file
#
# URLs to read:
#
# http://blog.yjl.im/2009/11/migrating-to-tmux-from-gnuscreen.html
# http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/
# http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-terminal-multiplexer-part-2/
# http://www.dayid.org/os/notes/tm.html
#
# Other sample tmux.conf files
#
# http://www.mindfuzz.net/?p=178
#
# -----------------------------------------------------------------------------
# Global settings

# Изменяем цвет строки статуса на белый
set -g status-bg white

# Изменяем правую часть статусной строки
set -g status-right '#(echo $USER)@#H #(uptime | cut -d "," -f 1)'

# Навигация по командной строке и списку окон в режиме vi
set -g status-keys vi
setw -g mode-keys vi

# Размер буфера истории
set -g history-limit 1000

# Меняем стандартный префикс на Ctrl-a
set -g prefix C-a
unbind C-b

# Переход к предыдущему окну по Ctrl-a
bind C-a last-window

# Ctrl-a +m включает мониторинг активности
bind M setw monitor-activity on


# Ctrl-a +m - запустить sudo mc
bind m neww 'exec sudo mc'

# Альтернативные комбинация для горизонтального Ctrl-a -(_) и вертикального Ctrl-a \ (|) разбития 
bind-key - split-window -v
bind-key _ split-window -v
bind-key \ split-window -h
bind-key | split-window -h

# Cтарт индексации окон с единицы (default 0)
set -g base-index 1


Также есть возможность модифицировать статусную строку. Для этого предназначены комманды status-left и status-right. Как можно догадаться, первая влияет на левую часть статус-бара, а вторая - на правую. Формат

    #(команда) - результат выполнения указанной команды
    #H - имя хоста
    #S - имя текущей сессии
    #T - имя текущего окна
    ## - символ #

Еще одной отличительной особенностью tmux является разбиение окон на регионы.

В отличие от Screen, для разделения окна вертикально на два равных региона используется комбинация Ctrl-b ", а для переключения между регионами по умолчянию - либо комбинация Ctrl-b o, либо Ctrl-b и навигационные клавиши. Но не забываем, что мы переделали комбинацию в фале tmux.conf на более удобную Ctrl-a ;)

Изменить размер региона можно с помощью комбинаций по умолчанию Ctrl-b Alt-Up и Ctrl-b Alt-Down, а в нашей переделке уже Ctrl-a Alt-Up и Ctrl-a Alt-Down.  Однако основная изюминка скрывается в поддержке нескольких вариантов размещения регионов, для переключения между которыми предназначена комбинация Ctrl-b Space (в моем случае Ctrl-a Space). В частности, регионы могут быть расположены горизонтально, вертикально, интеллектуально, с выравниванием или без.

Кстати, есть еще одна приятная особенность. Нажав Ctrl-b t (Ctrl-a t) можно вывести на экран часы, нарисованные псевдографикой. Они не будут исчезать с экрана до нажатия любой клавиши.


На этом обзор закончим. Более подробно с возможностями tmux можно ознакомиться *** ссылки только после регистрации или входа.
75
Записки администратора / Screen - дисконнекты теперь не страшны!
« Последний ответ от Дмитрий Января 11, 2014, 10:27:42 pm »
Screen - дисконнекты теперь не страшны!

Пора уже привыкнуть работать в screen… Удобная штука, рекомендую всем.

Но для начала мой .screenrc (должен лежать в домашнем каталоге пользователя)
Код: *** ссылки только после регистрации или входа
# less .screenrc
vbell off
activity 'activity in window %n'
bell_msg 'bell in window %n'
nethack on
autodetach on
startup_message off
defscrollback 10000
caption always
caption string "%{rk} %c %{dd} %{+b M}%n %{-b dd}%-w%{+b B.}%n* %t%{-}%+w%<"

Немного информации о screen:

SCREEN - полноэкранный и достаточно мощный консольный оконный менеджер с поддержкой скроллинга и поиска в окне и функцией копирования-вставки между ними. Наиболее интересная функция данного менеджера заключается в том что Вы можете в любой момент отсоединиться от своего screen`a и закрыть сеанс работы в шеле. После этого Вы можете присоединившись к screen`у вновь продолжить свою работу с того места где Вы остановились.

Устанавливаем screen из портов.
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/sysutils/screen
# make install clean

Выбираем необходимые опции
Код: *** ссылки только после регистрации или входа
Options for screen 4.0.3_6


[ ] CJK Treat CJK ambiguous characters as full width
[X] INFO Build and install info documentation
[X] MAN Build and install man pages
[X] NETHACK Enable nethack-style messages
[X] XTERM_256 Enable support for 256 colour xterm
[X] HOSTINLOCKED Print user@host in locked message
[X] SHOWENC Show encoding on the status line

И по окончанию установки не забываем перечитать пути
Код: *** ссылки только после регистрации или входа
# rehash
Итак, разберем поподробнее, как же работать с данным чудом. Для начала заглянем в конфигурационный файл .screenrc, который находится в домашнем каталоге. Если его там нет, можно скопировать общесистемный файл screenrc который находиться в каталоге /usr/local/etc.

Что же полезного можно включить в конфигурационном файле? Все опции можно изменить во время работы.
Для этого нажмите Ctrl+a:  и введите название параметра и его значение.

vbell off - управляет визуальным звонком. Если данный параметр будет включен (on) то звонок будет отображаться как вспышка на экране.

activity 'activity in window %n' - сообщение которое будет выводиться при включенном режиме мониторинга за окном. Полезно если Вы ждете какого либо действия в окне.

bell_msg 'bell in window %n' - сообщение которое выведется на Ваш экран в случае получения screen`ом звукового сигнала в каком либо окне.

nethack on - изменяет стиль текста выводимых сообщений на стиль знаменитой игрушки NetHack. Почувствуйте себя в подземельях... ;)

autodetach on - если по какой то причине соединение с управляющим процессом будет потеряно, то после востановления работа в screen может быть возобновлена. В обратном случае (off) - screen будет уничтожен со всеми дочерними окнами и процессами.

startup_message off - выключает сообщение об авторских правах при первом запуске screen`а.

defscrollback 10000 - количество строк по умолчанию для буфера прокрутки.

caption always - показывает заголовки окна в строке статуса.

caption string "%{rk} %c %{dd} %{+b M}%n %{-b dd}%-w%{+b B.}%n* %t%{-}%+w%<" - форматирование строки статуса. Данный набор символов приведет к тому что в строке статуса будет отображаться время и цветом выделяться активное окно.

После запуска screen создаст одно окно с Вашим shell. В последствии вы сможете создать дополнительные окна. Все нажатия клавиш передаются текущей программе в окне. Ограничение накладывается только на управляющую последовательность самого менеджера. Данная последовательность Ctrl+a. Для того что бы передать приложению данную последовательность Вам нужно нажать Ctrl+a и сразу a. В остальном - абсолютно никаких ограничений. Единственно что тип терминала должен быть VT100 совместим для правильной передачи нажатий при удаленной работе.
Тип терминала передаваемый приложению в окне screen - так и называться screen. Если Ваше приложение не поддерживает данный тип - его всегда можно изменить путем изменения переменной TERM.

КРАТКАЯ СВОДКА КОМБИНАЦИЙ КЛАВИШ ПРИ РАБОТЕ
Для создания нового окна - Ctrl+a c (create).

Для переключения между окнами - Ctrl+a a - между последним активным.

Ctrl+a <НОМЕР> - выбор окна по номеру. Ctrl+a (p|n) - циклическое перемещение между окнами. p - prev, n - next. Ctrl+a " - список окон для переключения.

Управление окнами - Ctrl+a A - изменить заголовок окна. Аналогично вводу команды title при нажатии Ctrl+a :

Ctrl+a C - очистить окно.
Ctrl+a F - подогнать размер окна под текущий размер терминала.
Ctrl+a H - протоколирование окна в файл screenlog.<НОМЕР ОКНА>
Ctrl+a K - уничтожить окно.
Ctrl+a M - режим слежения за активностью в окне. Если в момент этого вы находитесь в другом окне - в подсказке будет выведено:activity in window <НОМЕР ОКНА>
Ctrl+a r - переключение режима переноса по словам. (wrap)
Ctrl+a S - очень интересный режим работы. Сплит. То-есть текущее окно разделяется на две части и в обоих можно открыть по новому окну.
Переключение между окнами Ctrl+a; TAB, выход из режима сплит - Ctrl+a Q.
Общие команды

Ctrl+a ? - помощь
Ctrl+a Esc - режим скроллинга. Он же режим копирования. Для копирования подведите курсор к нужному месту и нажмите пробел.
Ctrl+a ] - Вставка выделенной области.
Ctrl+a x - Запереть менеджер. При вкомпиленной поддержке PAM - для разблокировки нужно ввести пароль пользователя от которого запущен менеджер. В обратном случае пароль для разблокировки будет запрошен при блокировании.

НАИБОЛЕЕ ЧАСТО ПРИМЕНЯЕМЫЕ ОПЦИИ КОМАНДНОЙ СТРОКИ.
d - подключиться к screen. Сделать deatach для остальных сессий.
list/-ls - список запущенных менеджеров.
dm - запуск screen в режиме deatach. Полезно для init скриптов или скриптов вообще.
wipe - удалить сведения о запущенных менеджерах. Полезно в случае потери менеджера, но сохранения информации о нем.
x - присоединиться к screen. Присоединение осуществляется даже в случае существующих соединений. Полезно при работе с одним screen из разных окружений. Например один screen и на X и на консоль. ;)

Пример:  коннектимся к серверу, запускаем screen (набиваем команду "screen"). Запускаем на выполнение программу.  Отключаемся от запущенного скрина сочетанием клавиш Ctrl+a d (detach). Снова коннектимся к серверу и подключаемся к запущенному скрину коммандой screen -rd.

Есть более современная замена screen - это tmux, о котором можно узнать в *** ссылки только после регистрации или входа!
76
Transmission - торрент-клиент для FreeBSD c web-интерфейсом
Поскольку все чаще и чаще необходимые файлы можно обнаружить только в  peer-to-peer сетях, решил на одном из ненагруженых серверов установить torrent-клиент, который работал бы круглосуточно. Выбор остановил на  transmission, поскольку управление даным torrent-клиентом можно выполнять через веб-интерфейс.

Выполним установку из системы портов:
Код: *** ссылки только после регистрации или входа
# cd /usr/ports/net-p2p/transmission-daemon
# make install clean

Внесем необходимые опции запуска в rc.conf:
Код: *** ссылки только после регистрации или входа
transmission_enable="YES"                                      # Запуск transmission
transmission_conf_dir="/usr/local/etc/transmission/"           # Каталог конфигурационных файлов
transmission_watch_dir="/usr/local/etc/transmission/torrents/" # Каталог для .torrent-файлов
transmission_download_dir="/incoming"                          # Каталог для загруженых файлов
transmission_user="transmission"                               # Имя пользователя, от имени которого будет работать transmission

Если опция запуска transmission_user не указана, то процесс запускается под пользователем transmission, а если задана пустой - тогда под root, что не рекомендуется. Также есть возможность указать дополнительные флаги запуска, воспользовавшись опцией запуска transmission_flags="".

Следующий шаг - создание каталогов и установка необходимых прав доступа. В процессе установки будет создан пользователь transmission. Если же хотите использовать другого пользователя - необходимо будет предварительно его создать.
Код: *** ссылки только после регистрации или входа
# mkdir -p /usr/local/etc/transmission/torrents
# mkdir /incoming/
# mkdir /usr/local/etc/transmission
# chown -R transmission:transmission /usr/local/etc/transmission/
# chown -R transmission:transmission /incoming

Пора приступать к созданию конфигурационного файла. Самый простой способ - запуск и останов transmission. В процессе запуска он проверит наличие необходимых файлов и в случае необходимости, создаст их.
Код: *** ссылки только после регистрации или входа
# sh /usr/local/etc/rc.d/transmission start
# sh /usr/local/etc/rc.d/transmission stop

После этого приступаем к редактированию конфигурационного файла settings.json, который будет создан в каталоге transmission_conf_dir. Немного подкоректировал дефолтный файл конфигурации. В результате имеем следующие параметры:
Код: *** ссылки только после регистрации или входа
{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/incoming/",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/incoming/.incomplete",
    "incomplete-dir-enabled": true,
    "lpd-enabled": false,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-high": 59999,
    "peer-port-random-low": 50000,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "pidfile": "/var/run/transmission/daemon.pid",
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "very_hard_pawssword",
    "rpc-port": 9095,
    "rpc-url": "/transmission/",
    "rpc-username": "muff",
    "rpc-whitelist": "127.0.0.1,192.168.*.*",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true,
    "watch-dir": "/usr/torrents/.torrents/",
    "watch-dir-enabled": true
}

Значительная часть опций понятна и без комментариев. Рассмотрим некоторых из опций.

    alt-speed-enabled - альтернативные настройки скорости;
    alt-speed-time-begin - время в минутах от полуночи до начала действия альтернативных правил;
    alt-speed-time-day - битовая маска дней, по которым действуют правила
        Sunday: 1 (binary: 0000001)
        Monday: 2 (binary: 0000010)
        Tuesday: 4 (binary: 0000100)
        Wednesday: 8 (binary: 0001000)
        Thursday: 16 (binary: 0010000)
        Friday: 32 (binary: 0100000)
        Saturday: 64 (binary: 1000000)
        Например:
        Рабочие дни: 62 (binary: 0111110)
        Выходные: 65 (binary: 1000001)
        Все дни: 127 (binary: 1111111)
         
    alt-speed-time-enabled - альтернативные настройки скорости в зависимости от времени суток;
    alt-speed-time-end - время в минутах от полуночи до окончания действия альтернативных правил;
    bind-address-ipv4 - на каком IPv4 адресе "биндить" демон;
    rpc-authentication-required - обязательна ли аутентификация для подключившихся;
    rpc-bind-address - на каком  IPv4 адресе "биндить" удаленный доступ;
    rpc-enabled - включение удаленного доступа;
    rpc-password - пароль для подключения; хешируется после рестарта;
    rpc-port - на каком порту "слушать" запросы к RPC
    rpc-url - по какому адресу ожидать запросов;
    rpc-username - имя пользователя для подключения;
    rpc-whitelist - перечень IP-адресов, разделенных запятой, для которых разрешены удаленные подключения;
    rpc-whitelist-enabled - включать ли rpc-whitelist 

Попытаемся запустить transmission:
Код: *** ссылки только после регистрации или входа
# sh /usr/local/etc/rc.d/transmission start
Сервис успешно стартовал. Если же нет - ищем в логах причину ошибки. Также после успешного старта можно обнаружить такие записи в /var/log/messages:
Код: *** ссылки только после регистрации или входа
... UDP Failed to set send buffer: No buffer space available ...
... UDP Failed to set receive buffer: No buffer space available ...

Исправить эту ситуацию можно увеличив максимально допустимый размер приемного буфера операционной системы:
Код: *** ссылки только после регистрации или входа
# echo 'kern.ipc.maxsockbuf=2097152' >> /etc/sysctl.conf
# sysctl kern.ipc.maxsockbuf=2097152

Либо же, как вариант, можно в settings.json переменную utp-enabled выставить в значение "falce".

ВАЖНО!
В случае необходимости внесения  изменений в файл конфигурации settings.json, предварительно необходимо остановить transmission.

После запуска сервиса можно заходить на веб-интерфейс, используя логин и пароль, указанный в конфигурационном файле. Пройдя авторизацию, нам будет доступен демон по web интерфейсу.



Думаю с основными возможностями предоставленного интерфейса разобраться не составит труда.

Кстати, transmission дает довольно большое поле для творчества, разрешая запуск внешних скриптов.

Доступные переменные:

    $TR_APP_VERSION - версия transmission
    $TR_TORRENT_ID - id торрента, как оно показывается в remote-GUI
    $TR_TORRENT_NAME - имя торрента как оно отображается в интерфейсе
    $TR_TORRENT_DIR - директория торрента
    $TR_TORRENT_HASH - хэш торрента
    $TR_TIME_LOCALTIME - дата и время запуска стрипта

Например, сделаем так, что по завершению закачки на почту будет приходить уведомление.
Для этого напишем скрипт finish.sh следующего содержания:
Код: *** ссылки только после регистрации или входа
#!/bin/sh

echo $TR_TIME_LOCALTIME - $TR_TORRENT_NAME Downloaded | mail -s "Torrent download successfull" /
root [at] domain [dot] com (root [at] domain [dot] com)

exit 0;

Остановим transmission и внесем необходимые изменения в settings.json:
Код: *** ссылки только после регистрации или входа
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/usr/local/etc/transmission/finish.sh",

После этого снова запускаем transmission.

взято с *** ссылки только после регистрации или входа


77
Записки администратора / Информационные команды FreeBSD
« Последний ответ от Дмитрий Января 10, 2014, 03:29:01 pm »
Информационные команды FreeBSD

Понадобилось как-то узнать подробно, из каких комплектующих собран удаленный сервер, работающий под управлением FreeBSD. Вывода /var/run/dmesg.boot в моем случаем было явно недостаточно... В таких ситуациях на помощь приходит утилита dmidecode. С ее помощью можно получить детальную информацию о материнской плате, процессоре, оперативной памяти и тд.

Установка утилиты выполняется из системы портов и проблем не вызывает:
Код: *** ссылки только после регистрации или входа
#cd /usr/ports/sysutils/dmidecode
#make install clean

Ну и, собственно, теперь можно "пожинать плоды".   :P
Вывод информации о "железе" (обрезал вывод, поскольку вывод информации предоставляется довольно много):
Код: *** ссылки только после регистрации или входа
# dmidecode | less

# dmidecode 2.11
SMBIOS 2.3 present.
61 structures occupying 2340 bytes.
Table at 0x000FA380.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
        Vendor: American Megatrends Inc.
        Version: 080010
        Release Date: 10/19/2004
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 1024 kB
        Characteristics:
                ISA is supported
                PCI is supported
                PNP is supported
                APM is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                AGP is supported
                LS-120 boot is supported
                ATAPI Zip drive boot is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported

Handle 0x0001, DMI type 1, 25 bytes
System Information
Manufacturer: Supermicro
Product Name: X6DVA
Version: 1234567890
Serial Number: 1234567890
UUID: 00020003-0004-0005-0006-000700080009
Wake-up Type: Power Switch

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Supermicro
Product Name: X6DVA
Version: 1234567890
Serial Number: 1234567890

Handle 0x0038, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x002C
        Error Information Handle: Not Provided
        Total Width: 128 bits
        Data Width: 128 bits
        Size: 512 MB
        Form Factor: DIMM
        Set: None
        Locator: DIMM2
        Bank Locator: BANK1
        Type: DDR
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Manufacturer5
        Serial Number: SerNum5
        Asset Tag: AssetTagNum5
        Part Number: PartNum5

Handle 0x0039, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x000200003FF
        Range Size: 524289 kB
        Physical Device Handle: 0x0038
        Memory Array Mapped Address Handle: 0x002D
        Partition Row Position: 1
        Interleave Position: 2
        Interleaved Data Depth: 1

Handle 0x003A, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

Handle 0x003B, DMI type 38, 18 bytes
IPMI Device Information
        Interface Type: Unknown
        Specification Version: 0.0
        I2C Slave Address: 0x00
        NV Storage Device Address: 0
        Base Address: 0x0000000000000000 (Memory-mapped)
        Register Spacing: Successive Byte Boundaries

Handle 0x003C, DMI type 127, 4 bytes
End Of Table

Как видите, информация довольно обширная. Чтобы конкретизировать получаемую инфорамацию, необходимо указывать соответствующие ключи. Ключи можно узнать на странице man-руководства. Например, чтобы вывести информацию о процессорах (в моем случае их два).
Пример такого запроса:
Код: *** ссылки только после регистрации или входа
# dmidecode --type 4
# dmidecode 2.11
SMBIOS 2.3 present.
 
Handle 0x0004, DMI type 4, 35 bytes
Processor Information
        Socket Designation: CPU 1
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: 41 0F 00 00 FF FB EB BF
        Signature: Type 0, Family 15, Model 4, Stepping 1
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Xeon(TM) CPU 2.80GHz
        Voltage: 3.3 V 2.9 V
        External Clock: 800 MHz
        Max Speed: 2800 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: Socket 478
        L1 Cache Handle: 0x0005
        L2 Cache Handle: 0x0006
        L3 Cache Handle: 0x0007
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Part Number: To Be Filled By O.E.M.
 
Handle 0x0008, DMI type 4, 35 bytes
Processor Information
        Socket Designation: CPU 2
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: 41 0F 00 00 FF FB EB BF
        Signature: Type 0, Family 15, Model 4, Stepping 1
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Xeon(TM) CPU 2.80GHz
        Voltage: 3.3 V 2.9 V
        External Clock: 800 MHz
        Max Speed: 2800 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: Socket 478
        L1 Cache Handle: 0x0009
        L2 Cache Handle: 0x000A
        L3 Cache Handle: 0x000B
        Serial Number: To Be Filled By O.E.M.
        Asset Tag: To Be Filled By O.E.M.
        Part Number: To Be Filled By O.E.M.

Теперь дело за малым - "повыдергивать" из вывода dmidecode необходимую информацию.    ;)

Например, сколько и каких планок стоит в сервере, очень помогло:
Код: *** ссылки только после регистрации или входа
dmidecode --type 17|grep Size
    Size: 8192 MB
    Size: No Module Installed
    Size: No Module Installed
    Size: 8192 MB
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: 8192 MB
    Size: No Module Installed
    Size: No Module Installed
    Size: 8192 MB
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed
    Size: No Module Installed

А воспользовавшись ключом "memory", вы получите детальный отчет обо всей установленной памяти.
Код: *** ссылки только после регистрации или входа
# dmidecode -t memory

Далее привожу список более специализированных информационных команд

#pciconf -lv        -инфа об pci устройствах

#dmesg | grep "Ethernet"           -инфа об устройствах в названии которых есть Ethernet

инфа о проце
#grep -w CPU: /var/run/dmesg.boot

#sysctl -a | grep machdep.tsc_freq:

#sysctl hw.machine               архитектура
#sysctl hw.model                модель проца
#sysctl hw.ncpu         кол-во процессоров
#sysctl hw.physmem           объем памяти

Инфа о дисках

место в папке
#du -hsx /usr/home/natan
#du -h -d 1 /home

#df -m        -дисковое пространство

#diskinfo -t /dev/da0        -производительность диска

Сетевая инфа

#dig -x  8.8.8.8  -узнать имя хоста по IP адресу  :P

#netstat -rn       -таблица маршрутизации

#sockstat | grep nat       -информация по соединению программы

#tcpdump proto gre and host modem_ip_address      -фильтр пакетов протокол gre отправленных на modem_ip_address

Другая общая инфа

Динамика изменения параметров:
#netstat -w 1
#iostat -w 1
#vmstat -w 1
#gstat

Состояние буферов:
#vmstat -z
#netstat -m
#netstat -Lan
#netstat -s -p tcp

#systat -if 1
#systat -tcp 1
#systat -ip 1

#systat -vmstat 1

И ещё несколько команд  :o
#netstat -s
#fstat
#top -aSHP
#kldstat
#sysctl -a
#vmstat -i
#vmstat -m
#dmesg
#ps ax
#ngctl list

#vmstat -z | egrep 'socket|tcpcb'

HDD

atacontrol list - просмотр всех жестких дисков в системе (показывает в том числе и их модели)
mount – показывает смонтированные подразделы и флаги из монтирования
cat /etc/fstab – таблица монтирования при загрузке
disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
swapinfo – показывает список подразделов свопинга на дисках и их использование

gstat – нагрузка на диски
fstat – показывает список открытых файлов (имена файлов не выводятся)
pstat -f – выводит список открытых файлов (имена файлов не выводятся)
iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
iostat -d -w1 -c7 – нагрузка на диски. Статистика в удобном виде
vmstat – выводит количество операций на диске в секунду
sysinstall – можно посмотреть и изменить разметку диска и монтирование

systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
systat -io start 1 - HDD + CPU
diskinfo -t ad4 – тест на дисковую производительность
tunefs -p /var/ – информация о настройках файловой системы (UFS)


df -H – количество свободного места
df -i – количество свободных инодов

Network

ifconfig – список сетевых интерфейсов с ip-адресами, масками, mac-адресами, типами карт и их статусами (названия карточек можно посмотреть в файле конфигурации ядра)
ifconfig -d  - Просмотреть список отключенных интерфейсов
ifconfig -u  - Список включенных сетевух
netstat – вывод активных сетевых соединений (сокетов)
netstat -i ошибки на интерфейсах
netstat -m - просмотр хватает ли mbuf и т.д.
netstat -inb – сколько передано через интерфейс в байтах
netstat -ibt – список интерфейсов, разбитых по ip-адресам (!) с объемом трафика на каждом, количеством ошибок, коллизий, значением watchdog-таймера
netstat -hdw 1 -i net1 - Просмотр количества пакетов в сек, ошибок и дропов на интерфейсе (online)
netstat -r – таблица маршрутизации

systat -ifstat n– интенсивность передачи трафика (online) по всем сетевым интерфейсам за n секунд
systat -netstat n – аналог netstat в реальном времениsysctl kern.ipc.numopensockets – количество открытых сокетов
systat -ip n – таблица IP-пакетов и ошибок по типам за n секунд
systat -tcp n – таблица TCP-пакетов и ошибок по типам за n секунд
systat -icmp n – таблица ICMP-пакетов и ошибок по типам за n секунд

arp -a – просмотр всей таблицы ARP
arp -ad – очистка всей таблицы ARP

tcpdump -i rl0 host 192.168.61.20 and port 80 – сниффер пакетов на интерфейсе rl0, фильтрующий пакеты, содержащие адрес 192.168.61.20 и порт 80
trafshow -i rl0 – программа для сортировки и вывода сетевых потоков (устанавливается дополнительно пакетом или из портов)
System
top -mio – показать I/O по процессам
top -S – показать системные процессы в топе (по дефолту они не показываются)
top -SHPI - показать загрузку по ядрам, в том числе и системные процессы, кроме тех что в простое. Наиболее удобный вариант.

vmstat -z чего не хватает
vmstat -i прерывания по устройствам
systat -vmstat n – просмотр всей сводной статистики по системе(online).  вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)
uptime - можно просмотреть время работы системы без перезагрузок и load averages системы
pcpustat - мониторинг CPU (порт)
ps afx – список запущенных процессов и время процессора на каждый
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* - Посмотреть очередность запуска сервисов в freebsd.

Если кто то еще знает другие команды, можете оставлять их, будем только благодарны за помощь!  :P


78
Новый синтаксис конфига mpd5 и с чем его теперь подают!? 

Недавно решил наконец-то перейти на пятёрку!
Там уже появился нормальны resolve, который уже может постоянно делать это :)

Не знаю! Почему как я начинаю всем говорить про mpd, все начинают плеваться и чихать на него! Как на прокаженного!
Мне он нравится и я его постоянно использую уже на протяжении многих лет! Кто еще  может одновременно подымать и сервера и клиента почти для всех туннелей, которые используются у провайдеров!? Я больше таких не знаю!
Одновременно работать на одном порту и сервер и клиент больше никто не умеет, на сколько я знаю.

В общем, начинаю ставить и думаю, что старые конфиги немного подправлю и будет опять работать как прежде.
Так нет, почти полностью поменялся синтаксис и по-этому выкладываю свои плоды мучений и поисков примеров!  :P

Для сервера секретный файл mpd.secret остался такой же, там ничего слава богу не поменяли!
Извините, вам запрещён просмотр содержимого спойлеров.

А вот в основном конфигурационном файле mpd.conf, как видно на моем примере, все стало немного отличатся!
Извините, вам запрещён просмотр содержимого спойлеров.

Хотя клиентская чаcть почти ничем не отличатся от четвёрки! Только, разве что убрали теперь все no и оставили disable/enable/accept для почти всех установок! Главная же часть изменений синтаксиса затронуло серверную часть записей!! Теперь главное не перемешать команды!! Все настройки link нада прописывать только после записей create link и не раньше! Раньше приходилось статично прописывать к каждому туннелю свои записи и держать их открытыми на соединение! Теперь, с помощью template, можно не делать этого! Достаточно указать диапазон IP адресов ippool add pool и указать сетку свою в ipcp ranges к диапазону ippool pool и все! 8)  Да и open в конце при template не нужно ставить!

Да и скрипты для клиентской части записей для поднятия шлюза все таки еще нужно использовать! Куда без них уже денешься! :)

Этот на открытие сессии!
Извините, вам запрещён просмотр содержимого спойлеров.

А это для закрытия сессии и возврата основного шлюза, приписанного к сетевой карте!
Извините, вам запрещён просмотр содержимого спойлеров.

Вот и все пироги!  всем спасибо!
*** ссылки только после регистрации или входа   *** ссылки только после регистрации или входа


79
Записки администратора / Оценка загруженности диска в FreeBSD...
« Последний ответ от Дмитрий Января 10, 2014, 01:03:26 am »
Оценка загруженности диска в FreeBSD...
Часто возникают ситуации, когда сервер начинает тормозить, но непонятно по какой причине. Просмотр команды top не дает никакой нужной нам информации. Возможно не справляется жесткий диск сервера. как это проверить? Для этого существует несколько полезных утилит.

Для начала запустим команду systat -vm. Чтобы экран обновлялся почаще введем команду ":start 2". Данная команда показывает загрузку ваших дисковых устройств. Обратите внимание если даже загрузка одного из устройств "100% busy", это не значит что все плохо. Это значит что устройство работает, но не обязательно что оно перегружено. В примере ниже сервер собственно почти ничем не занят.



Также неплохо бы посмотреть состояние дисковой очереди. Поможет нам в этом команда "iostat -x 2"


В этом расширенном режиме iostat(8) покажет не только скорость обмена с каждым дисковым устройством, но также длину его очереди (wait или qlen) и среднее время обслуживания (svc_t). Если очередь большую часть времени -- разумной длины (1-2-3) и время обслуживания сопоставимо с периодом оборота диска (порядка 1-10 мс -- поделите 60 с на RPM диска), то диск "100% busy" отлично справляется с нагрузкой, хотя ему отдыхать некогда. Но если очередь и время обслуживания постоянно большие, диск безнадежено перегружен и не успевает за потоком запросов -- пора искать виновника перегрузки или новое дисковое решение.
В FreeBSD с GEOM увидеть полную картину можно одной утилитой: gstat.



Она покажет не только длину очереди каждого устройства GEOM, но также раздельно средние времена записи и чтения, так что можно даже понять, тормозит ли запись на диск или чтение с него. (Не уверен, включают ли они время ожидания svc_t или же отражают только время физической операции. Так что посмотреть может быть полезно и на вывод iostat -x.


80
Доменные имена / Хостинг, Регистрация доменных имен в .IX-UA.NET .EXUA.ORG
« Последний ответ от Дмитрий Декабря 26, 2013, 02:33:19 pm »
Регистрация публичных доменов в .IX-UA.NET  .EXUA.ORG

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

Например,  ВАШДОМЕН.ix-ua.net

ЦЕНА от 40 грн в год

*** ссылки только после регистрации или входа
Страницы: 1 ... 6 7 [8] 9