Files
metasploit-gs/api/Rex/Proto/ADDP.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

949 lines
64 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Rex::Proto::ADDP
&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 = "Rex::Proto::ADDP";
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 (A)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Proto.html" title="Rex::Proto (module)">Proto</a></span></span>
&raquo;
<span class="title">ADDP</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>Class: Rex::Proto::ADDP
</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd>
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Rex::Proto::ADDP</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/rex/proto/addp.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This provides constants, encoding, and decoding routines for Digi Internationals ADDP protocol</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="MAGICS-constant" class="">MAGICS =
</dt>
<dd><pre class="code"><span class='words_beg'>%W{</span><span class='words_sep'> </span><span class='tstring_content'>DIGI</span><span class='words_sep'> </span><span class='tstring_content'>DVKT</span><span class='words_sep'> </span><span class='tstring_content'>DGDP</span><span class='words_sep'> </span><span class='tstring_end'>}</span></span></pre></dd>
<dt id="ERRORS-constant" class="">ERRORS =
</dt>
<dd><pre class="code"><span class='words_beg'>%W{</span><span class='words_sep'> </span><span class='tstring_content'>no_response</span><span class='words_sep'> </span><span class='tstring_content'>unknown</span><span class='words_sep'> </span><span class='tstring_content'>success</span><span class='words_sep'> </span><span class='tstring_content'>authenticaton_failed</span><span class='words_sep'> </span><span class='tstring_content'>unit_has_address</span><span class='words_sep'> </span><span class='tstring_content'>invalid_value</span><span class='words_sep'> </span><span class='tstring_content'>invalid_data</span><span class='words_sep'> </span><span class='tstring_content'>unsupported_command</span><span class='words_sep'> </span><span class='tstring_end'>}</span></span></pre></dd>
<dt id="WLAN_ENC_MODES-constant" class="">WLAN_ENC_MODES =
</dt>
<dd><pre class="code"><span class='words_beg'>%W{</span><span class='words_sep'> </span><span class='tstring_content'>unknown</span><span class='words_sep'> </span><span class='tstring_content'>none</span><span class='words_sep'> </span><span class='tstring_content'>wep40</span><span class='words_sep'> </span><span class='tstring_content'>wep128</span><span class='words_sep'> </span><span class='tstring_end'>}</span></span></pre></dd>
<dt id="WLAN_AUTH_MODES-constant" class="">WLAN_AUTH_MODES =
</dt>
<dd><pre class="code"><span class='words_beg'>%W{</span><span class='words_sep'> </span><span class='tstring_content'>unknown</span><span class='words_sep'> </span><span class='tstring_content'>open</span><span class='words_sep'> </span><span class='tstring_content'>shared_key</span><span class='words_sep'> </span><span class='tstring_content'>open_shared_key</span><span class='words_sep'> </span><span class='tstring_end'>}</span></span></pre></dd>
<dt id="HWTYPES-constant" class="">HWTYPES =
</dt>
<dd><pre class="code"><span class='words_beg'>%W{</span><span class='words_sep'>
</span><span class='tstring_content'>unknown</span><span class='words_sep'> </span><span class='tstring_content'>ps3_desk8</span><span class='words_sep'> </span><span class='tstring_content'>ps3_desk16</span><span class='words_sep'> </span><span class='tstring_content'>ps3_desk32</span><span class='words_sep'> </span><span class='tstring_content'>ps3_rack16</span><span class='words_sep'> </span><span class='tstring_content'>ps2_desk16</span><span class='words_sep'> </span><span class='tstring_content'>ps2_rack16</span><span class='words_sep'>
</span><span class='tstring_content'>lets_desk1</span><span class='words_sep'> </span><span class='tstring_content'>lets_desk2</span><span class='words_sep'> </span><span class='tstring_content'>lets_desk4</span><span class='words_sep'> </span><span class='tstring_content'>dorpia_dinrail1</span><span class='words_sep'> </span><span class='tstring_content'>nubox01</span><span class='words_sep'> </span><span class='tstring_content'>nubox02</span><span class='words_sep'> </span><span class='tstring_content'>nubox04</span><span class='words_sep'>
</span><span class='tstring_content'>digione_sp</span><span class='words_sep'> </span><span class='tstring_content'>digione_ia</span><span class='words_sep'> </span><span class='tstring_content'>digione_em</span><span class='words_sep'>
</span><span class='tstring_end'>}</span></span></pre></dd>
<dt id="CMD_CONF_REQ-constant" class="">CMD_CONF_REQ =
</dt>
<dd><pre class="code"><span class='int'>1</span></pre></dd>
<dt id="CMD_CONF_REP-constant" class="">CMD_CONF_REP =
</dt>
<dd><pre class="code"><span class='int'>2</span></pre></dd>
<dt id="CMD_SET_ADDR_REQ-constant" class="">CMD_SET_ADDR_REQ =
</dt>
<dd><pre class="code"><span class='int'>3</span></pre></dd>
<dt id="CMD_SET_ADDR_REP-constant" class="">CMD_SET_ADDR_REP =
</dt>
<dd><pre class="code"><span class='int'>4</span></pre></dd>
<dt id="CMD_REBOOT_REQ-constant" class="">CMD_REBOOT_REQ =
</dt>
<dd><pre class="code"><span class='int'>5</span></pre></dd>
<dt id="CMD_REBOOT_REP-constant" class="">CMD_REBOOT_REP =
</dt>
<dd><pre class="code"><span class='int'>6</span></pre></dd>
<dt id="CMD_SET_DHCP_REQ-constant" class="">CMD_SET_DHCP_REQ =
</dt>
<dd><pre class="code"><span class='int'>7</span></pre></dd>
<dt id="CMD_SET_DHCP_REP-constant" class="">CMD_SET_DHCP_REP =
</dt>
<dd><pre class="code"><span class='int'>8</span></pre></dd>
<dt id="CMD_SET_WL_REQ-constant" class="">CMD_SET_WL_REQ =
</dt>
<dd><pre class="code"><span class='int'>9</span></pre></dd>
<dt id="CMD_SET_WL_REP-constant" class="">CMD_SET_WL_REP =
</dt>
<dd><pre class="code"><span class='int'>10</span></pre></dd>
<dt id="CMD_SET_WL_COUNTRIES_REQ-constant" class="">CMD_SET_WL_COUNTRIES_REQ =
</dt>
<dd><pre class="code"><span class='int'>11</span></pre></dd>
<dt id="CMD_SET_WL_COUNTRIES_REP-constant" class="">CMD_SET_WL_COUNTRIES_REP =
</dt>
<dd><pre class="code"><span class='int'>12</span></pre></dd>
<dt id="CMD_EDP-constant" class="">CMD_EDP =
</dt>
<dd><pre class="code"><span class='int'>13</span></pre></dd>
<dt id="CMD_CNT-constant" class="">CMD_CNT =
</dt>
<dd><pre class="code"><span class='int'>14</span></pre></dd>
</dl>
<h2>
Class Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#decode_reply-class_method" title="decode_reply (class method)">.<strong>decode_reply</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="#encode_password-class_method" title="encode_password (class method)">.<strong>encode_password</strong>(pwd = &quot;dbps&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#reply_to_string-class_method" title="reply_to_string (class method)">.<strong>reply_to_string</strong>(res) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#request_config-class_method" title="request_config (class method)">.<strong>request_config</strong>(magic, dmac = &quot;\xff\xff\xff\xff\xff\xff&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#request_config_all-class_method" title="request_config_all (class method)">.<strong>request_config_all</strong>(dmac = &quot;\xff\xff\xff\xff\xff\xff&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#request_dhcp-class_method" title="request_dhcp (class method)">.<strong>request_dhcp</strong>(magic, dmac, enabled, pwd = &quot;dbps&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#request_reboot-class_method" title="request_reboot (class method)">.<strong>request_reboot</strong>(magic, dmac, pwd = &quot;dbps&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#request_static_ip-class_method" title="request_static_ip (class method)">.<strong>request_static_ip</strong>(magic, dmac, ip, mask, gw, pwd = &quot;dbps&quot;) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<div id="class_method_details" class="method_details_list">
<h2>Class Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="decode_reply-class_method">
.<strong>decode_reply</strong>(data) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 96</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_decode_reply'>decode_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='id identifier rubyid_r_magic'>r_magic</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>4</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_r_ptype'>r_ptype</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>4</span><span class='comma'>,</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='id identifier rubyid_r_plen'>r_plen</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>6</span><span class='comma'>,</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='id identifier rubyid_buff'>buff</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>8</span><span class='comma'>,</span> <span class='id identifier rubyid_r_plen'>r_plen</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_bidx'>bidx</span> <span class='op'>=</span> <span class='int'>0</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:magic</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>4</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:cmd</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_r_ptype'>r_ptype</span>
<span class='kw'>while</span> <span class='id identifier rubyid_bidx'>bidx</span> <span class='op'>&lt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_buff'>buff</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>-</span> <span class='int'>2</span><span class='rparen'>)</span>
<span class='id identifier rubyid_i_type'>i_type</span><span class='comma'>,</span> <span class='id identifier rubyid_i_len'>i_len</span> <span class='op'>=</span> <span class='id identifier rubyid_buff'>buff</span><span class='lbracket'>[</span><span class='id identifier rubyid_bidx'>bidx</span><span class='comma'>,</span> <span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CC</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_i_data'>i_data</span> <span class='op'>=</span> <span class='id identifier rubyid_buff'>buff</span><span class='lbracket'>[</span><span class='id identifier rubyid_bidx'>bidx</span> <span class='op'>+</span> <span class='int'>2</span><span class='comma'>,</span> <span class='id identifier rubyid_i_len'>i_len</span><span class='rbracket'>]</span>
<span class='kw'>break</span> <span class='kw'>if</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>!=</span> <span class='id identifier rubyid_i_len'>i_len</span>
<span class='kw'>case</span> <span class='id identifier rubyid_i_type'>i_type</span>
<span class='kw'>when</span> <span class='int'>0x01</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:mac</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_ntoa'>eth_ntoa</span><span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='int'>0x02</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:ip</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_ntoa'>addr_ntoa</span><span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='int'>0x03</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:mask</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_ntoa'>addr_ntoa</span><span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='int'>0x04</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:hostname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x05</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:domain</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x06</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:hwtype</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#HWTYPES-constant" title="Rex::Proto::ADDP::HWTYPES (constant)">HWTYPES</a></span></span><span class='lbracket'>[</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'><span class='object_link'><a href="#HWTYPES-constant" title="Rex::Proto::ADDP::HWTYPES (constant)">HWTYPES</a></span></span><span class='lbracket'>[</span> <span class='int'>0</span> <span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='int'>0x07</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:hwrev</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x08</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:fwrev</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x09</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:msg</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x0a</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:result</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x0b</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:gw</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_ntoa'>addr_ntoa</span><span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='int'>0x0c</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:advisory</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x0d</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:hwname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x0e</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:realport</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>N</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x0f</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:dns</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_ntoa'>addr_ntoa</span><span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='int'>0x10</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:dhcp</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>false</span> <span class='op'>:</span> <span class='kw'>true</span>
<span class='kw'>when</span> <span class='int'>0x11</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:error</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#ERRORS-constant" title="Rex::Proto::ADDP::ERRORS (constant)">ERRORS</a></span></span><span class='lbracket'>[</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'><span class='object_link'><a href="#ERRORS-constant" title="Rex::Proto::ADDP::ERRORS (constant)">ERRORS</a></span></span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='int'>0x12</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:ports</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x13</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:realport_enc</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>false</span> <span class='op'>:</span> <span class='kw'>true</span>
<span class='kw'>when</span> <span class='int'>0x14</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:version</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x15</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:vendor_guid</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>H*</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='comment'># GUID
</span> <span class='kw'>when</span> <span class='int'>0x16</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:iftype</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x17</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:challenge</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span> <span class='comment'># Unknown format
</span> <span class='kw'>when</span> <span class='int'>0x18</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:cap_port</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x19</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:edp_devid</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>H*</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='comment'># Unknown format
</span> <span class='kw'>when</span> <span class='int'>0x1a</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:edp_enabled</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>false</span> <span class='op'>:</span> <span class='kw'>true</span>
<span class='kw'>when</span> <span class='int'>0x1b</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:edp_url</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x1c</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_ssid</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x1d</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_auto_ssid</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>false</span> <span class='op'>:</span> <span class='kw'>true</span>
<span class='kw'>when</span> <span class='int'>0x1e</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_tx_enh_power</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>when</span> <span class='int'>0x1f</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_auth_mode</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#WLAN_AUTH_MODES-constant" title="Rex::Proto::ADDP::WLAN_AUTH_MODES (constant)">WLAN_AUTH_MODES</a></span></span><span class='lbracket'>[</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'><span class='object_link'><a href="#WLAN_AUTH_MODES-constant" title="Rex::Proto::ADDP::WLAN_AUTH_MODES (constant)">WLAN_AUTH_MODES</a></span></span><span class='lbracket'>[</span> <span class='int'>0</span> <span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='int'>0x20</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_enc_mode</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#WLAN_ENC_MODES-constant" title="Rex::Proto::ADDP::WLAN_ENC_MODES (constant)">WLAN_ENC_MODES</a></span></span><span class='lbracket'>[</span> <span class='id identifier rubyid_i_data'>i_data</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'><span class='object_link'><a href="#WLAN_ENC_MODES-constant" title="Rex::Proto::ADDP::WLAN_ENC_MODES (constant)">WLAN_ENC_MODES</a></span></span><span class='lbracket'>[</span> <span class='int'>0</span> <span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='int'>0x21</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_enc_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x22</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_cur_country</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>when</span> <span class='int'>0x23</span>
<span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='symbol'>:wl_country_list</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>else</span>
<span class='comment'># Store unknown responses
</span> <span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>unknown_0x</span><span class='embexpr_beg'>#{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%.2x</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span> <span class='id identifier rubyid_i_type'>i_type</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_i_data'>i_data</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_bidx'>bidx</span> <span class='op'>=</span> <span class='id identifier rubyid_bidx'>bidx</span> <span class='op'>+</span> <span class='int'>2</span> <span class='op'>+</span> <span class='id identifier rubyid_i_len'>i_len</span>
<span class='kw'>end</span>
<span class='kw'>return</span> <span class='id identifier rubyid_res'>res</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="encode_password-class_method">
.<strong>encode_password</strong>(pwd = &quot;dbps&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
45
46
47</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 45</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_encode_password'>encode_password</span><span class='lparen'>(</span><span class='id identifier rubyid_pwd'>pwd</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dbps</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='lbracket'>[</span><span class='id identifier rubyid_pwd'>pwd</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</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'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_pwd'>pwd</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="reply_to_string-class_method">
.<strong>reply_to_string</strong>(res) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 194</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_reply_to_string'>reply_to_string</span><span class='lparen'>(</span><span class='id identifier rubyid_res'>res</span><span class='rparen'>)</span>
<span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
<span class='id identifier rubyid_fields'>fields</span> <span class='op'>=</span> <span class='lbracket'>[</span>
<span class='symbol'>:hwname</span><span class='comma'>,</span> <span class='symbol'>:hwtype</span><span class='comma'>,</span> <span class='symbol'>:hwrev</span><span class='comma'>,</span> <span class='symbol'>:fwrev</span><span class='comma'>,</span>
<span class='symbol'>:mac</span><span class='comma'>,</span> <span class='symbol'>:ip</span><span class='comma'>,</span> <span class='symbol'>:mask</span><span class='comma'>,</span> <span class='symbol'>:gw</span><span class='comma'>,</span> <span class='symbol'>:hostname</span><span class='comma'>,</span> <span class='symbol'>:domain</span><span class='comma'>,</span> <span class='symbol'>:dns</span><span class='comma'>,</span> <span class='symbol'>:dhcp</span><span class='comma'>,</span>
<span class='symbol'>:msg</span><span class='comma'>,</span> <span class='symbol'>:result</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span>
<span class='symbol'>:advisory</span><span class='comma'>,</span> <span class='symbol'>:ports</span><span class='comma'>,</span> <span class='symbol'>:realport</span><span class='comma'>,</span> <span class='symbol'>:realport_enc</span><span class='comma'>,</span>
<span class='symbol'>:version</span><span class='comma'>,</span> <span class='symbol'>:vendor_guid</span><span class='comma'>,</span> <span class='symbol'>:iftype</span><span class='comma'>,</span> <span class='symbol'>:challenge</span><span class='comma'>,</span> <span class='symbol'>:cap_port</span><span class='comma'>,</span> <span class='symbol'>:edp_devid</span><span class='comma'>,</span> <span class='symbol'>:edp_enabled</span><span class='comma'>,</span>
<span class='symbol'>:edp_url</span><span class='comma'>,</span> <span class='symbol'>:wl_ssid</span><span class='comma'>,</span> <span class='symbol'>:wl_auto_ssid</span><span class='comma'>,</span> <span class='symbol'>:wl_tx_enh_power</span><span class='comma'>,</span> <span class='symbol'>:wl_auth_mode</span><span class='comma'>,</span> <span class='symbol'>:wl_enc_mode</span><span class='comma'>,</span>
<span class='symbol'>:wl_enc_key</span><span class='comma'>,</span> <span class='symbol'>:wl_cur_country</span><span class='comma'>,</span> <span class='symbol'>:wl_country_list</span><span class='comma'>,</span> <span class='symbol'>:magic</span>
<span class='rbracket'>]</span>
<span class='id identifier rubyid_fields'>fields</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_fname'>fname</span><span class='op'>|</span>
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_fname'>fname</span><span class='rparen'>)</span>
<span class='id identifier rubyid_str'>str</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fname'>fname</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='id identifier rubyid_fname'>fname</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span>
<span class='kw'>return</span> <span class='id identifier rubyid_str'>str</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="request_config-class_method">
.<strong>request_config</strong>(magic, dmac = &quot;\xff\xff\xff\xff\xff\xff&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
49
50
51
52
53</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 49</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lparen'>(</span><span class='id identifier rubyid_magic'>magic</span><span class='comma'>,</span> <span class='id identifier rubyid_dmac'>dmac</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\xff\xff\xff\xff\xff\xff</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>6</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_dmac'>dmac</span> <span class='op'>:</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_aton'>eth_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span>
<span class='id identifier rubyid_req'>req</span> <span class='op'>=</span> <span class='id identifier rubyid_magic'>magic</span> <span class='op'>+</span> <span class='lbracket'>[</span> <span class='const'><span class='object_link'><a href="#CMD_CONF_REQ-constant" title="Rex::Proto::ADDP::CMD_CONF_REQ (constant)">CMD_CONF_REQ</a></span></span><span class='comma'>,</span> <span class='int'>6</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'>&quot;</span><span class='tstring_content'>nn</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_mac'>mac</span>
<span class='kw'>return</span> <span class='id identifier rubyid_req'>req</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="request_config_all-class_method">
.<strong>request_config_all</strong>(dmac = &quot;\xff\xff\xff\xff\xff\xff&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
55
56
57
58
59
60</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 55</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_config_all'>request_config_all</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\xff\xff\xff\xff\xff\xff</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>6</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_dmac'>dmac</span> <span class='op'>:</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_aton'>eth_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span>
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
<span class='const'><span class='object_link'><a href="#MAGICS-constant" title="Rex::Proto::ADDP::MAGICS (constant)">MAGICS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_m'>m</span><span class='op'>|</span> <span class='id identifier rubyid_res'>res</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span><span class='comma'>,</span> <span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
<span class='kw'>return</span> <span class='id identifier rubyid_res'>res</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="request_dhcp-class_method">
.<strong>request_dhcp</strong>(magic, dmac, enabled, pwd = &quot;dbps&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
75
76
77
78
79
80
81
82
83
84</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 75</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_dhcp'>request_dhcp</span><span class='lparen'>(</span><span class='id identifier rubyid_magic'>magic</span><span class='comma'>,</span> <span class='id identifier rubyid_dmac'>dmac</span><span class='comma'>,</span> <span class='id identifier rubyid_enabled'>enabled</span><span class='comma'>,</span> <span class='id identifier rubyid_pwd'>pwd</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dbps</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>6</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_dmac'>dmac</span> <span class='op'>:</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_aton'>eth_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span>
<span class='id identifier rubyid_buf'>buf</span> <span class='op'>=</span>
<span class='lbracket'>[</span> <span class='id identifier rubyid_enabled'>enabled</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'>:</span> <span class='int'>0</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'>&quot;</span><span class='tstring_content'>C</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>+</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_encode_password'>encode_password</span><span class='lparen'>(</span><span class='id identifier rubyid_pwd'>pwd</span><span class='rparen'>)</span>
<span class='id identifier rubyid_req'>req</span> <span class='op'>=</span> <span class='id identifier rubyid_magic'>magic</span> <span class='op'>+</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#CMD_SET_DHCP_REQ-constant" title="Rex::Proto::ADDP::CMD_SET_DHCP_REQ (constant)">CMD_SET_DHCP_REQ</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</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'>&quot;</span><span class='tstring_content'>nn</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_buf'>buf</span>
<span class='kw'>return</span> <span class='id identifier rubyid_req'>req</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="request_reboot-class_method">
.<strong>request_reboot</strong>(magic, dmac, pwd = &quot;dbps&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
86
87
88
89
90
91
92
93
94</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 86</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_reboot'>request_reboot</span><span class='lparen'>(</span><span class='id identifier rubyid_magic'>magic</span><span class='comma'>,</span> <span class='id identifier rubyid_dmac'>dmac</span><span class='comma'>,</span> <span class='id identifier rubyid_pwd'>pwd</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dbps</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>6</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_dmac'>dmac</span> <span class='op'>:</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_aton'>eth_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span>
<span class='id identifier rubyid_buf'>buf</span> <span class='op'>=</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>+</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_encode_password'>encode_password</span><span class='lparen'>(</span><span class='id identifier rubyid_pwd'>pwd</span><span class='rparen'>)</span>
<span class='id identifier rubyid_req'>req</span> <span class='op'>=</span> <span class='id identifier rubyid_magic'>magic</span> <span class='op'>+</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#CMD_REBOOT_REQ-constant" title="Rex::Proto::ADDP::CMD_REBOOT_REQ (constant)">CMD_REBOOT_REQ</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</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'>&quot;</span><span class='tstring_content'>nn</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_buf'>buf</span>
<span class='kw'>return</span> <span class='id identifier rubyid_req'>req</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="request_static_ip-class_method">
.<strong>request_static_ip</strong>(magic, dmac, ip, mask, gw, pwd = &quot;dbps&quot;) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
62
63
64
65
66
67
68
69
70
71
72
73</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/proto/addp.rb', line 62</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_request_static_ip'>request_static_ip</span><span class='lparen'>(</span><span class='id identifier rubyid_magic'>magic</span><span class='comma'>,</span> <span class='id identifier rubyid_dmac'>dmac</span><span class='comma'>,</span> <span class='id identifier rubyid_ip'>ip</span><span class='comma'>,</span> <span class='id identifier rubyid_mask'>mask</span><span class='comma'>,</span> <span class='id identifier rubyid_gw'>gw</span><span class='comma'>,</span> <span class='id identifier rubyid_pwd'>pwd</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dbps</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>6</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_dmac'>dmac</span> <span class='op'>:</span> <span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_eth_aton'>eth_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_dmac'>dmac</span><span class='rparen'>)</span>
<span class='id identifier rubyid_buf'>buf</span> <span class='op'>=</span>
<span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_aton'>addr_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_ip'>ip</span><span class='rparen'>)</span> <span class='op'>+</span>
<span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_aton'>addr_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span> <span class='op'>+</span>
<span class='const'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_addr_aton'>addr_aton</span><span class='lparen'>(</span><span class='id identifier rubyid_gw'>gw</span><span class='rparen'>)</span> <span class='op'>+</span>
<span class='id identifier rubyid_mac'>mac</span> <span class='op'>+</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_encode_password'>encode_password</span><span class='lparen'>(</span><span class='id identifier rubyid_pwd'>pwd</span><span class='rparen'>)</span>
<span class='id identifier rubyid_req'>req</span> <span class='op'>=</span> <span class='id identifier rubyid_magic'>magic</span> <span class='op'>+</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#CMD_SET_ADDR_REQ-constant" title="Rex::Proto::ADDP::CMD_SET_ADDR_REQ (constant)">CMD_SET_ADDR_REQ</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</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'>&quot;</span><span class='tstring_content'>nn</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_buf'>buf</span>
<span class='kw'>return</span> <span class='id identifier rubyid_req'>req</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:04:05 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>