вторник, 8 марта 2011 г.

Спутниковый грабинг: файлы с неба

Во-первых: НЕТ, это не Интернет на халяву. И вообще, грабинг (он же рыбалка) - это аморально и не культурно: вы получаете чужой трафик, без ведома владельца. Злостно копируете его личную информацию: музыку и фильмы (за которые он, возможно, заплатил), корреспонденцию и... да, порно, в основном порно. Во-вторых: готовьтесь к получению кучи мусора и постоянной нервотрепке из-за обрывов файлов. Можно конечно настроить фильтры и получать лишь то, что вам надо, но 50% файлов не докачиваются, а значит вы можете получить новенький фильм, классного качества, но обрывающийся на кульминации (обидно, да?). В третьих: хотите получать трафик на халяву, готовьтесь к приличным затратам - ведь у вас не будет права докачать файл, а значит получать его надо сразу и целиком, без ошибок. Must have: акриловая тарелка, высокоскоростной винчестер и, желательно, Линукс. (ну, под Виндоус тоже работает нормально, но ведь он Мастдай :)).

Ну ладно, хватит теории, перейдем к практике.

Что вам надо:

Тарелка (желательно не железная за 20$, а что-нибудь посерьезней, например акриловая ~100$, особенно если вы планируете днем и ночью сидеть и грабить, грабить - в любую погоду - и т.п.), на пути сигнала не должно быть крупных объектов (домов, телевышек и подобного), а лучше чистое небо, иначе будут помехи.
Ротер - вещь не обязательная, но весьма полезная, т.к. тарелку можно будет удаленно вращать, и, тем самым, охватывать больше спутников, искать тот самый, который вам нужен (так же с ним будет проще поймать хороший уровень сигнала).
DVB карта - сгодится почти любая, но, как показывает опыт, меньше всего проблем с настройкой (в том числе в Линуксе) и наименьшее количество разрывов связи даёт SkyStar 2.
Куча проводов.
Альпинист-любитель чтобы повесить тарелку.
На один компьютер можно поставить две, три, сколько угодно DVB карт, но тогда стоит иметь несколько винтов и процессор пошустрее.

Итак, как всё это работает.

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

Это возможно потому, что спутник не может пучком передавать информацию именно в ту тарелку, которая её запросила (тарелка не может запрашивать - это образ) - он только может передавать её кучей, на всю поверхность, для всех. И только частный компьютер (или ресивер) её сортирует и пытается найти ту информацию, которая принадлежит ему, анализируя заголовки. Когда ищешь что-то приходится просматривать и чужое: а вдруг ваши деньги в чужом кармане - всяко бывает ;))
Итак, понятно почему мы получаем информацию, но отчего её не шифруют, ведь достаточно передавать не зашифрованные заголовки пакетов чтобы компьютер понял для него это или нет? Ответ прост - это дорого и неудобно. Зачем шифровать если никого это не волнует, к тому же скорость обработки информации уменьшится (т.к. придется тратить время на шифровку), оборудование нужно будет мощнее, да и каждому клиенту ключ давать. Короче провайдеры на это забили. Их можно понять.
Когда закончится. Тогда, когда найдут способ быстро и эффективно шифровать данные, а люди думающие не захотят расшифровывать ключи или адсл резко удешевится, ну вы поняли к чему я веду: на наше поколение хватить, да и внучкам достанется.
Что за это будет. Хммм... сложно сказать, прецедентов не было, а все оттого, что, во-первых, вы все время получаете чужую информацию и в этом виноват провайдер; во-вторых, не возможно отследить получили вы чужую информацию или нет, ведь тарелка работает только на прием и данные никакие передавать не может.
Предположим, что вы купили и установили все необходимое, что делать теперь? Рассмотрим пример на самой популярной сегодня ОСи Windows (для Линукс все так же, только программы и драйвера другой компиляции, все они легко доступны, а алгоритм действия тот же). С DVB картой проблем быть не должно, но желательно драйвер устанавливать не с заводского СД, а поискать последнюю версию (Для SkyStar 2 существуют модификации, специально заточенные под грабинг. У Линуксоидов выбора нет, на сегодня существует только один драйвер под Линукс, и он не официальный, зато без глюков. Естественно, грабинг под Линукс - это больше геморроя, но ошибок по приему будет значительно меньше, т.к. программа сможет взять под контроль максимум ресурсов, овчинка выделки стоит только если у вас возникли проблемы с Виндоус грабингом, а со SkyStar 2 это бывает очень редко.) Далее вам будет нужна программа для грабинга (ну если вы не планируете её писать с нуля). Таких программ на сегодня великое множество, но я советую SkyNet:

Она бесплатная (хотя они все такие ;)).
Её исходный код полностью открыт и готов к модификациям.
Её удобно использовать, т.к. в ней предусмотрены фильтры и возможность подключить в ручную отлов файлов с особым расширением.
Её поддерживают огромное количество людей, будет с кем посоветоваться.
Теперь вам нужно узнать характеристики транспондера, а также PIDы доступа к Интернет трафику. Все не так сложно как звучит. Характеристики транспондера можно узнать на сайте провайдера, предоставляющего услуги Интернета, там же можно узнать как минимум 1 PID. Но PIDы проще искать через специальную утилиту для программы ProgDVB "Pidscanner" - она свободно распространяется и найти её не сложно, кстати, SKYNET иногда тоже идет как plugin к этой популярной программе, но я советую использовать раздельную версию, оттого что плагином она уже давно не поддерживается.

Приведу пример настройки для HeliousNet провайдера (он предлагает интернет только крупным и малым компаниям, оттого трафик у него интересней - на халяву всякое качают) на спутнике Express AM 22 - так как он доступен большему числу Дорогих Россиян, ведь он охватывает территорию почти до Уральских гор.

tuner=11124000,V,7593000,A
pids=700,710,4177,4162,4161,4160

Настройка программы и её фильтров. Перед тем как программа начнет работать, необходимо будет найти файл StreamReader.dll для SkyStar 2- это не сложно, достаточно воспользоваться любым поисковиком. После того как вы его скачаете, скопируйте его в каталог к SkyNet, не важно является она плагином или программой, без него работать не будет - в этой библиотеке описаны API функции DVB карты, естественно от модели к модели они различны. Далее есть смысл заглянуть в файл skynet.ini, там нам надо будут интересны три строчки:

name_format=*/E/_25.01.06/p/s_m_R(c_p).E - что какая буква означает расписано подробно в комментариях к этому файлу - вкратце эта строка означает, что корректно перехваченные файлы будут сохраняться в директории ok/расширение файла/дата/пид/имя файла в виде источника получения, счетчика, мак адреса карты получателя и т.п. Не удивляйтесь что имя файла так изменено. Дело в том, что невозможно узнать изначальное имя, ведь предполагается, что запрос был сделан через браузер, и он знает, что именно будет получать. По этой причине, увы, перехваченные html файлы будут без графики - она будет перехвачена отдельным файлом, уже не взаимосвязанным с html.

Оставшиеся две:

tuner=
pids=

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

Теперь рассмотрим правила перехвата файлов. Они описаны в файле regex.txt - данный файл можно обновлять динамически, во время работы программы; чтобы она его вновь считала достаточно нажать Ctrl+R (это касается и файла rules.txt). В нем подряд расположены строчки описывающие группы расширений перехватываемых файлов, в таком виде:

80C000 b ^\x00\x00\x01\xB3 mpg;VIDEO;ALL
008000 b ^PK zip;ARCHIVE;ALL

Первое слово - цвет отображаемой линии - не важно, что будет написано, это для интерфейса программы, затем, через пробел, пишется бинарный файл или текстовый( b или t), опять, через пробел, после символа "^" пишется содержимое первых n байтов файла (n задается в файле skynet.ini) в двух вариантов либо в шестнадцатеричном, тогда указывается \x число, либо в текстовом, тогда просто символы. Через пробел, пишем в начале расширение файла, затем, через ";", группы к которым он относится (о них ниже), в конце строки ничего ставить не нужно. Для одного расширения можно указывать несколько строчек, все корректно считаются и обработаются. Группы описывать не надо, создаются автоматически после первого упоминания.

Теперь о фильтрах. Они описаны в файле rules.txt. Если два фильтра противоречат друг другу, то будет принят во внимание только первый. Корректно работает система восприятия фильтров как множеств (то есть можно написать: "принимать все от такого то мак адреса", а далее: "не принимать изображение от него же", это не противоречащие фильтры, программа просто станет принимать всё кроме изображений с выбранного мак адреса).

Как формировать:

s 1.2.3.4 +[100k-] -IMAGE[0-40k]
m a0940128b8 +IMAGE[1K-1G]

Есть два варианта первого символа

m - означающий, что далее речь идет о мак адресе принимающей DVB карты.
s - что дальше будет IP адрес ресурса откуда скачивается файл.
Затем через пробел указываем адрес, в том или ином виде, затем строку такого типа:

первый символ: "+" / "-" - означает принимать или нет;
затем слово - наименование группы, если пропустить то все;
квадратные скобочки, внутри которых можно указать необходимый размер:
если интересуют все файлы, то не писать квадратные скобки;
если от какого то размера и выше то пишем [100k-] все слитно, черточка в конце обязательна;
если любой, но не больше, то [-1G], опять же черточка нужна;
если в определенных рамках, то [100k-1G].

Заключение

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

P.S. Советы по уменьшению обрывов (discontinuity)

Дефрагментируйте винчестер.
Смените приоритет для DVB карточки.
Отключите все посторонние программы и устройства, освободите все прерывания.
Переустановите ОС.
Повторите пункт 2-3.
Если не помогло, то поставьте Линукс.
Перекомпилируйте ядро, чтобы выделить максимум ресурсов для DVB карты.
Уберите все лишние приложения, в том числе графический интерфейс.
Если не помогло, то скорректируйте положение тарелки, либо/и смените её, уровень сигнала желателен 80%, можно 60% (но тогда забудьте об архивах и программах - слишком вероятно, что прокрадется ошибка).
Сдайте свою DVB карту - она неисправна, после всего выше перечисленного разрывов быть не должно совсем.
Моя конфигурация компьютера и OS (ноль разрывов всегда):

Sempron 2500+ (64 bit);
512 Ram;
ATA 100 винт;
SkyStar 2;
Windows XP (32bit);

Остальное не важно. На моем компьютере во время грабинга (без разрывов) можно смотреть фильм, находиться в Интернете, играть по АДСЛ - проблем не возникало.

3 комментария:

  1. прикольно, но нафиг?

    ОтветитьУдалить
  2. Друг одно время грабил. Потом появился нормальный интернет и нужда сама собой отпала.

    ОтветитьУдалить
  3. Эх, спутниковый интернет, ностальгия.

    ОтветитьУдалить