Архив рубрики: Прочее

«Анатомия» рассылок или исповедь спамера — часть 2

Действие шестое: Жизнь каждого — это его личное дело,
а не запрограммированный «умными»
дядями алгоритм прыжка из влагалища в могилу.

Алгоритмы, алгоритмы… итак, как я и писал выше ко мне обратилась одна местная производственная компания с желанием быстро донести до массы потенциальных партнеров информацию о своей продукции. Что я успешно и проделал. Попутно занялся анализом. Оказалось, что рассылать гигабайты писем в сутки не такое просто дело, как это кажется на первый взгляд. Даже соблюдая описанные стандартами требования MX, PTR, SPF, DKIM, нельзя гарантировать что рассылка пройдет успешно. После того как я стал потихоньку разбираться в этой кухне, мне было смешно читать в интернетах объявления о рассылке по базам в 250к-500к в сутки за 1500 руб с гарантированным результатом!!! Кто и как интересно этот результат будет гарантировать. И дело тут не в том, что технически это невозможно, возможно, но себестоимость такой рассылки с хоть какой то гарантией результата будет в десятки раз выше, т.к приходится брать во внимание то что у каждой крупной почтовой системы, будь то mail.ru, yandex.ru, и т.д помимо стандартных декларированных рекомендациями в rfc проверок, используются не postfix-ы exim-ы exchang-ы а самописанные smtp сервисы, во вторых хитрые алгоритмы обработки почты и антиспам фильтры, анализ работы коих хоть и возможен, но вызывает определенные трудности. В общем несколько рассылок я провел и без понимания этих вещей, базы были небольшие не более 2-3к, рассылал медленно с таймаутами со своей VPS.

Действие седьмое: Мне кажется, что процессом эволюции управляет какой-то инженер от Бога. Поэтому на свете есть жирафы, бегемоты и гонорея.

Через пару недель у меня появился еще один клиент на рассылки, строительная компания. Особо заморачиваться с выборкой потенциальных  клиентов они не стали, чем усложнили мне задачу, рассылку необходимо было сделать по Красноярску и Абакану, а это уже более 25к адресов. Я недолго думая взялся за работу. Заработанные деньги с прошлых рассылок ушли на личные нужды и оплату парсера 2GIS, я все таки его купил за 4к, и спарсил базы всех доступных городов, как оказалось вовремя. Буквально через пару месяцев 2GIS спешно выпилил из своего онлайн справочника все email, а именно оттуда они и парсились. Немного позже, вышла обновленная версия, он умел ходить по сайтам в контактах организации и дергать email оттуда, но это уже было совсем не то. Моя рассыльная машина все также состояла из арендованной VPS и рассыльщика на shell script, но сделав некоторые выводы из прошлых рассылок я занялся модернизацией. Во первых, добавил рэндомизацию темы и тела письма, точнее некий хитрый финт, письма получились как будто бы адресованными конкретной организации, и это сработало. Выглядела тема примерно так RE: Для ООО»Лютик» RE: Для «ЗАО ГАЗПРОМ» и т.д рассыльщик дергал адреса из первой колонки название организации из второй. В итоге 23к писем удалось протолкнуть без явных проблем, анализируя log postfix и reply можно было сказать что 85% писем как минимум легли по ящикам в папку входящие. Клиент через пару дней отзвонился и сказал что результатом доволен, звонков получил как минимум несколько десятков. В этот момент я уже подумал что открыл вечный двигатель, но как оказалось рано радовался…

Действие восьмое: Главное в шахматах это не то, на сколько ходов вперед ты думаешь, а то, как ты анализируешь текущую ситуацию.

Через некоторое время появился еще один клиент, человеку требовалась рассылка по всей базе юр лиц. Красноярска но обязательное условие письмо в html формате. Мой скриптовый sender не позволял такое и поэтому пришлось прикупить специализированный софт, к тому же мне нужна была нормальная рэндомизация и подстановки не только для темы писем, но и по тексту, а также возможность работы через несколько smtp одновременно, на тот момент я развернул еще одну VPS. Остановился в итоге на epochta mailer, приемлемая цена и наличие необходимых функций. Макет для рассылки сверстал знакомый фрилансер, и я принялся за работу. И тут что то сломалось, рассылка ушла в никуда. Я начал потихоньку разбирать полеты, и после пары тройки десятков экспериментов вывел некоторые алгоритмы и цифры. Во-первых базы изначально разбираем по почтовым системам, то есть отдельно mail.ru, yandex.ru, rambler.ru, google.com, yahoo.com и отдельно корпоративные для этих нужд, я использовал опять же софт от epochta. Во-вторых, избавляемся от невалидов, т.е несуществующих доменов, доменов без MX записей, несуществующих ящиков на доменах. Здесь надо брать во внимание, что не все почтовые системы позволяют проверить существование ящика, например smtp даемон mail.ru  на любые RCPT TO ответит кодом 250 ОК, вот такая хитрая фича, так что в его случае такие проверки бесполезны.  Также при валидации ящиков корпоративного сегмента, принимаем во внимание Greylisting, SBL, DKIM, SPF и прочие хитрости т.к настройка каждого сервера в этом сегменте заведомо уникальна и зависит от paranoidal/skillmasters администратора его обслуживающего )  Почему удобно раскидывать базы таким образом, по крайней мере для меня, потому что проще в случае fuckup-а проанализировать что пошло не так, и проще подобрать алгоритм рассылки и обойти ловушки.

Продолжение следует…

«Анатомия» рассылок или исповедь спамера — часть 1

Пролог:

Так сложилось что уже год, как я уволился со своей основной работы и перешел на полное самообеспечение. Нельзя сказать что это было спонтанное решение, весь последний год я шел к нему, но как то оттягивал со сроками. На тот момент помимо работы я уже пару лет как обслуживал несколько небольших компаний и имел небольшой дополнительный доход в 10к руб./мес. В общем был небольшой запас наличности и дикое желание бросить «работать на дядю» а тут еще к моему стремлению добавились неожиданные проблемы со здоровьем отправившие меня на больничный на 4 месяца что и послужило отправной точкой.

Действие первое: Флешка всегда вставляется не тем концом

Итак, оказавшись на больничном и без работы, с кучей свободного времени, я быстро осознал что моего дополнительного дохода в 10к руб/мес мне явно не хватит  для того чтобы оплачивать съемную квартиру питаться и поддерживать себя в  нормальном человеческом виде. Запас наличности быстро таял, мне нужно было что то делать… а так как ничего лучше чем работать пальцами по клавиатуре и думать мозгом я не умел, я решил каким либо образом заняться поиском клиентов на аутсорсинг. Но клиенты как то не искались, я просто не знал как предложить свои услуги, ведь я не фирма, сам себе директор, менеджер по продажам и технический специалист. Открыть 2gis позвонить по телефону и сказать Здравствуйте, я предлагаю вам услуги ит аутсорсинга, или ходить пешком по офисам компаний…. у меня как то не хватало духу, хотя возможно таким образом я и достиг бы необходимого результата. В общем решение пришло в голову неожиданно.

Действие второе: В мире есть масса вещей, в которых нельзя быть уверенным — Wi-Fi в поездах, люди на метамфетаминах, победители гонки «Тур де Франс». А в чём совсем нельзя быть уверенным? В человеческой памяти. Это просто кошмар.

Я вспомнил, что когда только переехал в Красноярск четыре года назад в разгар «кризиса», мне пришлось активно искать работу и один интернет знакомый слил мне парсер email адресов популярного тогда ЯрМап. Я рассылал свое резюме по этой базе примерно по 200 email в день, сколько позволял gmail аккаунт и хватало терпение копипастить адреса из базы. К сожалению ни парсера ни контактов этого знакомого у меня уже не сохранилось но эта мутная мысль промелькнула у меня в голове…

Действие третье: Ни один человек не способен сам по себе совершить идеальное преступление, случай однако, способен на это…

Немного погуглив я наткнулся на предложение продажи базы 2GIS для любого города за 300 руб. Связался с человеком с ником ShOrtle пообщался и уже через пол часа у меня была база организаций Красноярска, в формате csv. Далее возник вопрос, как слать? Использование аккаунтов бесплатных почтовых систем, было совершенно неприменимо, т.к все бесплатные почтовые сервисы накладывают ограничения на кол-во отправленных сообщений в сутки, либо лимитируют таймаут отправки а мне нужны большие, действительно большие объемы рассылок, т.к после очистки базы от дублей и пустых полей у меня получилось около 19000 адресов. Вариант был использовать специализированные сервисы для рассылок коих более чем достаточно типа Unisender, Epochta, Mailchimp и т.д это было бы оправданное в случае легитимных рассылок т.к избавит вас от проблем связанных с отправкой и доставкой такого кол-ва сообщений, но в моем случае это было не применимо, т.к это стоит денег в среднем 2500-3500 в месяц за такой объем, плюс ввиду своей легальности подразумевает наличия подписки на ваши рассылки со стороны получателей. Можно конечно на это забить до некоторого времени, но в итоге за жесткие нарушения требований рассылочных сервисов, к оформлению писем, наличию ссылок отписки, процента баунсов (недоставленных писем) от общего числа получателей в базе, наличия определенного кол-ва абуз (жалоб) и т.д и т.п ваш аккаунт все равно быстро заблокируют. В общем проанализировав все эти данные я выбрал иной путь.

Действие четвертое: Чтобы научиться играть в гольф необходимо купить нормальную клюшку…и немного разобраться в правилах

Вспомнив все что я знал на тот момент о smtp, postfix и shell script я принялся сооружать свою идеальную «спам машину». Благо в интернетах масса хостеров которые предлагают арендовать VPS даже без денег, так сказать «потестить» дня на три, ну одну такую я и взял. Развернул Postfix в default комплектации, немного поправил main.cf, затем зарегистрировал рэндомный домен, прописал по всем правилам хорошего тона MX и PTR записи. Далее мне нужен был sender (рассыльщик). Нормальный софт такого рода, хоть под win хоть под nix стоит денег, а я на тот момент не думал, что он будет нужен мне более чем один раз, поэтому покупать не видел смысла, опять таки немного погуглив, я наткнулся на зарубежном форуме на простую как топор но работающую реализацию расcыльщика на bash который представлял из себя скрипт с несколькими переменными куда загонялись email адреса из файла и какие нибудь произвольные данные, которые передавались консольной программе mutt в качестве аргументов в теме письма. Все это выполнялось в цикле и вполне себе работало. Таким образом я получил необходимый набор инструментов. За пол дня составив письмо с предложением своих услуг, я принялся рассылать. Т.к никаких средств аналитики кроме log файлов postfix-а у меня тогда небыло, а о алгоритмах работы антиспам систем почтовых гигантов вроде mail.ru yandex, google я вообще ничего не знал, то лишь косвенно, по контрольным письмам на свои адреса которые я подставлял в разные участки базы я мог понять сколько писем было реально доставлено. Итог: моя первая рассылка заткнулась где то на 4-5 тысяче писем, от mail.ru посыпались 550 reject spam message. Но на утро всё же я получил некоторое кол-во звонков в виде конверсии, из чего сделал вывод что первый блин всегда комом но попытка всё же была удачной.

Действие пятое:  Я не знаю, что лучше — зло ли, приносящее пользу, или добро приносящее вред.

Прошло несколько недель, и на 24au я случайно наткнулся на тендер, одной компании N которой требовалось сделать так называемую «серую» рассылку. Суть тот же спам, только по определенному сегменту потенциально заинтересованных лиц. Деньги предлагали неплохие 10к руб и я недолго думая написал человеку. В итоге мы сошлись на этой сумме, правда за трехкратную рассылку, и я занялся подготовкой…

Продолжение следует.

Skyhook что это такое и нафига оно надо

Skyhook

В момент покупки моего нетбука HP в нем в числе прочего фирменного хлама стояла программа SkyhookXPS (как на скриншоте ниже), не разбираясь что это и для чего я переустановил ОС на буке уже без всех хэпэшных примочек (ибо уж очень сильно меня раздражает наличие всякого ненужного хлама, особенно когда этот хлам почти весь в автозагрузке), в том числе и этой софтины, для работающей навигации достаточно было просто драйвера и это меня устроило (ноутбук у меня с GPS).

Надолго, почти на 2 года я забыл об этой программулине, но наступил такой момент, когда памяти на моем буке мне стало не хватать (1 гиг пропаян и в одном единственном слоте стояло еще 2 гига). Я увлекся сборкой портабильных приложений и бывает, что у меня запущенно по десятку виртуальных машин нещадно жрущих память. В итоге пришлось докупить себе планку на 8 гиг, ну а так как на буке стояла еще родная Win 7 32bit, переустановка была неминуема.

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

Skyhook

 

 

 

 

 

 

 

 

 

 

Тут до меня сразу и дошло…

Сделала она это по Wi-Fi точкам доступа, занесенным в базу сервиса www.skyhookwireless.com, как оказалось, эта программа представляет собой некий агрегатор возможностей позиционирования GPS, A-GPS (позиционирование по сотовым вышкам, ведь у меня в буке еще и встроенный 3G) и этого самого сервиса. А сам сервис в свою очередь позиционирует себя как одну из возможностей полноценной городской навигации посредством Wi-Fi точек доступа, при этом способной через API взаимодействовать с сайтами и сервисами предоставляя геозависимую информацию.

Работает этот сервис на множестве устройств, начиная от ноутбуков и смартфонов, заканчивая игровыми консолями.

В Красноярске программа не работала, ибо не было занесенных в базу точек, а в Питере она работает практически повсеместно. Оказалось использование ее очень удобно и выгодно. Навигация через нее работает почти мгновенно, и очень точно, особенно в центре города, точность +- 5 метров, а в комплекте с A-GPS и GPS точность позиционирования до метра.

Так же у этого сервиса есть аплет, который передает местоположение клиента в твиттер, вконтакте, в яндекс и гугл карты и т.д.

Есть вот такой сайтец, который показывает часть возможностей технологии http://hp.loki.com

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

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

В общем, тема эта очень хорошая и поэтому я призываю поддержать этот проект внеся свою собственную точку доступа или Wi-Fi роутер в базу сайта www.skyhookwireless.com дабы упростить жизнь себе и помочь другим, лично я внес все точки доступа к которым у меня есть доступ.

Для внесения надо пройти по ЭТОЙ ссылке, вбить в строчку МАК адрес своей точки доступа и выбрать свое местоположение на карте с как можно более высокой точностью перетащив красную каплю в нужное место, желательно указать координаты полученные с навигатора вбив их в соответствующее поле, но если их нет, то сойдет и карта.

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

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

Регистрируем свои точки и роутеры, пользуемся сами и помогаем другим. Делаем мир лучше и удобнее!

Занимательный troubleshooting

trouble

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

Всем наверняка по роду деятельности приходилось заниматься диагностикой и устранением каких либо неполадок в работе небольших и средних до 100-200 единиц офисных сетей. Проблемы в большинстве случаев типовые, неправильная коммутация и петли, некачественный монтаж, дешевое оборудование и все вытекающие последствия зависания выход из строя коммутаторов и т.д. Время от времени чем то подобным и мне приходится заниматься.  Итак немного предыстории, помнится как то уже рассказывал, что обслуживаю небольшой филиал одной организации N 40 машин, головной офис в Москве таким же основной ит-отдел. Я там по сути занимаюсь всем тем, что они не могут сделать посредством удалённого доступа Radmin-ов и Тимвьюверов .  Теперь ближе к теме на днях звонит директор говорит мол не работает сеть, точнее Интернет в общем посмотри разберись. Ну не работает так не работает иду по стандартной схеме проверяю шлюз шлюз доступен подключаюсь матерюсь в очередной раз на тормозящую WinXP, Traffic Inspectorа Kaspersky и весь проприетарный софт вместе взятый.  К слову немного о том каким образом там устроена сеть и доступ в интернеты. Стойка, в стойке два коммутатора управляемый planet модель не помню… работает в default режиме и неуправляемый dlink des 1016 всё это стянуто и заведено на компьютер с WinXp на борту выполняющего роль файлового сервера, nat транслятора кэширующего прокси, шейпера (Traffic Inspector), Radmin авторизатора, сервера обновлений Kaspersky. В общем этакий комбайн 50 фукций в одном флаконе на дохленьком Intel Celeron D …не помню какого года и поколения. На сетевой карте навешано три айпи адреса (alias в нотации linux bsd ) и вся сеть таким образом сегментирована, что для меня является чем то странным и необъяснимым т.к всё воткнуто в одни и те же коммутаторы и находится в одном broadcast domain смысл от такого деления я так и не понял. Ну да ладно им там в Москве видимо виднее.  Итак продолжим, логинюсь на клиентский компьютер cmd.exe —> ping ya.ru … все ок. Чешу затылок, вроде работает на что жалуются… открываю браузер вбиваю ya.ru —-> облом, опа приехали. Первая мысль что то с конфигурацией Traffic Inspector, попробовал со шлюза всё норм ping, браузер. Поковырялся в настройках TrfIns, столько окон вкладок терминов, я быстро запутался в логике его работы, сделал вывод, что у меня примитивное текстовое мышление, и ни с чем сложнее iptables pf, ipfw  работать мне нельзя. В общем к тому времени Москва уже проснулась и я отписав свои соображения по поводу проблемы спокойно передал эту заявку на их решение. Через пол часа они мне позвонили и посмеявшись сказали что произошел какой то сбой на шлюзе весь журнал, засыпан логами ошибок. В общем решили проблему вроде как воcпользовавшись службой восстановления Windows. Ну решили да решили я порадовался что у них всё так просто решилось и забыл.

Сегодня в пять часов вечера звонит руководитель Московского Ит-отдела и говорит Дима надо приехать на шлюзе образ системы перезалить, к слову после установки со всех ключевых систем был снят образ Акронисом на случай полного краха. Оказывается они вчера весь день там что то ковыряли с rules-ами Traffic Inspector в купе с Kaspersky  т.к сеть всё равно периодически отказывается работать, таким же образом как и вчера т.е все компьютеры доступны шлюза, потерь пакетов нет, со всех доступны ресурсы по крайней мере через icmp проверки, но ни одна страница в браузере не прогружается. Приезжаю пере заливаю образ WinXp шлюза проблема не исчезает. Москвичи опять ковыряют Traffic Inspector я сижу жду… в итоге выносят предположение что проблема с встроенной сетевой картой на мат плате просят заменить сняв с другого компьютера. В моем мозгу происходит некое переосмысление, никак не могу увязать всё в логическую цепочку TCP, HTTP ICMP вспоминаю уровни стека TCP/IP ….в общем WTF что за бред?????? Ведь icmp нет потерь пакетов абсолютно!!! и Radmin tcp/udp та же ситуация. В общем понимаю что теряю логику абсолютно, появляется дикое желание воткнуть wireshark на шлюзе снять дамп трафика с интерфейсов. Проскальзывают еще кое-какие мысли, захожу в серверную выдёргиваю пачкорд с сетевой карты шлюза и меняю порт на коммутаторе.
И вдруг всё каким то чудесным образом ЗАРАБОТАЛО. Ну ладно, ну допустим порт на коммутаторе… Решил проверить вернул на место, итак работает…. У меня опять логический коллапс. Пол часа хожу проверяю со всех компьютеров проталкиваю icmp пакеты на полный mtu интерфейсов ни одной потери. Устал думать, поехал домой…

У кого какие мысли?

Сервер точного времени. (NTP сервер Красноярск)

Сервер точного времени (NTP сервер Красноярск)

Создан NTP сервер с точностью Stratum 2, обращаться к которому можно по адресу ntp.itroad.ru
Для большинства сетей Красноярска трафик считается городским.

Статистику по его работе можно посмотреть тут.