Граббинг - перехват спутниковых интернет-потоков.
История программ для перехвата практически повторяет историю программ для просмотра спутникового ТВ, за исключение того, что софта для прехвата ни один из производителей DVB-карт не пишет. Первые программы были написаны для SkyStar1, имеющим открытое API. Это программы LiveInet, IP/DVB Streamreader и DVB StreamReader. В последствии, на основе API, созданном польским программистом Marian Ficek (Marfi), в эти программы была добавлена поддержка SkyStar2
Как и с ТВ-программами стремительный рост популярности программ граббинга напрямую связан с Россией. Вначале для программы просмотра ТВ-каналов ProgDVB, был написан модуль PidScanner, позволяющий определять активные PID в потоке. Затем UglyAdmin создал модуль FileGraber, служащий для перехвата потока.
Однако истинный расцвет грабберства, связыватся с появление программы SkyNet созданный программистом под ником S.O.V.A. В начале это был модуль для ProgDVB, впоследствии выделившийся в отдельную программу. У SkyNet много возможностей, стоит отметить поддержку механизма RegEx. В настоящее время S.O.V.A. опубликовал исходники и SkyNet совершенствуется и другими программистами. Появились и другие программы, например SkyGrabber.
Программы первого поколения
Первоначально написаны для SkyStar1. Позднее добавлена поддержка SkyStar2 на базе DLL от Marfi LiveINet
• CBArts.subzone.de. CBArts. v 9.03 [02.05.02]
• LiveNet_903_rus_ini.zip [ 6K], 10/03/2005. Руссификатор. Kalif2005
DVB StreamReader
Проект временно закрыт.
• www.dvingena.dr.ag. DVinGena; v 2.71 [15.12.02]
• dvb_streamreader_2_1.zip [ 90K], 19/04/2001
• dvb_workshop_2_711.zip [ 520], 15/12/2002
IP/DVB Streamreader
Проект временно закрыт.
• sth-projekte.subzone.de. STh. v 3.3
• dsr33.zip [ 917K], 04/01/2003
• dsr33_install.zip [ 1,6M], 04/01/2003
• dsr33_source.zip [ 27K], 04/01/2003
ProgDVB + плагины
Модуль PidScanner
Модуль PidScanner сканирует транспондер для поиска активных PID и IP-потоками.
Модуль FileGraber
Модуль FileGraber служит для перехвата (граббинга) интернет потоков. Модуль написан UglyAdmin и работает с ProgDVB >=4.10.
• v 1.00. 23.04.03. Ловит файлы, если только HTTP-заголовок целиком входит в IP-пакет.
• v 1.10. 29.04.03. Работает с фрагментированными заголовками. В этом месте есть небольшая ошибка.
• v 1.11. 12.05.03. Ошибка с заголовками исправлена. Вынесено в отдельные нити перенос и удаление файлов, сборку файлов из кусков.
• v 1.12. 15.05.03
• v 1.14. 28.05.03
• v 1.15. 22.08.03
• v 1.20 [105 К], 31/10/03
• Пример использования модулей PidScanner и FileGraber Roman TEXHAPb
В настоящее время virt7 продолжает развивать плагин FileGraber.
• v 1.21 [109 К], 02/08/04
• FileGraber.122.beta18.rar [102 К], 11/01/05. Значительно снижена нагрузка на процессор и уменьшено потребление памяти. На некоторых провайдерах наблюдается аварийное завершение программы. - вываливается с ошибкой "ERROR: KillLostTime() failed" (см. FG.log) - значит на вашем провайдере работать пока не сможет.
Известные проблемы:
1. Проблема переименования папки Out при ее заполнении >1GB (и на win98);
2. Аварийное завершение на STV (60E) и EuropeOnLine (7E)
3. Иногда сохраняются незапрашиваемые типы файлов (например, CAB)
Данная версия распространяется только для бета-тестирования и не является окончательной.
SkyNet
Наиболее популярная сейчас программа для перехвата спутникового интернет. Автор - российский программист S.O.V.A.. До версии 0.85 существала и как модуль к ProgDVB и как самостоятельная программа. Впоследствии получила поддержку DVB-карт SkyStar2, а через враппер - Twinhan и Technotrend PCline S1102 (SkyStar3). После опубликования исходников программы, начиная с версии 0.86, началось развитие нескольких модифицированных версий SkyNet.
SkyNet как модуль к ProgDVB
Работая как модуль ProgDVB, SkyNet получает транспортный поток от ядра программы. В таком варианте SkyNet может работать с любой dvb-картой, поддерживаемой ProgDVB.
• Skynetix.
• Skynet 0.90 [ 276 К], 03/11/05
• Skynet 0.85b6 [99K], 29/03/04
• Skynet 0.85b5 [99K], 26/03/04
• Skynet 0.85b4 [98K], 07/03/04
• Skynet 0.84 [138 К], 12/12/03
• Skynet 0.83 [136 К], 29/09/03
• Skynet 0.82 [ 96 К], 19/08/03
SkyNet как самостоятельная программа
• skynet0897b6linux.rar [173], 28/06/05. Linux. Beta
• skynet0897b6.rar [98K], 28/06/05. Windows. Beta
• skynet0896.rar [82K], 01/06/05. Windows
• skynet0895b2.rar [77K], 29/03/05. Windows
• skynet0894.rar [165K], 24/03/05. Windows и Linux
• skynet085b6.rar [99K], 29/03/04
• skynet085b5.rar [99K], 26/03/04
• skynet085b4.rar [98K], 07/03/04
• skynet085.exe [348 К], 07/03/04. SkyNet 0.85 с конфигуратором. QNX.
• skynet084.rar [138 К], 12/12/03
Исходники
• skynet091src.7z [61], 23/03/06. SOVA
Поддержка разных dvb-карт
• Поддержка SkyStar1
• Поддержка SkyStar2
• Поддержка TT-budget Sxxxx (SkyStar3)
• Поддержка TwinHan и клонов (в т.ч. SkyStar1CI)
• Поддержка Nextorm (NBS 240 и NCS120)
• Поддержка через BDA
• Поддержка Nokia Dbox1
Еще в 2002 г DVinGena добавляя поддержку SkyStar2 в свой проект DVB StreamReader создал удачную библиотеку StreamReader.dll и главное - API для нее. Как следует из названия - библиотека дает стандартный интерфейс для получения транспортного потока с DVB-карты. Достаточно использовать StreamReader.dll, написанной для конкретной dvb-карты и любая программа, использующая ее будет работать. К таким программам относится и SkyNet.
Впоследствии Marian Ficek ( Marfi), дополнил StreamReader API некоторыми функциями.
• www.dvingena.dr.ag
• StreamReaderAPI.zip [ 7 К], 18.10.01
• Сайт Marfi.
• Исследование работы streamreader.dll с API SkyStar2. aLly
• StreamReader_SS2_003.rar [ 20 К], 17/12/03. С исходником. Marfi
Поддержка SkyStar1
Для поддержки SkyStar1 в SkyNet библиотека StreamReader.dll не используется!
• При использовании последних версий SkyNet под Windows, достаточно раскомментировать строку "ss1=1"
• Для включения аппаратного фильтра MAC-адресов задействуйте опцию ss1_mac_filter
• skynet084ss1.rar [300 К], 15/12/03. Старая версия SkyNet адаптированная под SkyStar1. Использует аппаратный фильтр MAC-адресов.
Поддержка SkyStar2
Современные версии StreamReader.dll написаны Marian Ficek ( Marfi).
• www.skyview.pl. Польский сайт Marfi
• www.cait.com.pl. Старый сайт Marfi
• ss2streamreader_440.rar [ 15 К], 22.05.2004. Поддержка софта 4.4.0
• StreamReader_SS2_100211.zip [ 14 К], 26.04.2004
• StreamReader_SS2_003.rar [ 20 К], 17.12.03 С исходником.
• StreamReader_SS2_002.rar [ 20 К], 16.12.03 С исходником.
• StreamReader_SS2_001.rar [ 20 К], 15.12.03 С исходником.
• StreamreaderSS2_sova.rar [ 170 К], 05.09.2003 Первый StreamRreader от S.O.V.A.. С исходниками.
Streamreader Mcngine
Библиотека StreamReader от российского программиста Mcngine
• streamreader_b2c2.zip [ 27 К], 23.06.2005. Streamreader для manna и драйвера v4.3.3
• www.bi.front.ru сайт проекта.
• Форум
Альтернативный софт для SKYNET под SkyStar2
Исправленная и настроенная версия Skynet 089b6 для работы со streamreader.dll, основанном на использовании нестандартного интерфейса взаимодействия со SkyStar2. Эта связка (skynet.exe+stremreader.dll) тестировалась с драйверами 4.2.11 и 4.3.0.9999 и по отзывам тестеров показала хорошие результаты в плане безошибочной работы. Автор - S0RRY
• skynet_mod.rar [ 100 К], 06/09/05
Далее был разработан алгоритм, еще более упрощающий взаимодейстие граббера и dvb-карты. В программе используется прямое подключения алгоритма сниффера, разработанного s.o.v.a, к стандартному интерфейсу SkyStar2 без использования дополнительных библиотек (streamreader.dll от Marfi).
Текущие ограничения: работает только с драйвером не старше 4.3.0 и нет поддержки DiSEqC
• alphasky2.rar [ 87К], 25/10/05. Вторая альфа.
• alphasky_no_dll.rar [ 80К], 06/09/05
Поддержка TT Budget S1102, S1400, S1401, S1500. они-же SkyStar3
Примечание: Карта TT Budget S1401 работает в режиме модуля ProgDVB или с использованием BDA-Streamreader.
Для работы WDM-Streamreader-ов дополнительно потребуется еще библиотека ttlcdacc.dll из инcталляции софта Technotrend.
Streamreader Mcngine
Библиотека StreamReader от российского программиста Mcngine
Поддерживаются TT Budget S1100, S1400, S1401, S1500
• Автор - mcngine
• www.bi.front.ru сайт проекта.
Streamreader Marcel Majoor
Библиотеки StreamReader и Pico StreamReader от программиста из Нидерландов Marcel Majoor
• Project DVB-S
Поддерживаются dvb-карты:
• TT Budget S / WinTV-NOVA modell 546 (BSRU6 tuner)
• TT Budget S1100 / WinTV-NOVA modell 588 (SU1278 tuner)
• TT Budget S1500 / WinTV-NOVA (BSBE1 tuner)
• Terratec Cinercy 1200 DVB-S/C/T
• KNC TV Station DVB-S/C/T (?)
• SkyStar2 rev 2.6C
Поддержка TwinHan
Streamreader JoshyFun
Библиотека StreamReader от JoshyFun.
• StreamReaderTwinhan_120.zip [62K], 30.11.2005
• StreamReaderTwinhan_116.zip [62K], 11.10.2005
• StreamReaderTwinhan_115.zip [62K], 18.01.2005
• StreamReaderTwinhan_110.zip [82K], 01.03.2004
• joshyfun.peque.org Сайт проекта.
• joshyfun.cjb.net Зеркало
• JoshyFun's blog
Поддержка Nextorm (NBS 240 и NCS120)
Как и любое новое изделие, dvb-приемники Nextorm NBS240 и NCS120 имеют ограниченный набор софта. Но время не стоит на месте. Как только появилась поддержка этих приемников в ProgDVB, стал доступен граббинг с помощью модуля SkyNet. Позднее появившиеся BDA-драйвера сделали возможным работу и через BDA-streamreader.
В конце июля 2006 г. Леонид Протасов создал для этих приемников streamreader.dll непосредственно работающий с WDM драйверами через DWUSBAPI.dll который входит в дистрибутив официального софта, используя официальный SDK . Программа еще в процессе отладки, автор ждет любые замечания и пожелания.
• Streamreader109.zip [15K], 09.08.2006. Мелкие изменения.
• Streamreader108.zip [27K], 06.08.2006. Устранена задержка при пропадании сигнала. Размер модуля уменьшен за счет оптимизации.
• Streamreader107.zip [41K], 01.08.2006. Полная поддержка DiSEqC 1.0 и MiniDiSEqC. В API стримридер добавлена функция GetSignal(), с помощью которой можно получить уровень и качество сигнала.
Для использования скачать и установить NextormOne2.03.rar [ 7,1M]. Если в момент установки инсталлятор спросит удалять ли все предыдущие версии софта - согласиться. Когда будет просить перегрузиться, обязательно это сделать.
Важно: Экспериментальным путем обнаружено, что процесс TheaterMgr.exe из комплекта оригинального софта идущего с картами USB и PCI, вызывает утечку памяти при отсутствующем устройстве. И кроме того вызывает дисконты. Поэтому перед рыбалкой рекоммендуется "убить" ее в менеджере задач Windows или совсем убрать из автозагрузки.
Для NBS240 - При большом количестве дисконтов попробовать подключить к другому USB порту. Extended USB контроллер часто находится на одном прерывании с другими устройствами и если пользоваться другими устройствами во время работы streamreader, появляются дисконты.
Настройка DiSEqC 1.0 и MiniDiSEqC
Как известно, MiniDiSEqC (Toneburst) или как их еще называют Simple DiSEqC переключатели имеют два порта. Параметр в skynet.ini для порта 1 и порта 2 соответственно выглядит так: diseqc=POSITION_A или diseqc=POSITION_B
Нужно отметить, что сейчас в продаже имеются достаточно умные переключатели DiSEqC 1.0 и DiSEqC 2.0, которые помимо команд DiSEqC 1.0, понимают команды MiniDiSEqC. В этом случае если у вас такой переключатель и используются только первые два порта, можно пользоваться вышеописанным параметром.
А сейчас рассмотрим, как переключать порты от 1 до 4 коммандами DiSEqC 1.0: Посмотрим на команду diseqc=LOW_BAND,VERTICAL,POSITION_B,OPTION_B. Первые два параметра (LOW_BAND и VERTICAL), роли не играют и могут быть как HIGH_BAND так и LOW_BAND и HORIZONTAL или VERTICAL, соответственно.
А вот POSITION_B и OPTION_B соответствуют таблице:
• POSITION_A,OPTION_A - порт №1 (LNB1)
• POSITION_B,OPTION_A - порт №2 (LNB2)
• POSITION_A,OPTION_B - порт №3 (LNB3)
• POSITION_B,OPTION_B - порт №4 (LNB4)
Таким образом приведенный параметр diseqc=LOW_BAND,VERTICAL,POSITION_B,OPTION_B, переключит переключатель на четвертый порт.
Кроме этого в API стримридера добавлена функция STREAMREADER_API BOOL GetSignal(long* Level, long* Quality), с помощью которой можно получить уровень и качество сигнала. Ее, в частности, использует SkyGrabber.
Автор готов рассмотреть варианты по добавлению в API функции управления мотором/посылки комманд DiSEqC 1.2.
Например SendDiSEqCmd(int cnt, byte *cmd), где:
cnt - количество байт DiSEqC комманды,
cmd - указатель на буфер с байтами.
Поддержка через BDA
Для унификации методов управления мультимедиа устройствами Microsoft создал архитектуру Broadcast Driver Architecture или BDA. Прикладная программа использующая BDA может использовать любое устройство, имеющее BDA-драйвер, совершенно не задумываясь о его конкретных особенностях. Производителям желеха тоже удобно - достаточно написать BDA-драйвер и не нужно заботиться о введении поддержки своего железа в кучу разннобразных программ.
Для справки:
• TV and Broadcast Driver Architecture. Microsoft
• Microsoft TV Technologies. Microsoft
На весну 2006 г. BDA-драйвера имеют:
• Technotrend Budget (они-же SkyStar3)
• все карты Twinhan и их клоны
• NBS240
• Acorp TV134DS
Программы граббинга тоже испытывают проблемы с поддержкой новых устройств. Здесь интерфейсом (прослойкой) между драйверами dvb-карты и программой граббинга (например SkyNet) служит библиотека streamreader.dll. Естественно, для каждой модели dvb-карты нужна собственная streamreader.dll
Как иллюстрация - недавно появившийся TT-budget S1401 имеет другой тюнер и для нее собственный streamreader.dll еще не создан.
Однако, в мае 2006 г Black_trinitron создал streamreader.dll работающий через BDA-интерфейс. Тестировалось на:
• TT Budget S-1102
• TT BudgetS-1401
• TT BudgetS-1500
• Twinhan VP-1030 (по идее должен работать на всех картах Twinhan)
• Acorp TV134DS
• WinTV Hauppauge NOVA-S Plus (на чипе Conexant CX23883)
Поддержка Pinnacle PCTV Sat/400i/Lite
DVB-карты Pinnacle PCTV Sat/400i/Lite достаточно редки на нашем рынке. Леонид Протасов, (lprot) написал StreamReader.dll для этих dvb-карт. Свежая версия этого StreamReader.dll входит в дистрибутив программы SkyGrabber (начиная с версии 2.4.2), откуда ее можно свободно скопировать в любую программу.
• StreamreaderPinnacle3.dll. 28/07/06. Поддержка DiSEqC, PID 8192. Декларируется отсутствие дисконтов, если их причина не в железе.
• http://xck.bip.ru/sa/prog.htm Сайт, работает форум
Поддержка Nokia Dbox1
• NokiaStreamReader.zip. Streamreader для Nokia Dbox1
Модификации.
После опубликования исходников SkyNet, ряд программистов начали разработку собственных ветвей программы. Естественно, автор тоже продолжает развитие основной версии.
• Мод от DUSHIK и K.TOD
• Мод от SKYNETIX
• Мод от Проект Manna
Мод от DUSHIK и K.TOD
Объединив собственные наработки и усилия DuSHIK и K.TOD на базе v 0.91 выпускают собственную сборку - SkyNet 0.92 и выше.
• SkyNet_093.rar [190K], 16/04/06.
• SkyNet_092.rar [116K], 02/04/06.
SKYNETIX
После опубликования исходников, Schematic Terrorist продолжил развитие SkyNet. Впоследствии проект был назван SKYNETIX. С этого момента продолжено развитие SkyNet и как плагина к ProgDVB.
• skynetix011.zip [108K], 20/02/05. Skynetix v 0.11 = SkyNet v 085b6.11
• skynet085b6.9.1.rar [44K], 11/01/05
• SkyNet085b68_Full_Install .exe [640K], 05/12/04
• skynet085b6.8.rar [47K], 05/12/04
• skynet085b6.5.rar [44K], 01/12/04
• О публикации исходников SkyNet
Проект Manna
Еще одна модификация SkyNet. Автор - mcngine. .
• www.gomsat.net. Сайт проекта
• Настройка Manna 0.28
• Настройка Manna 0.25
• www.mcngine.land.ru
Skynet_Betasky(8IF)
Для подготовленных пользователей для теста версия с поддержкой перехвата файлов с IRC ботов (XDCC)и ftp-протокола Автор снял с тестирования
• Авторы:SOVA, SORRY
• Skynet_Betasky(8IF).rar [44K], 13.03.06
Автоматизация и конфигурация SkyNet
• SkyNet MOD. CoRySus. Автоматизация SkyNet.
• SKYNET_Config.zip [535K], 05.12.04
• operators.ini [ 5K], 05.09.04
• rules.txt и regex.txt для SkyNet
• Описание файлов для SKYNET
• Синтаксис файла rules.txt
• Вечный фотоскринсейвер c помощью SkyNet.
SkyNet Editor Professional
• Автор: Валера Поведайко
• valpov.at.tut.by.
EasyRulesCreator
Программа предназначена для более лёгкого способа составления rules.
• Автор: Димарик
• EasyRulesCreator_05.rar [200K], 30.03.06
• Вопросы,замечания и отзывы.
Add2Rules
Программа для добавления rules в rules.txt
• Автор: DUSHiK
• Add2Rules.rar [230K], 21.12.05
• Вопросы,замечания и отзывы.
Skynet Rules Checker
Программа, предназначенная для проверки идентичности IP адресов и доменов в файле rules.txt.
• Автор: Stinger_stv
• skynet_rules_checker_v0.9.rar [174K], 04.03.06
• Вопросы,замечания и отзывы.
Editor_SkyNet
• Автор: Mahmoud Gomah
• Editor_SkyNet_v101.zip [590K], 25.03.05
• www.xdvb.net.
SkyNET Reloader
Программа для быстрого перезапуска SkyNet.
• wareznik.org
SkyNet_Hider
Программа для сворачивания в трей SkyNet версий ниже 0.91
• wareznik.org
SkyGrabber
Еще один удачный граббер. Автор - @Sergey_Kiev@. Проект с 2006 г стал коммерческим.
• skygrabber.narod.ru
• www.skygrabber.com
Софт для Linux
Программы первого поколения
Вначале под Linux, в отличие от Windows, не было специализированного ПО для перехвата. Можно было использовать:
• OWNS. Сетевой сниффер, сохраняет файлы передаваемые по http, pop3, nntp протоколам.
• dvbsnoop
SkyNet
Однако в конце 2004 г S.O.V.A. выпустить легендарный SkyNet и под Linux.
• skynet.mcdir.ru. Официальный сайт и подробнейшее описание SkyNet
• skynet0894.7z [155K], 24/03/05. Windows и Linux
Модификации K.TOD
Доработки SkyNet V.0.897
• /soft/si/skynet/lin/xskynet0897b6sbf0_0a.zip [67K], Linux
• skynet0897b6sbf0_07.rar [165K], 02/04/06. Windows и Linux
Модификации real_shodan
Доработки SkyNet V.0.91
skynet 0.91 sova + files.dat console fix
• Автор:real_shodan
• shod_fix1.tar.bz2 [197K], 18/04/06. Linux