List of Infrared Radiations Modules¶
ir_info¶
Presentation¶
ir_info displays some informations about a specific interface. The supported devices and their corresponding interfaces are listed here. The displayed informations and the output parameters changes according to the provided interface.
Compatible devices¶
Input parameters¶
Name |
Default value |
Possible values |
Description |
---|---|---|---|
INTERFACE |
irma0 |
irmaX |
Interface to display |
SHOW_CAPABILITIES |
yes |
yes|no |
Indicates if the capabilities of the interface should be displayed |
Output parameters¶
Name |
Possible values |
Description |
---|---|---|
INTERFACE |
irmaX |
Selected interface |
DEVICE_INDEX |
#X |
Device index |
SERIAL_PORT |
<string> |
Serial port used by the interface |
FREQUENCY |
<integer> |
Frequency used by the interface |
Usage¶
If you want to display the informations related to an IRMA interface :
$ mirage ir_info INTERFACE=irma0
[INFO] Module ir_info loaded !
┌───────────┬──────────────┬──────────────┬───────────┐
│ Interface │ Device Index │ Serial Port │ Frequency │
├───────────┼──────────────┼──────────────┼───────────┤
│ irma0 │ #0 │ /dev/ttyUSB0 │ 38 kHz │
└───────────┴──────────────┴──────────────┴───────────┘
[INFO] Mirage process terminated !
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¶
Input parameters¶
Name |
Default value |
Possible values |
Description |
---|---|---|---|
INTERFACE |
irma0 |
irmaX |
Interface to display |
FREQUENCY |
38 |
<integer> |
Frequency to use |
NUMBER |
1 |
<integer> |
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 |
<integers list> |
Raw data describing the signal |
PROTOCOL |
<string> |
Identified protocol of the signal |
CODE (optional) |
<hexadecimal> |
IR Code included in the signal |
CODE_SIZE (optional) |
<integer> |
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 |
<integers list> |
Raw data describing the 1st signal |
PROTOCOL1 |
<string> |
Identified protocol of the 1st signal |
CODE1 (optional) |
<hexadecimal> |
IR Code included in the 1st signal |
CODE_SIZE1 (optional) |
<integer> |
Size of the IR Code included in the 1st signal |
DATA2 |
<integers list> |
Raw data describing the 2nd signal |
PROTOCOL2 |
<string> |
Identified protocol of the 2nd signal |
CODE2 (optional) |
<hexadecimal> |
IR Code included in the 2nd signal |
CODE_SIZE2 (optional) |
<integer> |
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 !
ir_inject¶
Presentation¶
ir_inject allows to inject IR signals using an IRMA device. It allows to choose the frequency of the transmitter (FREQUENCY parameter, set to 38 kHz by default). You can inject a signal as raw data using the DATA parameter (you have to provide a list of integers), or you can select a specific protocol using the PROTOCOL parameter and provide the CODE and CODE_SIZE parameter, describing the IR code to transmit.
Compatible devices¶
Input parameters¶
Name |
Default value |
Possible values |
Description |
---|---|---|---|
INTERFACE |
irma0 |
irmaX |
Interface to display |
FREQUENCY |
38 |
<integer> |
Frequency to use |
DATA |
<integers list> |
Raw data to inject |
|
PROTOCOL |
NEC|Sony|RC5|RC6|Dish|Sharp|JVC|Sanyo|Mitsubishi|Samsung... |
Protocol to use |
|
CODE |
<hexadecimal> |
Code to inject |
|
CODE_SIZE |
<integer> |
Size of the code to inject (bits) |
Output parameters¶
Output parameters¶
This module doesn’t provide any output parameters.
Usage¶
Basic Usage¶
If you want to transmit a raw signal, use the following command :
$ mirage ir_inject DATA=1200,500,5800,1000,500
[INFO] Module ir_inject loaded !
[INFO] Injecting ...
[SUCCESS] Injection done !
[INFO] Mirage process terminated !
If you want to inject a specific code, you have to provide the parameters PROTOCOL, CODE and CODE_SIZE:
$ mirage ir_inject PROTOCOL=NEC CODE=76044FF0 CODE_SIZE=32
[INFO] Module ir_inject loaded !
[INFO] Injecting ...
[SUCCESS] Injection done !
[INFO] Mirage process terminated !
Performing a replay attack¶
This module can be combined with ir_sniff 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 !