Honeypot. Инструменты, тактика и мотивы хакеров. Знай своего врага.

Олдовая книжка, но пусть будет!

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

Задача этой книги состоит в том, чтобы рассказать о сообществе взломщиков, их мотивах и о том, как они взламывают системы и что делают в атакованной системе после успешного взлома. Читать

Asterisk. Соединение абонента с тем же оператором, при обрыве связи

Задача

Имеется небольшой call-центр. Все входящие звонки с разных линий и номеров сначала поступают на сервер Asterisk (FreeBSD+Asterisk 11.14.1), а он в свою очередь распределяет эти звонки между всеми операторами по определенному сценарию (queues).

При звонке, клиент сначала прослушивает голосовое приветствие, потом его сервер соединяет со свободным оператором, и начинается общение. Но часто бывает, что при плохой связи – звонок обрывает. Клиенту приходится заново перезванивать, слушать опять голосовое приветствие (которое порой может длиться до полуминуты), и попадает на оператора… на другого оператора. Приходится заново  рассказывать о своей проблеме другому оператору и решать все по новой. Порой “качество” связи (мобильной) может упасть на столько, что приходится перезванивать по 5-10 раз !!!

Поэтому было решено сделать так, что бы при обрыве, при повторном звонке, от одного и того же клиента – звонок шел без очереди на того же оператора, без голосовых приветсвий и т.д.

Решение

Решение оказалось довольно простым.

Будем использовать существующую базу Asterisk’а – CDRВ этой базе хранятся все записи и входящих и исходящих звонках нашего телефонного сервера.

Открываем файл /etc/asterisk/extensions.conf и правим нужный нам входящий канал. Добавляем такой блок:

 exten => 100,1,MYSQL(Connect connid IP_MYSQL ЛОГИН_MYSQL ПАРОЛЬ_MYSQL БАЗА_MYSQL)

 exten => 100,n,MYSQL(Query resultid ${connid} select dstchannel from cdr where clid like '%${CDR(src)}' and calldate like '${STRF TIME(${EPOCH},,%Y-%m-%d %H)}%')

 exten => 100,n,MYSQL(Fetch fetchid ${resultid} operator)

 exten => 100,n,GotoIf($["${operator}" = ""]?8:5)

 exten => 100,n,MYSQL(Clear ${resultid})

 exten => 100,n,MYSQL(Disconnect ${connid})

 exten => 100,n,Dial(SIP/${operator:-12:3},20,tT)

 exten => 100,n,Background(hello)

 exten => 100,n,Queue(support)

Что мы делаем

При входящем звонке, соединяемся с базой, делаем запрос, на поиск в таблице cdr в поле clid  по номеру водящего звонка (переменная %${CDR(src)} ) и время укажем последний текущий час (переменная ${STRF TIME(${EPOCH},,%Y-%m-%d %H)}%) в поле calldate.  Если звонок “новый” и еще не звонил в течении часа, то запрос вернет пустое значение в переменную operator, и звонок перекинется на проигрывание приветствия, и звонок поступит в очередь операторов, где на него ответит свободный оператор.

Пример cmd asterisk:

 -- Executing [100@local-phones:1] MYSQL("SIP/INPUT_MTS-0000006c", "Connect connid localhost aster password asterisk") in new stack

 -- Executing [100@local-phones:2] MYSQL("SIP/INPUT_MTS-0000006c", "Query resultid 3 select dstchannel from cdr where clid like '%099xxxxxxx' and calldate like '2017-09-06 09%'") in new stack

 -- Executing [100@local-phones:3] MYSQL("SIP/INPUT_MTS-0000006c", "Fetch fetchid 4 operator") in new stack

 -- Executing [100@local-phones:4] GotoIf("SIP/INPUT_MTS-0000006c", "1?8:5") in new stack

 -- Goto (local-phones,100,8)

 -- Executing [100@local-phones:8] BackGround("SIP/INPUT_MTS-0000006c", "hello") in new stack

 -- <INPUT_MTS-0000006c> Playing 'hello.slin' (language 'ru')

 -- Executing [100@local-phones:9] Queue("SIP/INPUT_MTS-0000006c", "support") in new stack

 -- Started music on hold, class 'default', on SIP/INPUT_MTS-0000006c

 == Using SIP RTP CoS mark 5

 -- SIP/971-0000006d is ringing

 -- SIP/971-0000006d answered SIP/INPUT_MTS-0000006c

 -- Stopped music on hold on SIP/INPUT_MTS-0000006c


Если же, клиент уже звонил и в базе cdr уже существует запись о том, что он звонил. Тогда в переменную operator вернется значение – SIP- номер оператора, с кем он разговаривал, и звонок уже вне очереди поступит напрямую к тому же оператору.

 -- Executing [100@local-phones:1] MYSQL("SIP/INPUT_MTS-0000006a", "Connect connid localhost aster password asterisk") in new stack

 -- Executing [100@local-phones:2] MYSQL("SIP/INPUT_MTS-0000006a", "Query resultid 1 select dstchannel from cdr where clid like '%099xxxxxxx' and calldate like '2017-09-06 09%'") in new stack 

 -- Executing [100@local-phones:3] MYSQL("SIP/INPUT_MTS-0000006a", "Fetch fetchid 2 operator") in new stack

 -- Executing [100@local-phones:4] GotoIf("SIP/INPUT_MTS-0000006a", "0?8:5") in new stack

 -- Goto (local-phones,100,5)

 -- Executing [100@local-phones:5] MYSQL("SIP/INPUT_MTS-0000006a", "Clear 2") in new stack

 -- Executing [100@local-phones:6] MYSQL("SIP/INPUT_MTS-0000006a", "Disconnect 1") in new stack

 -- Executing [100@local-phones:7] Dial("SIP/INPUT_MTS-0000006a", "SIP/971,20,tT") in new stack



2017-09-06T10:41:35
Asterisk

Как пользоваться Linux

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

Мы поговорим о настройке системы, безопасности, обновлениях, журналах, очистке, резервном копировании и других подобных вещах. Я не претендую на звание эксперта в этой области. Я так делаю в своей системе и предлагаю делать вам, но это всего лишь мое мнение, вы и другие пользователи могут считать по-другому. Статья использование linux ориентирована на обычных пользователей, а не системных администраторов и программистов. Но я думаю, что вы можете найти что-то полезное для себя в этой статье.

Читать

Как бороться с выпадением волос

Не секрет что, поводом для гордости у женского пола являются красивые густые, длинные, блестящие волосы. Тем не менее, не многие могут похвастаться пышной шевелюрой. Использование дорогих масок и бальзамов не всегда даёт желательный эффект. Каждый день с головы человека выпадает около 100 волос. Неправильное питание, нехватка витаминов, стресс резко увеличивает потерю волос.

 

В сезон простуд, весной и осенью наши волосы ослаблены и требуют дополнительного ухода. Прежде всего, старайтесь в это время следовать несложным правилам: Читать

Ажурный узор спицами. Вязание на спицах # 567 Схема

Как связать Ажурный узор спицами. Вязание на спицах. Мастер класс.

светлана тим
Как связать Ажурный узор спицами. Вязание на спицах.

Схема ажурного узора

Раппорт узора 22 петли + 2 кромочных (кромочные петли в схеме указаны)
В высоту узор повторять с 1 по 23 ряд
В изнаночных рядах вязать по узору, накид вязать изнаночной петлей

схемы узоров
схема узора

Видео на моем канале ютуб Svetlana Tim


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


Автор: Svetlana Tim
Дата публикации: 2017-09-04T10:10:00.000-07:00

Как резать видео в virtualdub

Часто возникает необходимость вырезать кусок из видео или обрезать лишнее без всякой лишней обработки, да ёще чтобы это было максимально быстро и качественно. Для видео файлов с расширением (*avi) есть решение такой проблемы, программа VirtualDub. И в этой статье я расскажу как резать видео вVirtualDub. Читать