Skip to content

Собственно коммент чувака с хабры, где написано чокак.

1) Хорошо знать Матан/Теорвер/Теорию графов/Криптографию — без этого профессионалом не станешь.
2) Сесть, почитать, и определиться с каким из главных направлений хочется работать:
а) Сетевой/VOIP/Radio инженер
б) ОС-Инженер+Сервис_инженер
в) Инженер-безопасник
В не зависимости от направления:
— Выучить английский до уровня Intermediate
Итак, в зависимости от направления:
— Если сетевой инженер — накачать доку по циске, поставить GNS3, сдать на CCNA, пойти работать в провайдер сапортом, потом расти и так вплоть до техдиректора=)
— Если Unix инженер — взять тазик P3/еще какой-либо отстой, поставить туда (ОБЯЗАТЕЛЬНО! ) Gentoo/Slackware/FreeBSD, Засетапить туда куча сервисов (apache/DBE/mail/dns/etc) настроить все это для «домашней сети» — пойти работать в компанию, которая этим занимается (как правило вакансия звучит как UNIX/Windows- администратор)
— Если безопасник, то тут все сложно. Требуется и ОС и сети. Требуется опыт работы и там и там. Требуется огромная ответсвенность. Платят много только за рубежом. Так что у нас — не советую. Банки/Госконторы скупые. Остальные частные предприятия не понимают важности безопасности. А так — совмещение предыдущих гайдов только разрезе секурити — У Cisco курс Security пройти ну и т.д.

В начале работы набросал скрипт для увеличения количества личного свободного времени при тестировании роутов ip-телефонии при использовании биллинга AMBS.

Инструкция по использованию скрипта для прямого тестирования шлюзов оператора.

Прежде всего - нужно вручную запустить программу twinkle.

Запуск скрипта производится так - ./test.sh phones, где phones - подготовленный файл со списком телефонных номеров.Последняя строка в файле должна оканчиваться переводом строки, чтобы скрипт корректно обработал последний номер из списка. В номерах не должно быть пробелов, должны быть только цифры, без всяческих тире и прочих знаков.

Далее, нужно выбрать компанию, от которой будут исходить звонки. После этого вводим ID сайта, на который нужно послать звонок и жмём Enter. Сразу после этого скрипт инициирует звонок на первый номер из файла. Появляется список, в котором перечислены распространённые описания осуществленного звонка.

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

Если нужно перепроверить номер - его можно вставить в Twinkle и проверить вручную, звонки не будут идти дальше пока не введено описание звонка.

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

Если нужно проверить много операторов и сразу - в файл со звонками вносим номера с префиксами прямого тестирования. На этапе выбора компании и сайта ничего не вводим, просто жмём Enter (операторы и сайта у нас уже указаны в файле)

https://github.com/t1mb4/ambs-calltest

<link href="/css/styles.css?v=<?php echo filemtime($_SERVER['DOCUMENT_ROOT'].'/css/styles.css'); ?>" rel="stylesheet" type="text/css" />

Таким образом при обновлении файла - время модификации меняется, и используется в качестве версии файла.

Чтобы найти слово или словосочетание в vim и заменить его на другое нужно использовать :

:%s/\/на_что_заменяем/gc

Красота. Вим сам находит нужное слово, заменяет на нужно. Все красиво и аккуратно.

Что означают элементы этой команды:
Команда состоит из:
:
Вход в командный режим

%
Выполнить эту команду на всех строках (% - синоним "от первой до последней строки".)

s
Сокращенная форма команды :substitute.

/\/
Здесь указываем нужный текст или слово, которое в последствии придется заменять. \ указывает на начало слова и \> - указывает на конец.

/на_что_заменяем/
здесь вводим тект, на который мы и будем заменять

gc
Флаги
g
Глобально -- Заменяет каждое вхождение, не используя "с начала и до конце" на каждой строке
c

Подтверждение -- Спрашивать перед каждой заменой

Чтобы не подтверждать замену каждого слова можно использовать эту команду без "с" в конце. Тогда vim заменит все вхождения слова в файле.

echo ""
mysql -h x.x.x.x -u user -ppassw dbname -e 'select id,contacts from cms_users where contacts is not NULL;'  | grep http://\\S\\+ -o |sed 's/\\n[0-9]//'| sed 's/\\n//'| sed 's/:$//' | sed 's/\/$//' | sed 's/.*diary.ru.*/diary user acc/' |sort -u|sed 's/$/\n
/'
echo ""

На работе ноут за натом, надо пробросить порт ssh сервера чтобы из допустим Бобруйска к нам подключились и радовались жизни.

В наличии есть ноут и сервак с белым ойпишником в Киргизии =)

Нашел решение тут

на main (это который за НАТом и к которому нужно получить доступ) запускаем что-то вроде (без пробела после собаки):
ssh -R 1234:localhost:22 -p 22 remote@ 192.168.3.1
192.168.3.1 - это адрес "терминала".
-R 1234:localhost:22 - значит, что перенаправляем обращение с localhost:1234 на порт 22
remote - имя юзера на "терминале"
-p 22 - порт, на котором sshd ждет-с.

Вводим пароль и устанавливается ssh-туннель.

Теперь на "терминале" запускаем что-то вроде:
ssh -p 1234 user@localhost
Т.е. стучимся через порт 1234 с localhost на удаленный комп, с которого выше устанавливали соединение.
user - имя пользователя на "main".

Форвардинг портов при испольовании ssh требует следующей довольно длинной команды:

$ ssh -L 8888:127.0.0.1:7777 -i .ssh/id_rsa_server3 [email protected]

Добавляем строки в ~/.ssh/config :

Host server3
Hostname server3.example.com
User user3
IdentityFile ~/.ssh/id_rsa_server3
Localforward 8888 127.0.0.1:7777

и укорачиваем команду до :

$ ssh server3

π