Files
metasploit-gs/api/Msf/Exploit/DECT_COA.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

1538 lines
54 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Module: Msf::Exploit::DECT_COA
&mdash; Documentation by YARD 0.9.37
</title>
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Msf::Exploit::DECT_COA";
relpath = '../../';
</script>
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../../class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../../_index.html">Index (D)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../Msf.html" title="Msf (module)">Msf</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span>
&raquo;
<span class="title">DECT_COA</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Module: Msf::Exploit::DECT_COA
</h1>
<div class="box_info">
<dl>
<dt>Defined in:</dt>
<dd>lib/msf/core/exploit/dect_coa.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This modules provides methods for interacting with a Com-On-Air DECT device</p>
</div>
</div>
<div class="tags">
</div>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="DECT_BAND_EMEA-constant" class="">DECT_BAND_EMEA =
<div class="docstring">
<div class="discussion">
<p>Constants</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>0x01</span></pre></dd>
<dt id="DECT_BAND_US-constant" class="">DECT_BAND_US =
</dt>
<dd><pre class="code"><span class='int'>0x02</span></pre></dd>
<dt id="DECT_BAND_BOTH-constant" class="">DECT_BAND_BOTH =
</dt>
<dd><pre class="code"><span class='int'>0x03</span></pre></dd>
<dt id="COA_MODE_IDLE-constant" class="">COA_MODE_IDLE =
</dt>
<dd><pre class="code"><span class='int'>0x0000</span></pre></dd>
<dt id="COA_MODE_FP-constant" class="">COA_MODE_FP =
</dt>
<dd><pre class="code"><span class='int'>0x0100</span></pre></dd>
<dt id="COA_MODE_PP-constant" class="">COA_MODE_PP =
</dt>
<dd><pre class="code"><span class='int'>0x0200</span></pre></dd>
<dt id="COA_MODE_SNIFF-constant" class="">COA_MODE_SNIFF =
</dt>
<dd><pre class="code"><span class='int'>0x0300</span></pre></dd>
<dt id="COA_MODE_JAM-constant" class="">COA_MODE_JAM =
</dt>
<dd><pre class="code"><span class='int'>0x0400</span></pre></dd>
<dt id="COA_MODE_EEPROM-constant" class="">COA_MODE_EEPROM =
</dt>
<dd><pre class="code"><span class='int'>0x0500</span></pre></dd>
<dt id="COA_SUBMODE_SNIFF_SCANFP-constant" class="">COA_SUBMODE_SNIFF_SCANFP =
</dt>
<dd><pre class="code"><span class='int'>0x0001</span></pre></dd>
<dt id="COA_SUBMODE_SNIFF_SCANPP-constant" class="">COA_SUBMODE_SNIFF_SCANPP =
</dt>
<dd><pre class="code"><span class='int'>0x0002</span></pre></dd>
<dt id="COA_SUBMODE_SNIFF_SYNC-constant" class="">COA_SUBMODE_SNIFF_SYNC =
</dt>
<dd><pre class="code"><span class='int'>0x0003</span></pre></dd>
<dt id="COA_IOCTL_MODE-constant" class="">COA_IOCTL_MODE =
</dt>
<dd><pre class="code"><span class='int'>0xD000</span></pre></dd>
<dt id="COA_IOCTL_RADIO-constant" class="">COA_IOCTL_RADIO =
</dt>
<dd><pre class="code"><span class='int'>0xD001</span></pre></dd>
<dt id="COA_IOCTL_RX-constant" class="">COA_IOCTL_RX =
</dt>
<dd><pre class="code"><span class='int'>0xD002</span></pre></dd>
<dt id="COA_IOCTL_TX-constant" class="">COA_IOCTL_TX =
</dt>
<dd><pre class="code"><span class='int'>0xD003</span></pre></dd>
<dt id="COA_IOCTL_CHAN-constant" class="">COA_IOCTL_CHAN =
</dt>
<dd><pre class="code"><span class='int'>0xD004</span></pre></dd>
<dt id="COA_IOCTL_SLOT-constant" class="">COA_IOCTL_SLOT =
</dt>
<dd><pre class="code"><span class='int'>0xD005</span></pre></dd>
<dt id="COA_IOCTL_RSSI-constant" class="">COA_IOCTL_RSSI =
</dt>
<dd><pre class="code"><span class='int'>0xD006</span></pre></dd>
<dt id="COA_IOCTL_FIRMWARE-constant" class="">COA_IOCTL_FIRMWARE =
</dt>
<dd><pre class="code"><span class='int'>0xD007</span></pre></dd>
<dt id="COA_IOCTL_SETRFPI-constant" class="">COA_IOCTL_SETRFPI =
</dt>
<dd><pre class="code"><span class='int'>0xD008</span></pre></dd>
</dl>
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#band-instance_method" title="#band (instance method)">#<strong>band</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute band.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#channel-instance_method" title="#channel (instance method)">#<strong>channel</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute channel.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#dect_device-instance_method" title="#dect_device (instance method)">#<strong>dect_device</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute dect_device.</p>
</div></span>
</li>
</ul>
<h2>
Instance Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#call_scan_mode-instance_method" title="#call_scan_mode (instance method)">#<strong>call_scan_mode</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#close_coa-instance_method" title="#close_coa (instance method)">#<strong>close_coa</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#fp_scan_mode-instance_method" title="#fp_scan_mode (instance method)">#<strong>fp_scan_mode</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(info = {}) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#next_channel-instance_method" title="#next_channel (instance method)">#<strong>next_channel</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#open_coa-instance_method" title="#open_coa (instance method)">#<strong>open_coa</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parse_call-instance_method" title="#parse_call (instance method)">#<strong>parse_call</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parse_rfpi-instance_method" title="#parse_rfpi (instance method)">#<strong>parse_rfpi</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#parse_station-instance_method" title="#parse_station (instance method)">#<strong>parse_station</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#poll_coa-instance_method" title="#poll_coa (instance method)">#<strong>poll_coa</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#pp_scan_mode-instance_method" title="#pp_scan_mode (instance method)">#<strong>pp_scan_mode</strong>(rfpi) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#record_coa-instance_method" title="#record_coa (instance method)">#<strong>record_coa</strong>(filename) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#rfpi-instance_method" title="#rfpi (instance method)">#<strong>rfpi</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#set_band-instance_method" title="#set_band (instance method)">#<strong>set_band</strong>(b) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#set_channel-instance_method" title="#set_channel (instance method)">#<strong>set_channel</strong>(chan) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#set_rfpi-instance_method" title="#set_rfpi (instance method)">#<strong>set_rfpi</strong>(rfpi) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#stop_coa-instance_method" title="#stop_coa (instance method)">#<strong>stop_coa</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="band=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="band-instance_method">
#<strong>band</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute band.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
102
103
104</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 102</span>
<span class='kw'>def</span> <span class='id identifier rubyid_band'>band</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_band'>band</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="channel=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="channel-instance_method">
#<strong>channel</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute channel.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
98
99
100</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 98</span>
<span class='kw'>def</span> <span class='id identifier rubyid_channel'>channel</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="dect_device=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="dect_device-instance_method">
#<strong>dect_device</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute dect_device.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
191
192
193</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 191</span>
<span class='kw'>def</span> <span class='id identifier rubyid_dect_device'>dect_device</span>
<span class='ivar'>@dect_device</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="call_scan_mode-instance_method">
#<strong>call_scan_mode</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
81
82
83
84</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 81</span>
<span class='kw'>def</span> <span class='id identifier rubyid_call_scan_mode'>call_scan_mode</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SCANPP-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SCANPP (constant)">COA_SUBMODE_SNIFF_SCANPP</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>s</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BAND</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="close_coa-instance_method">
#<strong>close_coa</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
64
65
66
67</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 64</span>
<span class='kw'>def</span> <span class='id identifier rubyid_close_coa'>close_coa</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="fp_scan_mode-instance_method">
#<strong>fp_scan_mode</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
70
71
72
73</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 70</span>
<span class='kw'>def</span> <span class='id identifier rubyid_fp_scan_mode'>fp_scan_mode</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SCANFP-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SCANFP (constant)">COA_SUBMODE_SNIFF_SCANFP</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>s</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BAND</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="initialize-instance_method">
#<strong>initialize</strong>(info = {}) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
38
39
40
41
42
43
44
45
46
47
48
49</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 38</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='kw'>super</span>
<span class='id identifier rubyid_register_options'>register_options</span><span class='lparen'>(</span>
<span class='lbracket'>[</span>
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The name of the Com-On-Air Interface</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/dev/coa</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BAND</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DECT band</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CHAN</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DECT channel</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RFPI</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RFPI for synchronous scan</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='rbracket'>]</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Msf::Exploit::DECT_COA (module)">DECT_COA</a></span></span>
<span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="next_channel-instance_method">
#<strong>next_channel</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 125</span>
<span class='kw'>def</span> <span class='id identifier rubyid_next_channel'>next_channel</span>
<span class='kw'>case</span> <span class='id identifier rubyid_band'>band</span>
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>&lt;</span> <span class='int'>27</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_EMEA-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_EMEA (constant)">DECT_BAND_EMEA</a></span></span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>&lt;</span> <span class='int'>9</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_BOTH-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_BOTH (constant)">DECT_BAND_BOTH</a></span></span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>&lt;</span> <span class='int'>9</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>==</span> <span class='int'>9</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>&gt;</span> <span class='int'>9</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_channel'>channel</span> <span class='op'>&lt;</span> <span class='int'>27</span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="open_coa-instance_method">
#<strong>open_coa</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
51
52
53
54
55
56
57
58
59
60
61
62</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 51</span>
<span class='kw'>def</span> <span class='id identifier rubyid_open_coa'>open_coa</span>
<span class='id identifier rubyid_close_coa'>close_coa</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span>
<span class='kw'>begin</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>wb+</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not open the Com-On-Air device at </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>This module only works on Linux with the appropriate hardware and driver, while running as root</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not open the Com-On-Air device: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="parse_call-instance_method">
#<strong>parse_call</strong>(data) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
176
177
178
179
180
181
182
183</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 176</span>
<span class='kw'>def</span> <span class='id identifier rubyid_parse_call'>parse_call</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='lbrace'>{</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>channel</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rssi</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rfpi_raw</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rfpi</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="parse_rfpi-instance_method">
#<strong>parse_rfpi</strong>(data) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
163
164
165</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 163</span>
<span class='kw'>def</span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%02x %02x %02x %02x %02x</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>4</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="parse_station-instance_method">
#<strong>parse_station</strong>(data) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
167
168
169
170
171
172
173
174</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 167</span>
<span class='kw'>def</span> <span class='id identifier rubyid_parse_station'>parse_station</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='lbrace'>{</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>channel</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rssi</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rfpi_raw</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rfpi</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="poll_coa-instance_method">
#<strong>poll_coa</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
154
155
156
157
158
159
160
161</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 154</span>
<span class='kw'>def</span> <span class='id identifier rubyid_poll_coa'>poll_coa</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>IO</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='float'>0.50</span><span class='rparen'>)</span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span> <span class='op'>!=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_data'>data</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="pp_scan_mode-instance_method">
#<strong>pp_scan_mode</strong>(rfpi) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
75
76
77
78
79</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 75</span>
<span class='kw'>def</span> <span class='id identifier rubyid_pp_scan_mode'>pp_scan_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SYNC-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SYNC (constant)">COA_SUBMODE_SNIFF_SYNC</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>S</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_rfpi'>set_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="record_coa-instance_method">
#<strong>record_coa</strong>(filename) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>RuntimeError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
185
186
187
188
189</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 185</span>
<span class='kw'>def</span> <span class='id identifier rubyid_record_coa'>record_coa</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DECT call recording is not supported yet</span><span class='tstring_end'>&quot;</span></span>
<span class='id identifier rubyid_fd'>fd</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rb+</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="rfpi-instance_method">
#<strong>rfpi</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
90
91
92</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 90</span>
<span class='kw'>def</span> <span class='id identifier rubyid_rfpi'>rfpi</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rfpi'>rfpi</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="set_band-instance_method">
#<strong>set_band</strong>(b) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
106
107
108
109
110
111
112
113
114
115
116
117
118</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 106</span>
<span class='kw'>def</span> <span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_band'>band</span> <span class='op'>=</span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_EMEA-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_EMEA (constant)">DECT_BAND_EMEA</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_BOTH-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_BOTH (constant)">DECT_BAND_BOTH</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="set_channel-instance_method">
#<strong>set_channel</strong>(chan) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
120
121
122
123</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 120</span>
<span class='kw'>def</span> <span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_chan'>chan</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>=</span> <span class='id identifier rubyid_chan'>chan</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_CHAN-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_CHAN (constant)">COA_IOCTL_CHAN</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_channel'>channel</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>i</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="set_rfpi-instance_method">
#<strong>set_rfpi</strong>(rfpi) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
94
95
96</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 94</span>
<span class='kw'>def</span> <span class='id identifier rubyid_set_rfpi'>set_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_SETRFPI-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_SETRFPI (constant)">COA_IOCTL_SETRFPI</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>s</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="stop_coa-instance_method">
#<strong>stop_coa</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
86
87
88</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 86</span>
<span class='kw'>def</span> <span class='id identifier rubyid_stop_coa'>stop_coa</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_IDLE-constant" title="Msf::Exploit::DECT_COA::COA_MODE_IDLE (constant)">COA_MODE_IDLE</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>s</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:01:14 2026 by
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.37 (ruby-3.1.5).
</div>
</div>
</body>
</html>