tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне.
При старте tmux создаёт новую сессию с единственным окном и отображает её на экране. В статусной строке в самом низу экрана отображается информация о текущей сессии; эта же строка используется для ввода команд tmux.
Это как screen, только намного лучше 🙂
-
Очень хороший способ запустить tmux. Делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый
tmux attach || tmux
-
Вывести список существующих сессий
tmux ls
Попав в tmux вы можете давать команды управления им только после нажатия сочетания CTRL + b
.
Важно сказать что вы может не просто создавать новые окна, а ещё и добавлять панели в каждое окно. Например вы можете разделить одно окно на 2 части (панели) – верхнюю и нижнюю или левую и правую.
Небольшая шпаргалка управления tmux:
CTRL+b c |
Создать новое окно |
CTRL+b 0..9 |
Переход между окнами 0..9 |
CTRL+b p |
Перейти в предыдущее окно |
CTRL+b n |
Перейти в следующее окно |
CTRL+b l |
Перейти в предыдущее активное окошко (из которого вы переключились в текущее) |
CTRL+b w |
Список всех окон |
CTRL+b & |
Закрыть окно (или можно набрать просто exit ) |
CTRL+b % |
Разделить текущую панель на две, по вертикали |
CTRL+b " |
Разделить текущую панель на две, по горизонтали |
CTRL+b →←↑↓ |
Переход между панелями одного окна |
CTRL+b x |
Закрыть панель |
CTRL+b d |
Отключится (прервать соединение) |
CTRL+b ? |
Справка обо всех комбинациях клавиш |
CTRL+b & |
Отобразить часы (закрыть их можно нажатием любой кнопки) |
Читати далі…
Решил составить ТОП 15 самых интерестных способов использования программы анализатора траффика (сниффера) tcpdump
.
- Получение всей полезной информации о пакете.
tcpdump -nnvvXSs 1514 -i $INTERFACE
- Перехват логина и пароля для протоколов pop3, imap, smtp и http
tcpdump -i $INTERFACE port http or port smtp or port imap or port pop3 -l -A \
| egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user '
- Сниффинг HTTP траффика
tcpdump -i $INTERFACE port 80 -w -
- Анализирует траффик удаленно через SSH с помощью Wireshark
ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
- Отображает пропускную возможность сети.
tcpdump -w - | pv -bert >/dev/null
Сниффинг удаленной сети для получения pcap файла в режиме командной строки.
Прервать сбор можно нажатием CTRL+C, после чего открыть его с помощью wireshark для более детального анализа так: wireshark /tmp/sniff.pcap
Запускается на удалённом хосте.
tcpdump -v -i $INTERFACE -s 0 -w /tmp/sniff.pcap port
- Анализ SMTP. Вы можете запустить это на почтовом сервере, чтобы посмотреть отправителей электронной почты и получателей.
tcpdump -l -s0 -w - tcp dst port 25 | strings | grep -i 'MAIL FROM\|RCPT TO'
- Захват 1500 байт данных в ASCII-режиме на 80-ом порту.
tcpdump -i $INTERFACE -n tcp port 80 -A -s1500
- Захват траффика memcached
tcpdump -i $INTERFACE -s 65535 -A -ttt port 11211
- Сниффинг траффика и переадресация его в
snort
на машину 192.168.0.2Запускается на удалённом хосте.
tcpdump -nn -i $INTERFACE -w - | nc 192.168.0.2 666
- Получение информации о Cisco-сети (VLAN тэг, порт, switch, …)
tcpdump -nn -v -i $INTERFACE -s 1500 -c 1 'ether[20:2] == 0x2000'
- Отображение SYN-пакетов для всех сетевых интерфейсов
tcpdump -i any -n tcp[13] == 2
- Сниффинг всех DNS запросов и ответов
tcpdump -i $INTERFACE 'udp port 53'
-
Сниффинг TCP и UDP траффика, исключая SSH tcpdump -n -v tcp or udp or icmp and not port 22
Наткнулся на список команд для управлением пакетным фильтром (фаерволом) pf.
pfctl -d |
выключить пакетный фильтр |
pfctl -e |
включить пакетный фильтр |
|
pfctl -f /etc/pf.conf |
загрузить конфиг из /etc/pf.conf |
pfctl -n -f /etc/pf.conf |
проверить на ошибки /etc/pf.conf , но не загружать его |
pfctl -R -f /etc/pf.conf |
загрузить только правила фитрации из /etc/pf.conf |
pfctl -N -f /etc/pf.conf |
загрузить только правила NAT из /etc/pf.conf |
pfctl -O -f /etc/pf.conf |
загрузить только опции из /etc/pf.conf |
|
pfctl -F all |
сбросить всё |
pfctl -F rules |
сбросить только правила фильтрации |
pfctl -F queue |
сбросить только очереди |
pfctl -F nat |
сбросить правила NAT |
pfctl -F info |
сбросить всю статистику |
pfctl -z clear |
очистить все счётчики |
|
pfctl -s rules |
показать текущие правила фильтрации |
pfctl -v -s rules show |
показать информацию по каждому правилу фильтрации |
pfctl -vvsr |
показать текущие правила фильтрации с добавлением номера правила |
pfctl -v -s nat |
показать текущие правила NAT отдельно по каждому правилу |
pfctl -s nat -i xl1 |
показать правила NAT для интерфейса xl1 |
pfctl -s queue |
показать очереди |
pfctl -s state |
показать текущее состояние таблиц |
pfctl -s info |
показать статистику правил и состояние счётчиков |
pfctl -s all |
показать все что можно |
|
pfctl -t testtable -T show |
просмотр содержимого таблицы testtable |
pfctl -t testtable -T show -v |
просмотр более подробной статистики по каждому адресу таблицы testtable |
pfctl -t testtable -T add 192.168.1.1 |
добавление адреса 192.168.1.1 в таблицу testtable |
pfctl -t testtable -T delete 192.168.1.1 |
удаление адреса 192.168.1.1 из таблицы testtable |
pfctl -t testtable -T flush |
очистить таблицу testtable |
Сегодня я расскажу как можно работать с базой данных PostgreSQL с помощью nginx’a без application’a (например, PHP или любого другого). Т.е. эта технология абсолютно не зависит от языка, на котором сделан сайт/проект/система.
Мы будем использовать мощь PostgreSQL в хранимых процедурах (stored procedures/functions), а кэшировать с помощью быстрого Redis.
Читати далі…
Я создал небольшую шпаргалку соответствий команд систем управления версиями SVN/Subversion и Git. Пользуйтесь! 😉
svnadmin create repo
git init
git add .
svn import file://repo
git commit
svn diff -rrev path
git diff rev path
svn revert path
git checkout path
svn add file
git add file
svn commit
git commit -a
git push remote
svn blame file
git blame file
svn cat url
git show rev:path/to/file
svn list url
git show rev:path/to/directory
svn log -rrev url
svn diff -crev url
git show rev
svn copy https://example.com/svn/trunk
https://example.com/svn/tags/name
git tag -a name
svn list https://example.com/svn/tags/
git tag -l
svn log –limit 1 https://example.com/svn/tags/tag
git show tag
svn copy https://example.com/svn/trunk https://example.com/svn/branches/branch
git branch branch
svn switch https://example.com/svn/branches/branch
git checkout branch
svn list https://example.com/svn/branches/
git branch
svn update -r rev
git checkout rev
svn update
git checkout prevbranch
svn merge -r rev:HEAD https://example.com/svn/branches/branch
git merge branch
svn merge -c rev url
git cherry-pick rev
svn checkout url
git clone url
svn switch url
git checkout –track
-b branch origin/branch
Это делается довольно легко (выведет все уникальные User-Agent из лога):
cat access.log | awk -F'"' '{print $6}' | sort | uniq
Если лог имеет другой формат — заменить $6 на другой порядковый номер столбца.
Спрятать файлы внутри JPEG-изображения довольно просто.
Берём архив rar/zip (к примеру something.rar
) и картинку в которую мы хотим вложить какие-то данные (например someimage.jpg
).
Теперь просто выпоняем комманду:
cat someimage.jpg something.rar > result.jpg
Вуаля! Наш архив something.rar
теперь спрятан в картинке result.jpg
.
Для извлечения необходимо просто переименовать result.jpg
в result.rar
и открыть любимым архиватором.
Наверное, моя статья будет не интересна матерым сисадминам и покажется копипастом. Но я адресую ее тем, кто, как и я, будучи только разработчиком, впервые столкнулся с необходимостью еще и администрировать сервер, при этом решая задачи высоконагруженной БД. И чтобы гугл вас не проклял, постараюсь собрать в одном месте основные приемы для разгона сервера БД, которые мне успешно удалось реализовать.
Читати далі…
Введение
С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Читати далі…