Логирование спутникового потока с помощью Дримбокса (dvbsnoop, dvblogger, mlog...)

  • Для общего развития можно почитать ISO 13818-1, там все более подробно и со структурами...
    Для тех, кто никогда не пользовался *nix подобными системами, советую почитать про telnet и shell для начала...
    а для тех, кому это нах... не нужно можно просто на своем компе, который естественно соединен сеткой с дримом сказать:


    C:telnet <ip адрес вашего дрима>


    появится примерно следующее:


    Welcome on your dreambox! - Kernel 2.4.20 (1)
    version: 0107200312241414
    comment: Dreambox image based on with enigma 20031224.1414
    creator: ruDREAM team
    dreambox login:


    введете root и ентер ;) далее появится:


    Password:


    введете dreambox и ентер, далее появится командная строка вида:


    root@dreambox ~ >


    ну вот тут можно прервать краткий эксткурс в *nix подобные системы! :D
    Приступим непосредственно к тому зачем мы все тут собрались, т.е. непосредственно к логированию...
    Краткий опус для тех, кому нах... не нужно знать как устроен механизм вещания в формате MPEG:


    PAT - PID 0 все каналы на транспондер PROGRAM ASSOCIATION TABLE
    CAT - PID 1 т.е. контроль доступа CONDITIONAL ACCESS TABLE
    PMT - содержит данные о конкретном канале, т.е. о его сервисах аудио, видео и т.д. PROGRAM MAP TABLE


    Начнем с ECM (для тех кто не хочет понять сам механизм могу сообщить, что можно посмотреть ECM PID в иммиджах ruDream по нажатию синей кнопки, либо в ecm.info и тому подобных файлах, которые зависят от используемого вами кама), для чего посмотрим сначала текущего транспондера, т.е. PAT, делается это следующей командой:


    ./dvbsnoop -n 1 0


    -n 1 , т.е. нам хватит одного пакета, все остальные скорее всего идентичны...


    Результат:


    DvbSnoop Vers. 0.9b -- (c) Rainer Scherg


    ---------------------------------------------------------
    SECT-Packet: 00000001 PID: 0 (0x0000), Length: 52 (0x0034)
    Time received: Thu 01.01.1970 00:06:54.023
    ---------------------------------------------------------
    0000: . . 1 . . . . . . . . . P . . .
    0000: 00 b0 31 00 07 dd 00 00 00 00 e0 10 50 dd e0 a0
    0010: P . . . P . . . P . . . P . . .
    0010: 50 de e0 a1 50 df e0 a2 50 e0 e0 a3 50 e1 e0 a4
    0020: P . . . Q ? . . T . . . T . . .
    0020: 50 e7 e0 a6 51 3f e0 aa 54 c8 e0 ad 54 c9 e0 ae
    0030: . ] . 3
    0030: a2 5d 9a 33


    PID: 0 (0x0000)
    PAT-decoding....
    Table_ID: 0 (0x00) [= program_association_section]
    section_syntax_indicator: 1 (0x01)
    (fixed): 0 (0x00)
    reserved_1: 3 (0x03)
    Section_length: 49 (0x0031)
    Transport_Stream_ID: 7 (0x0007)
    reserved_2: 3 (0x03)
    Version_number: 14 (0x0e)
    Current_next_indicator: 1 (0x01)
    Section_number: 0 (0x00)
    Last_Section_number: 0 (0x00)



    Program_number: 0 (0x0000)
    reserved: 7 (0x07)
    Network_PID: 16 (0x0010)

    Program_number: 20701 (0x50dd)
    reserved: 7 (0x07)
    Program_map_PID: 160 (0x00a0)

    Program_number: 20702 (0x50de)
    reserved: 7 (0x07)
    Program_map_PID: 161 (0x00a1)

    Program_number: 20703 (0x50df)
    reserved: 7 (0x07)
    Program_map_PID: 162 (0x00a2)

    Program_number: 20704 (0x50e0)
    reserved: 7 (0x07)
    Program_map_PID: 163 (0x00a3)

    Program_number: 20705 (0x50e1)
    reserved: 7 (0x07)
    Program_map_PID: 164 (0x00a4)

    Program_number: 20711 (0x50e7)
    reserved: 7 (0x07)
    Program_map_PID: 166 (0x00a6)

    Program_number: 20799 (0x513f)
    reserved: 7 (0x07)
    Program_map_PID: 170 (0x00aa)

    Program_number: 21704 (0x54c8
    )
    reserved: 7 (0x07)
    Program_map_PID: 173 (0x00ad)

    Program_number: 21705 (0x54c9)
    reserved: 7 (0x07)
    Program_map_PID: 174 (0x00ae)

    CRC: 2724043315 (0xa25d9a33)
    ==========================================================E]


    Обратите внимание на Program_map_PID из него мы подсматриваем PID для PMT, которая в свою очеред приведет нас к ECM PID (также можно найти в бинарном виде в /var/tmp/pmt.tmp)
    Program_number идентифицирует номер программы, правда искать потом в /var/tuxbox/config/enigma/services не прикольно, там кодировка русских названий дурацкая и значения в шестнадцатиричном виде...
    Для того чтобы узнать ECM PID необходимо выбрать из PAT соответствующий Program_map_ID и снова пустить dvbsnoop:


    ./dvbsnoop -n 1 0x00ae


    Результат:


    DvbSnoop Vers. 0.9b -- (c) Rainer Scherg


    ---------------------------------------------------------
    SECT-Packet: 00000001 PID: 161 (0x00a1), Length: 81 (0x0051)
    Time received: Thu 01.01.1970 00:15:30.123
    ---------------------------------------------------------
    0000: . . N P . . . . . A . " . . . .
    0000: 02 b0 4e 50 de c5 00 00 e1 41 f0 22 09 0f 05 00
    0010: . . . . . . . . . . . . . . .
    0010: ef a2 10 01 00 13 01 20 14 03 01 a4 00 09 0f 05
    0020: . . . . . . . . . . . . . . .
    0020: 00 e7 d2 10 01 00 13 01 20 14 03 02 07 00 02 e1
    0030: A . . R . . . . . . . R . . . .
    0030: 41 f0 03 52 01 01 04 e1 92 f0 03 52 01 02 06 e1
    0040: . . . R . . V . f r e . . - # .
    0040: f5 f0 0a 52 01 03 56 05 66 72 65 09 00 2d 23 9a
    0050: ~
    0050: 7e


    PID: 161 (0x00a1)
    Guess packet type from table id...
    PMT-decoding....
    Table_ID: 2 (0x02) [= program_map_section]
    section_syntax_indicator: 1 (0x01)
    (fixed): 0 (0x00)
    reserved_1: 3 (0x03)
    Section_length: 78 (0x004e)
    Program_number: 20702 (0x50de)
    reserved_2: 3 (0x03)
    Version_number: 2 (0x02)
    Current_next_indicator: 1 (0x01)
    Section_number: 0 (0x00)
    Last_Section_number: 0 (0x00)
    reserved_3: 7 (0x07)
    PCR PID: 321 (0x0141)
    reserved_4: 15 (0x0f)
    Program_info_length: 34 (0x0022)



    DescriptorTag: 9 (0x09) [= CA_descriptor]
    Descriptor_length: 15 (0x000f)
    CA_system_ID: 1280 (0x0500) [= France Telecom (Viaccess)]
    reserved: 7 (0x07)
    CA_PID: 4002 (0x0fa2)
    Private-Data:
    0000: . . . . . . . . . .
    0000: 10 01 00 13 01 20 14 03 01 a4 00



    DescriptorTag: 9 (0x09) [= CA_descriptor]
    Descriptor_length: 15 (0x000f)
    CA_system_ID: 1280 (0x0500) [= France Telecom (Viaccess)]
    reserved: 7 (0x07)
    CA_PID: 2002 (0x07d2)
    Private-Data:
    0000: . . . . . . . . . .
    0000: 10 01 00 13 01 20 14 03 02 07 00



    Stream_type: 2 (0x02) [= ITU-T Rec. H.262 | ISO/IEC 13818-2 Video | ISO/IEC 11172-2 constr. parameter video stream]
    reserved_1: 7 (0x07)
    Elementary_PID: 321 (0x0141)
    reserved_2: 15 (0x0f)
    ES_info_length: 3 (0x0003)


    DescriptorTag: 82 (0x52) [= stream_identifier_descriptor]
    Descriptor_length: 1 (0x0001)
    Component_tag: 1 (0x01)


    Stream_type: 4 (0x04) [= ISO/IEC 13818-3 Audio]
    reserved_1: 7 (0x07)
    Elementary_PID: 402 (0x0192)
    reserved_2: 15 (0x0f)
    ES_info_length: 3 (0x0003)


    DescriptorTag: 82 (0x52) [= stream_identifier_descriptor]
    Descriptor_length: 1 (0x0001)
    Component_tag: 2 (0x02)


    Stream_type: 6 (0x06) [= ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data]
    reserved_1: 7 (0x07)
    Elementary_PID: 501 (0x01f5)
    reserved_2: 15 (0x0f)
    ES_info_length: 10 (0x000a)


    DescriptorTag: 82 (0x52) [= stream_identifier_descriptor]
    Descriptor_length: 1 (0x0001)
    Component_tag: 3 (0x03)



    DescriptorTag: 86 (0x56) [= teletext_descriptor]
    Descriptor_length: 5 (0x0005)

    ISO639_language_code: fre
    Teletext_tye: 1 (0x01) [= initial teletext page]
    Teletext_magazine_number: 1 (0x01)
    Teletext_page_number: 0 (0x00)




    CRC: 757308030 (0x2d239a7e)
    ==========================================================


    CA_PID - в данном случае это и есть ECM PID, как мы видим записи две, а следовательно два потока ECM,
    но для разных SOID, если внимательно посмотреть данные:
    Private-Data:
    0000: . . . . . . . . . .
    0000: 10 01 00 13 01 20 14 03 02 07 00


    то как раз в последних 3-х байтах видно SOID.
    Итак в нашем случае:
    для SOID 020700 - ECM PID = 7D2
    для SOID 01A400 - ECM PID = FA2


    Теперь если надо залогировать поток ECM для 01A400 в бинарном виде необходимо выполнить следующую команду:


    ./dvbsnoop -n -1 -b 0x0fa2 > ecm.bin


    Здесь естественно присутствует перенаправление в файл ecm.bin, впринципе тут как вам угодно..
    -n -1 означает бесконечно, пока не нажмете CTRL+C :)
    -b - бинарный формат... Если вы ASS в этом деле, то можно не ставить... :D


    Теперь EMM поток, в этом нам поможет CAT, получить которую можно следующей командой:


    /dvbsnoop -n 1 1


    Результат:


    DvbSnoop Vers. 0.9b -- (c) Rainer Scherg


    ---------------------------------------------------------
    SECT-Packet: 00000001 PID: 1 (0x0001), Length: 21 (0x0015)
    Time received: Thu 01.01.1970 00:07:13.423
    ---------------------------------------------------------
    0000: . . . . . . . . . . . . . . . .
    0000: 01 b0 12 ff ff c3 00 00 09 07 05 00 e3 e8 13 01
    0010: . T . y
    0010: 20 16 54 fd 79


    PID: 1 (0x0001)
    CAT-decoding....
    Table_ID: 1 (0x01) [= conditional_access_section]
    section_syntax_indicator: 1 (0x01)
    (fixed): 0 (0x00)
    reserved_1: 3 (0x03)
    Section_length: 18 (0x0012)
    reserved_2: 262143 (0x3ffff)
    Version_number: 1 (0x01)
    Current_next_indicator: 1 (0x01)
    Section_number: 0 (0x00)
    Last_Section_number: 0 (0x00)




    DescriptorTag: 9 (0x09) [= CA_descriptor]
    Descriptor_length: 7 (0x0007)
    CA_system_ID: 1280 (0x0500) [= France Telecom (Viaccess)]
    reserved: 7 (0x07)
    CA_PID: 1000 (0x03e8
    )
    Private-Data:
    0000: . .
    0000: 13 01 20


    CRC: 374668665 (0x1654fd79)
    ==========================================================


    Здесь CA_PID уже EMM PID = 0x03e8 и как видно EMM один поток на данном транспондере.
    Далее следует заметить, что в потоке EMM от +++ идет много мусора, поэтому я написал для себя небольшой фильтр, через который мы пропустим весь поток:


    ./dvbsnoop -n -1 -b 0x3e8 | ./dvbfilter > emm.pid


    вот и все вроде...


    Для того, чтобы dvbsnoop работал в бэкграунде, необходимо в конце командной строки добавлять &
    например так: ./dvbsnoop -n -1 -b 0x3e8 | ./dvbfilter > emm.pid &
    Однако теперь его сложнее убить, для этого нужно набрать в командной строке:


    killall dvbsnoop


    Для того, чтобы убедится, что dvbsnoop более не висит в памяти следует сделать


    ps ax | more


    кстати так можно посмотреть какие процессы счас запущены на дриме.


    ЗЫ: При переключении на другой транспондер dvbsnoop просто перестает логировать, т.к. PID изменился и если вернутся обратно, то логирование продолжится... В случае с EMM проще, т.к. EMM PID одинаковый на всех транспондерах +++.
    Архив с некоторой докой, прогами и скриптами лежит Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    ЗЫЫ: Для тех, кому нах... не нужна вся эта конетель с dvbsnoop, могу сказать только одно:
    НЕХРЕН КОРЧИТЬ ИЗ СЕБЯ УМНИКОВ, ПРОДОЛЖАЙТЕ ДАЛЬШЕ КЛЯНЧИТЬ ЛОГИ У ДРУГИХ! :D
    И ВООБЩЕ С КАКОЙ ЦЕЛЬЮ БРАЛИ ДРИМ? ;)

  • Скачал файл dvbsnoop-1.3.0.tar.gz.
    Но никак не могу найти описания: какие операции надо выполнить для его установки на дрим?


    Подскажите, кратенько, pls.

  • зайди на дрим в телнете


    создай папку (рекомендую - на винчестере)
    mkdir /hdd/dvbsnoop


    закинь туда по ftp совй архив
    распакуй в телнете


    cd /hdd/dvbsnoop
    tar -zxvf /hdd/dvbsnoop/dvbsnoop-1.3.0.tar.gz


    проверь права
    ls -l
    (если напротоив файла dvbsnoop стоит -rwx.......... - все нормально)


    если нет
    chmod 755 hdd/dvbsnoop/dvbsnoop


    ну или куда он там распаковался, все зависит от того, как твой архив запакован.




    Все можно провернуть и без телнет, пользуясь к примеру только FARом.

  • стоп!
    dvbsnoop-1.3.0.tar.gz, если ты качал с sourceforge.net то это сорс, а тебе как я понимаю надо откомпиленый. так что качай оттуда же dvbsnoop-bin-ppc-1.3.0-api1.gz а дальше как FvS сказал.

  • С версией 1.3 ничего не получилось (файл брал с шттп://sourceфorge.нет/projects/dvbsnoop)
    при попытке,
    [MARK=darkblue]root@dreambox ~ > tar zxf /hdd/dvbsnoop-1.3.0.tar.gz [/MARK]
    выдает:
    [MARK=darkblue]tar: Invalid tar magic [/MARK]


    А вот версия 0.9b (с того же сайта) распаковалась, но требует сборки, которая мне не удалась
    [MARK=darkblue]root@dreambox /hdd/dvbsnoop > cd dvbsnoop-0.9b
    root@dreambox /hdd/dvbsnoop/dvbsnoop-0.9b > ls -l
    -rwxr--r-- 1 500 100 227 Dec 5 2002 AUTHORS
    drwxr-xr-x 2 500 100 128 Jan 4 00:10 CVS
    -rwxr--r-- 1 500 100 0 Aug 28 2002 ChangeLog
    -rwxr--r-- 1 500 100 39 Aug 28 2002 Makefile.am
    -rwxr--r-- 1 500 100 0 Aug 28 2002 NEWS
    -rwxr--r-- 1 500 100 1446 Jul 6 2003 README
    -rwxr--r-- 1 500 100 1099 Sep 23 2002 autogen.sh
    -rwxr--r-- 1 500 100 164 Aug 28 2002 configure.ac
    drwxr-xr-x 3 500 100 1832 Jan 4 00:10 src
    root@dreambox /hdd/dvbsnoop/dvbsnoop-0.9b > ./autogen.sh


    You must have autoconf installed to compile dvbsnoop.
    Download the appropriate package for your system,
    or get the source from one of the GNU ftp sites
    listed in Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    You must have automake installed to compile dvbsnoop.
    Download the appropriate package for your system,
    or get the source from one of the GNU ftp sites
    listed in Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    [/MARK]


    Сдается мне, что существуют уже собранные файлы, но где их взять? киньте, pls, в ПМ или на мыло. :rolleyes:


    Цитата

    По словам пользователя FvS ...
    Все можно провернуть и без телнет, пользуясь к примеру только FARом.


    Я обычно пользуюсь WindowsCommander, но если FAR может больше, могу и его поставить.

  • Скачал dvbsnoop-bin-ppc-1.3.0-api1.gz


    попытался - результат тот же


    [MARK=darkblue]root@dreambox /hdd/dvbsnoop > tar zxvf /hdd/dvbsnoop/dvbsnoop-bin-ppc-1.3.0-api1.gz
    tar: Invalid tar magic
    [/MARK]
    ?(?(?(

  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    здесь найдешь бинарник


    ----------------------------------------------------------
    root@dreambox /hdd > gzip -d /hdd/dvbsnoop-bin-ppc-1.3.0-api1.gz
    root@dreambox /hdd > chmod 755 dvbsnoop-bin-ppc-1.3.0-api1
    root@dreambox /hdd > ./dvbsnoop-bin-ppc-1.3.0-api1
    dvbsnoop - a dvb/mpeg2 stream analyzer tool
    Version: 1.3.0/api-1 (Apr 3 2004 14:18:50)
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    (c) 2001-2004 Rainer Scherg (rasc)


    For help type 'dvbsnoop -help' ...
    ---------------------------------------------
    Файл я положил в /hdd

  • По поводу уже собранного - iOne расписал, оттуда же и качай, название архива он тоже привел.


    Я написал - к примеру FARом. Потому, что им пользуюсь. Если WC умеет создавать папки на FTP сервере, менять атрибуты линукс-файлов и работать с tar.gz как с папками - значит, он тоже хорошо подходит для таких целей.

  • вот прикрепил рабочий файл с дрима
    копипуешь на винт дрима потом заходишь в телнет и набираешь
    cd /hdd/
    bunzip2 dvbsnoop-bin-ppc-1.3.0-api1.bz2
    ./dvbsnoop-bin-ppc-1.3.0-api1 -s pidscan
    вот и все


    вот линк
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Коллеги, кто пользовался этим плагином?
    У меня такая проблема! Все вроде нормально работало, лог хорошо снимался (правда, перед переписыванием фала приходилось его переименовать) Но вот недавно вдруг перестал работать! При нажатии кнопки старт в заданной папке создается файл размером 4 байта и логгер на экране пишет EMM logged: 2147483647% и все!
    Может, кто сталкивался с этим? Я уже и имидж переустанавливал, и логгер заново скачал и записал, права менял папкам и файлам! Результат 0! Даже харду поменял файловую систему с raiserfs на ext3! Результат - 0!
    Или может у кого есть версия 2.0 Говорят она лучше работает! Я ее в нете не нашел... :(
    Заранее спасибо!

  • Неужели ни у кого нет версии 2.0 попробовать? Я честно перерыл кучу поисковиков, но толку мало!

  • почему я не могу найти по указаному адресу програмы
    скрипты.помогите пожалуста.где възять это всё.спасибо.

  • Цитата

    По словам пользователя gamlet-ru ...
    почему я не могу найти по указаному адресу програмы
    скрипты.помогите пожалуста.где възять это всё.спасибо.


    Аплоуд balticsat давно почил в бозе(ну или переехал,я точно незнаю)
    А топик сей Шопен писал во время расцвета деятельности Масата
    Еслиб я знал.что там было-я б те подсказал
    Про ISO можно поисковиком найти
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Искомый файл в подвеске.
    Правда, в выкинул из него сам бинарник dvbsnoop
    и документ is138181.pdf (иначе файл из-за размера не подвешивался).
    Данный документ всегда можно быстро найти в гугле - просто по названию. Например вот прямая ссылка
    h t t p ://vpn.ams-sat.com/is138181.pdf