ir_sniff ======== Presentation ------------ **ir_sniff** allows to sniff and decode the IR signals captured by an `IRMA device `_. It allows to choose the frequency of the receiver (*FREQUENCY* parameter, set to 38 kHz by default) and to indicates how many signals have to be captured (*NUMBER* parameter). Compatible devices ------------------ * `IRMA Device `_ Input parameters ----------------- +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------+----------------------------------------------------------------------+ | Name | Default value | Possible values | Description | +========================================+=======================================+=========================================================================+======================================================================+ | INTERFACE | irma0 | irmaX | Interface to display | +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------+----------------------------------------------------------------------+ | FREQUENCY | 38 | | Frequency to use | +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------+----------------------------------------------------------------------+ | NUMBER | 1 | | Number of captured signals | +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------+----------------------------------------------------------------------+ Output parameters ------------------ If only one signal has been captured, the following output parameters are generated (*CODE* and *CODE_SIZE* are only generated if a known protocol is identified): +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | Name | Possible values | Description | +========================================+=============================================================+======================================================================+ | INTERFACE | irmaX | Selected interface | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | DATA | | Raw data describing the signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL | | Identified protocol of the signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE (optional) | | IR Code included in the signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE_SIZE (optional) | | Size of the IR Code included in the signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ If multiple signals have been captured, the same output parameters are generated, but are suffixed by the number of the signals : +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | Name | Possible values | Description | +========================================+=============================================================+======================================================================+ | INTERFACE | irmaX | Selected interface | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | DATA1 | | Raw data describing the 1st signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL1 | | Identified protocol of the 1st signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE1 (optional) | | IR Code included in the 1st signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE_SIZE1 (optional) | | Size of the IR Code included in the 1st signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | DATA2 | | Raw data describing the 2nd signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | PROTOCOL2 | | Identified protocol of the 2nd signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE2 (optional) | | IR Code included in the 2nd signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | CODE_SIZE2 (optional) | | Size of the IR Code included in the 2nd signal | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ | \.\.\. | \.\.\. | \.\.\. | +----------------------------------------+-------------------------------------------------------------+----------------------------------------------------------------------+ Usage ------ Basic Usage ^^^^^^^^^^^^ If you want to capture one signal, use the following command : :: $ mirage ir_sniff [INFO] Module ir_sniff loaded ! [PACKET] << IR - NEC Packet | code (32 bits) =76044fc0 >> [INFO] Mirage process terminated ! If you want to capture multiple signals, you can use the *NUMBER* parameter in order to provide the number of signal to capture: :: $ mirage ir_sniff NUMBER=3 [INFO] Module ir_sniff loaded ! [PACKET] << IR - NEC Packet | code (32 bits) =76044ff0 >> [PACKET] << IR - NEC Packet | code (32 bits) =76044fd0 >> [PACKET] << IR - NEC Packet | code (32 bits) =76044fc0 >> [INFO] Mirage process terminated ! Performing a replay attack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ This module can be combined with `ir_inject `_ in order to perform replay attacks. You can launch this kind of attack by using the following command: :: $ mirage "ir_sniff|ir_inject" [INFO] Module ir_sniff loaded ! [INFO] Module ir_inject loaded ! [PACKET] << IR - NEC Packet | code (32 bits) =76044fc0 >> [INFO] Injecting ... [SUCCESS] Injection done ! [INFO] Mirage process terminated !