Files
metasploit-gs/api/Metasploit/Framework/Telnet/Client.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

1840 lines
67 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>
Module: Metasploit::Framework::Telnet::Client
&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 = "Metasploit::Framework::Telnet::Client";
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 (C)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Telnet.html" title="Metasploit::Framework::Telnet (module)">Telnet</a></span></span>
&raquo;
<span class="title">Client</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: Metasploit::Framework::Telnet::Client
</h1>
<div class="box_info">
<dl>
<dt>Extended by:</dt>
<dd>ActiveSupport::Concern</dd>
</dl>
<dl>
<dt>Includes:</dt>
<dd><span class='object_link'><a href="../Tcp/Client.html" title="Metasploit::Framework::Tcp::Client (module)">Metasploit::Framework::Tcp::Client</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Msf::Auxiliary::Login</a></span></dd>
</dl>
<dl>
<dt>Included in:</dt>
<dd><span class='object_link'><a href="../LoginScanner/Telnet.html" title="Metasploit::Framework::LoginScanner::Telnet (class)">LoginScanner::Telnet</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/metasploit/framework/telnet/client.rb</dd>
</dl>
</div>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="IAC-constant" class="">IAC =
<div class="docstring">
<div class="discussion">
<p>CONSTANTS</p>
<p>Borrowing constants from Rubys Net::Telnet class (ruby license)</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>255</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DONT-constant" class="">DONT =
<div class="docstring">
<div class="discussion">
<p>“377” # “xff” # interpret as command</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>254</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DO-constant" class="">DO =
<div class="docstring">
<div class="discussion">
<p>“376” # “xfe” # you are not to use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>253</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="WONT-constant" class="">WONT =
<div class="docstring">
<div class="discussion">
<p>“375” # “xfd” # please, you use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>252</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="WILL-constant" class="">WILL =
<div class="docstring">
<div class="discussion">
<p>“374” # “xfc” # I wont use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>251</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SB-constant" class="">SB =
<div class="docstring">
<div class="discussion">
<p>“373” # “xfb” # I will use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>250</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="GA-constant" class="">GA =
<div class="docstring">
<div class="discussion">
<p>“372” # “xfa” # interpret as subnegotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>249</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EL-constant" class="">EL =
<div class="docstring">
<div class="discussion">
<p>“371” # “xf9” # you may reverse the line</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>248</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EC-constant" class="">EC =
<div class="docstring">
<div class="discussion">
<p>“370” # “xf8” # erase the current line</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>247</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="AYT-constant" class="">AYT =
<div class="docstring">
<div class="discussion">
<p>“367” # “xf7” # erase the current character</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>246</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="AO-constant" class="">AO =
<div class="docstring">
<div class="discussion">
<p>“366” # “xf6” # are you there</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>245</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="IP-constant" class="">IP =
<div class="docstring">
<div class="discussion">
<p>“365” # “xf5” # abort outputbut let prog finish</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>244</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="BREAK-constant" class="">BREAK =
<div class="docstring">
<div class="discussion">
<p>“364” # “xf4” # interrupt processpermanently</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>243</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DM-constant" class="">DM =
<div class="docstring">
<div class="discussion">
<p>“363” # “xf3” # break</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>242</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="NOP-constant" class="">NOP =
<div class="docstring">
<div class="discussion">
<p>“362” # “xf2” # data markfor connect. cleaning</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>241</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SE-constant" class="">SE =
<div class="docstring">
<div class="discussion">
<p>“361” # “xf1” # nop</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>240</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EOR-constant" class="">EOR =
<div class="docstring">
<div class="discussion">
<p>“360” # “xf0” # end sub negotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>239</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="ABORT-constant" class="">ABORT =
<div class="docstring">
<div class="discussion">
<p>“357” # “xef” # end of record (transparent mode)</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>238</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SUSP-constant" class="">SUSP =
<div class="docstring">
<div class="discussion">
<p>“356” # “xee” # Abort process</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>237</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EOF-constant" class="">EOF =
<div class="docstring">
<div class="discussion">
<p>“355” # “xed” # Suspend process</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>236</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SYNCH-constant" class="">SYNCH =
<div class="docstring">
<div class="discussion">
<p>“354” # “xec” # End of file</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>242</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_BINARY-constant" class="">OPT_BINARY =
<div class="docstring">
<div class="discussion">
<p>“362” # “xf2” # for telfunc calls</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>0</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_ECHO-constant" class="">OPT_ECHO =
<div class="docstring">
<div class="discussion">
<p>“000” # “x00” # Binary Transmission</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_RCP-constant" class="">OPT_RCP =
<div class="docstring">
<div class="discussion">
<p>“001” # “x01” # Echo</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>2</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SGA-constant" class="">OPT_SGA =
<div class="docstring">
<div class="discussion">
<p>“002” # “x02” # Reconnection</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>3</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAMS-constant" class="">OPT_NAMS =
<div class="docstring">
<div class="discussion">
<p>“003” # “x03” # Suppress Go Ahead</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>4</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_STATUS-constant" class="">OPT_STATUS =
<div class="docstring">
<div class="discussion">
<p>“004” # “x04” # Approx Message Size Negotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>5</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TM-constant" class="">OPT_TM =
<div class="docstring">
<div class="discussion">
<p>“005” # “x05” # Status</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>6</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_RCTE-constant" class="">OPT_RCTE =
<div class="docstring">
<div class="discussion">
<p>“006” # “x06” # Timing Mark</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>7</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOL-constant" class="">OPT_NAOL =
<div class="docstring">
<div class="discussion">
<p>“a” # “x07” # Remote Controlled Trans and Echo</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>8</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOP-constant" class="">OPT_NAOP =
<div class="docstring">
<div class="discussion">
<p>“010” # “x08” # Output Line Width</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>9</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOCRD-constant" class="">OPT_NAOCRD =
<div class="docstring">
<div class="discussion">
<p>“t” # “x09” # Output Page Size</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>10</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOHTS-constant" class="">OPT_NAOHTS =
<div class="docstring">
<div class="discussion">
<p>“n” # “x0a” # Output Carriage-Return Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>11</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOHTD-constant" class="">OPT_NAOHTD =
<div class="docstring">
<div class="discussion">
<p>“v” # “x0b” # Output Horizontal Tab Stops</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>12</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOFFD-constant" class="">OPT_NAOFFD =
<div class="docstring">
<div class="discussion">
<p>“f” # “x0c” # Output Horizontal Tab Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>13</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOVTS-constant" class="">OPT_NAOVTS =
<div class="docstring">
<div class="discussion">
<p>“r” # “x0d” # Output Formfeed Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>14</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOVTD-constant" class="">OPT_NAOVTD =
<div class="docstring">
<div class="discussion">
<p>“016” # “x0e” # Output Vertical Tabstops</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>15</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOLFD-constant" class="">OPT_NAOLFD =
<div class="docstring">
<div class="discussion">
<p>“017” # “x0f” # Output Vertical Tab Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>16</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_XASCII-constant" class="">OPT_XASCII =
<div class="docstring">
<div class="discussion">
<p>“020” # “x10” # Output Linefeed Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>17</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LOGOUT-constant" class="">OPT_LOGOUT =
<div class="docstring">
<div class="discussion">
<p>“021” # “x11” # Extended ASCII</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>18</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_BM-constant" class="">OPT_BM =
<div class="docstring">
<div class="discussion">
<p>“022” # “x12” # Logout</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>19</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_DET-constant" class="">OPT_DET =
<div class="docstring">
<div class="discussion">
<p>“023” # “x13” # Byte Macro</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>20</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SUPDUP-constant" class="">OPT_SUPDUP =
<div class="docstring">
<div class="discussion">
<p>“024” # “x14” # Data Entry Terminal</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>21</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SUPDUPOUTPUT-constant" class="">OPT_SUPDUPOUTPUT =
<div class="docstring">
<div class="discussion">
<p>“025” # “x15” # SUPDUP</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>22</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SNDLOC-constant" class="">OPT_SNDLOC =
<div class="docstring">
<div class="discussion">
<p>“026” # “x16” # SUPDUP Output</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>23</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TTYPE-constant" class="">OPT_TTYPE =
<div class="docstring">
<div class="discussion">
<p>“027” # “x17” # Send Location</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_EOR-constant" class="">OPT_EOR =
<div class="docstring">
<div class="discussion">
<p>“030” # “x18” # Terminal Type</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>25</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TUID-constant" class="">OPT_TUID =
<div class="docstring">
<div class="discussion">
<p>“031” # “x19” # End of Record</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>26</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_OUTMRK-constant" class="">OPT_OUTMRK =
<div class="docstring">
<div class="discussion">
<p>“032” # “x1a” # TACACS User Identification</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>27</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TTYLOC-constant" class="">OPT_TTYLOC =
<div class="docstring">
<div class="discussion">
<p>“e” # “x1b” # Output Marking</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>28</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_3270REGIME-constant" class="">OPT_3270REGIME =
<div class="docstring">
<div class="discussion">
<p>“034” # “x1c” # Terminal Location Number</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>29</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_X3PAD-constant" class="">OPT_X3PAD =
<div class="docstring">
<div class="discussion">
<p>“035” # “x1d” # Telnet 3270 Regime</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>30</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAWS-constant" class="">OPT_NAWS =
<div class="docstring">
<div class="discussion">
<p>“036” # “x1e” # X.3 PAD</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>31</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TSPEED-constant" class="">OPT_TSPEED =
<div class="docstring">
<div class="discussion">
<p>“037” # “x1f” # Negotiate About Window Size</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>32</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LFLOW-constant" class="">OPT_LFLOW =
<div class="docstring">
<div class="discussion">
<p>“ ” # “x20” # Terminal Speed</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>33</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LINEMODE-constant" class="">OPT_LINEMODE =
<div class="docstring">
<div class="discussion">
<p>“!” # “x21” # Remote Flow Control</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>34</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_XDISPLOC-constant" class="">OPT_XDISPLOC =
<div class="docstring">
<div class="discussion">
<p>&quot;” # “x22” # Linemode</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>35</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_OLD_ENVIRON-constant" class="">OPT_OLD_ENVIRON =
<div class="docstring">
<div class="discussion">
<p>“#” # “x23” # X Display Location</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>36</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_AUTHENTICATION-constant" class="">OPT_AUTHENTICATION =
<div class="docstring">
<div class="discussion">
<p>“$” # “x24” # Environment Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>37</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_ENCRYPT-constant" class="">OPT_ENCRYPT =
<div class="docstring">
<div class="discussion">
<p>“%” # “x25” # Authentication Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>38</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NEW_ENVIRON-constant" class="">OPT_NEW_ENVIRON =
<div class="docstring">
<div class="discussion">
<p>&amp;” # “x26” # Encryption Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>39</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_EXOPL-constant" class="">OPT_EXOPL =
<div class="docstring">
<div class="discussion">
<p>“‘” # “x27” # New Environment Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>255</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
</dl>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Msf::Auxiliary::Login</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">Msf::Auxiliary::Login::CR</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">Msf::Auxiliary::Login::EOL</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#LF-constant" title="Msf::Auxiliary::Login::LF (constant)">Msf::Auxiliary::Login::LF</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#NULL-constant" title="Msf::Auxiliary::Login::NULL (constant)">Msf::Auxiliary::Login::NULL</a></span></p>
<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="#banner-instance_method" title="#banner (instance method)">#<strong>banner</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute banner.</p>
</div></span>
</li>
</ul>
<h3 class="inherited">Attributes included from <span class='object_link'><a href="../Tcp/Client.html" title="Metasploit::Framework::Tcp::Client (module)">Metasploit::Framework::Tcp::Client</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../Tcp/Client.html#max_send_size-instance_method" title="Metasploit::Framework::Tcp::Client#max_send_size (method)">#max_send_size</a></span>, <span class='object_link'><a href="../Tcp/Client.html#send_delay-instance_method" title="Metasploit::Framework::Tcp::Client#send_delay (method)">#send_delay</a></span>, <span class='object_link'><a href="../Tcp/Client.html#sock-instance_method" title="Metasploit::Framework::Tcp::Client#sock (method)">#sock</a></span></p>
<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="#banner_timeout-instance_method" title="#banner_timeout (instance method)">#<strong>banner_timeout</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Wrappers for getters.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#connect-instance_method" title="#connect (instance method)">#<strong>connect</strong>(global = true, verbose = true) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>This method establishes an Telnet connection to host and port specified by the RHOST and RPORT options, respectively.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#connect_reset_safe-instance_method" title="#connect_reset_safe (instance method)">#<strong>connect_reset_safe</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Sometimes telnet servers start RSTing if you get them angry.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#recv-instance_method" title="#recv (instance method)">#<strong>recv</strong>(fd = self.sock, timeout = telnet_timeout) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#recv_telnet-instance_method" title="#recv_telnet (instance method)">#<strong>recv_telnet</strong>(fd, timeout) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Handle telnet option negotiation.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#telnet_timeout-instance_method" title="#telnet_timeout (instance method)">#<strong>telnet_timeout</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Msf::Auxiliary::Login</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#busy_message%3F-instance_method" title="Msf::Auxiliary::Login#busy_message? (method)">#busy_message?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#command_echo%3F-instance_method" title="Msf::Auxiliary::Login#command_echo? (method)">#command_echo?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#create_login_ivars-instance_method" title="Msf::Auxiliary::Login#create_login_ivars (method)">#create_login_ivars</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#initialize-instance_method" title="Msf::Auxiliary::Login#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#login_failed%3F-instance_method" title="Msf::Auxiliary::Login#login_failed? (method)">#login_failed?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#login_prompt%3F-instance_method" title="Msf::Auxiliary::Login#login_prompt? (method)">#login_prompt?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#login_succeeded%3F-instance_method" title="Msf::Auxiliary::Login#login_succeeded? (method)">#login_succeeded?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#password_prompt%3F-instance_method" title="Msf::Auxiliary::Login#password_prompt? (method)">#password_prompt?</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#raw_send-instance_method" title="Msf::Auxiliary::Login#raw_send (method)">#raw_send</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#recv_all-instance_method" title="Msf::Auxiliary::Login#recv_all (method)">#recv_all</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#send_pass-instance_method" title="Msf::Auxiliary::Login#send_pass (method)">#send_pass</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#send_recv-instance_method" title="Msf::Auxiliary::Login#send_recv (method)">#send_recv</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#send_user-instance_method" title="Msf::Auxiliary::Login#send_user (method)">#send_user</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#wait_for-instance_method" title="Msf::Auxiliary::Login#wait_for (method)">#wait_for</a></span>, <span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#waiting_message%3F-instance_method" title="Msf::Auxiliary::Login#waiting_message? (method)">#waiting_message?</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="../Tcp/Client.html" title="Metasploit::Framework::Tcp::Client (module)">Metasploit::Framework::Tcp::Client</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../Tcp/Client.html#chost-instance_method" title="Metasploit::Framework::Tcp::Client#chost (method)">#chost</a></span>, <span class='object_link'><a href="../Tcp/Client.html#cport-instance_method" title="Metasploit::Framework::Tcp::Client#cport (method)">#cport</a></span>, <span class='object_link'><a href="../Tcp/Client.html#disconnect-instance_method" title="Metasploit::Framework::Tcp::Client#disconnect (method)">#disconnect</a></span>, <span class='object_link'><a href="../Tcp/Client.html#proxies-instance_method" title="Metasploit::Framework::Tcp::Client#proxies (method)">#proxies</a></span>, <span class='object_link'><a href="../Tcp/Client.html#rhost-instance_method" title="Metasploit::Framework::Tcp::Client#rhost (method)">#rhost</a></span>, <span class='object_link'><a href="../Tcp/Client.html#rport-instance_method" title="Metasploit::Framework::Tcp::Client#rport (method)">#rport</a></span>, <span class='object_link'><a href="../Tcp/Client.html#set_tcp_evasions-instance_method" title="Metasploit::Framework::Tcp::Client#set_tcp_evasions (method)">#set_tcp_evasions</a></span>, <span class='object_link'><a href="../Tcp/Client.html#ssl-instance_method" title="Metasploit::Framework::Tcp::Client#ssl (method)">#ssl</a></span>, <span class='object_link'><a href="../Tcp/Client.html#ssl_version-instance_method" title="Metasploit::Framework::Tcp::Client#ssl_version (method)">#ssl_version</a></span></p>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="banner=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="banner-instance_method">
#<strong>banner</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute banner.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
11
12
13</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 11</span>
<span class='kw'>def</span> <span class='id identifier rubyid_banner'>banner</span>
<span class='ivar'>@banner</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="banner_timeout-instance_method">
#<strong>banner_timeout</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Wrappers for getters</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
209
210
211</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 209</span>
<span class='kw'>def</span> <span class='id identifier rubyid_banner_timeout'>banner_timeout</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="connect-instance_method">
#<strong>connect</strong>(global = true, verbose = true) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>This method establishes an Telnet connection to host and port specified by the RHOST and RPORT options, respectively. After connecting, the banner message is read in and stored in the banner attribute. This method has the benefit of handling telnet option negotiation.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 87</span>
<span class='kw'>def</span> <span class='id identifier rubyid_connect'>connect</span><span class='lparen'>(</span><span class='id identifier rubyid_global'>global</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_verbose'>verbose</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
<span class='ivar'>@trace</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='ivar'>@recvd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='id identifier rubyid_fd'>fd</span> <span class='op'>=</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_global'>global</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='comment'># Wait for a banner to arrive...
</span> <span class='kw'>begin</span>
<span class='const'>Timeout</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span><span class='lparen'>(</span><span class='id identifier rubyid_banner_timeout'>banner_timeout</span><span class='rparen'>)</span> <span class='kw'>do</span>
<span class='kw'>while</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
<span class='id identifier rubyid_buff'>buff</span> <span class='op'>=</span> <span class='id identifier rubyid_recv'>recv</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_buff'>buff</span> <span class='kw'>if</span> <span class='id identifier rubyid_buff'>buff</span>
<span class='kw'>if</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@login_regex</span> <span class='kw'>or</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@password_regex</span><span class='rparen'>)</span>
<span class='kw'>break</span>
<span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@busy_regex</span>
<span class='comment'># It&#39;s about to drop connection anyway -- seen on HP JetDirect telnet server
</span> <span class='kw'>break</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Timeout</span><span class='op'>::</span><span class='const'>Error</span>
<span class='kw'>end</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
<span class='comment'># Return the file descriptor to the caller
</span> <span class='id identifier rubyid_fd'>fd</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="connect_reset_safe-instance_method">
#<strong>connect_reset_safe</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Sometimes telnet servers start RSTing if you get them angry. This is a short term fix; the problem is that we dont know if its going to reset forever, or just this time, or randomly. A better solution is to get the socket connect to try again with a little backoff.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
121
122
123
124
125
126
127
128</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 121</span>
<span class='kw'>def</span> <span class='id identifier rubyid_connect_reset_safe'>connect_reset_safe</span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_connect'>connect</span>
<span class='kw'>rescue</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'>ConnectionRefused</span>
<span class='kw'>return</span> <span class='symbol'>:refused</span>
<span class='kw'>end</span>
<span class='kw'>return</span> <span class='symbol'>:connected</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="recv-instance_method">
#<strong>recv</strong>(fd = self.sock, timeout = telnet_timeout) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
130
131
132</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 130</span>
<span class='kw'>def</span> <span class='id identifier rubyid_recv'>recv</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='op'>=</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_sock'>sock</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='op'>=</span><span class='id identifier rubyid_telnet_timeout'>telnet_timeout</span><span class='rparen'>)</span>
<span class='id identifier rubyid_recv_telnet'>recv_telnet</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="recv_telnet-instance_method">
#<strong>recv_telnet</strong>(fd, timeout) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Handle telnet option negotiation</p>
<p>Appends to the @recvd buffer which is used to tell us whether were at a login prompt, a password prompt, or a working shell.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
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
193
194
195
196
197
198
199
200
201
202
203</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 140</span>
<span class='kw'>def</span> <span class='id identifier rubyid_recv_telnet'>recv_telnet</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_get_once'>get_once</span><span class='lparen'>(</span><span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='kw'>not</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>or</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
<span class='comment'># combine CR+NULL into CR
</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">CR</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#NULL-constant" title="Msf::Auxiliary::Login::NULL (constant)">NULL</a></span></span><span class='embexpr_end'>}</span><span class='regexp_end'>/no</span></span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">CR</a></span></span><span class='rparen'>)</span>
<span class='comment'># combine EOL into &quot;\n&quot;
</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">EOL</a></span></span><span class='embexpr_end'>}</span><span class='regexp_end'>/no</span></span><span class='comma'>,</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='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>(
[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#AO-constant" title="Metasploit::Framework::Telnet::Client::AO (constant)">AO</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#AYT-constant" title="Metasploit::Framework::Telnet::Client::AYT (constant)">AYT</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DM-constant" title="Metasploit::Framework::Telnet::Client::DM (constant)">DM</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IP-constant" title="Metasploit::Framework::Telnet::Client::IP (constant)">IP</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#NOP-constant" title="Metasploit::Framework::Telnet::Client::NOP (constant)">NOP</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]|[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DO-constant" title="Metasploit::Framework::Telnet::Client::DO (constant)">DO</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DONT-constant" title="Metasploit::Framework::Telnet::Client::DONT (constant)">DONT</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#WILL-constant" title="Metasploit::Framework::Telnet::Client::WILL (constant)">WILL</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#WONT-constant" title="Metasploit::Framework::Telnet::Client::WONT (constant)">WONT</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]
[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Metasploit::Framework::Telnet::Client::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>-</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_NEW_ENVIRON-constant" title="Metasploit::Framework::Telnet::Client::OPT_NEW_ENVIRON (constant)">OPT_NEW_ENVIRON</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_EXOPL-constant" title="Metasploit::Framework::Telnet::Client::OPT_EXOPL (constant)">OPT_EXOPL</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]|</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#SB-constant" title="Metasploit::Framework::Telnet::Client::SB (constant)">SB</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>[^</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]*</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#SE-constant" title="Metasploit::Framework::Telnet::Client::SE (constant)">SE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>
)</span><span class='regexp_end'>/xno</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
<span class='id identifier rubyid_m'>m</span> <span class='op'>=</span> <span class='backref'>$1</span>
<span class='kw'>if</span> <span class='id identifier rubyid_m'>m</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span>
<span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#AYT-constant" title="Metasploit::Framework::Telnet::Client::AYT (constant)">AYT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>YES</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="../../../Msf/Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">EOL</a></span></span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Metasploit::Framework::Telnet::Client::DO (constant)">DO</a></span></span>
<span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Metasploit::Framework::Telnet::Client::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WILL-constant" title="Metasploit::Framework::Telnet::Client::WILL (constant)">WILL</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Metasploit::Framework::Telnet::Client::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Metasploit::Framework::Telnet::Client::WONT (constant)">WONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Metasploit::Framework::Telnet::Client::DONT (constant)">DONT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Metasploit::Framework::Telnet::Client::WONT (constant)">WONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#WILL-constant" title="Metasploit::Framework::Telnet::Client::WILL (constant)">WILL</a></span></span>
<span class='kw'>if</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Metasploit::Framework::Telnet::Client::OPT_BINARY (constant)">OPT_BINARY</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Metasploit::Framework::Telnet::Client::DO (constant)">DO</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Metasploit::Framework::Telnet::Client::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='comment'># Disable Echo
</span> <span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_ECHO-constant" title="Metasploit::Framework::Telnet::Client::OPT_ECHO (constant)">OPT_ECHO</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Metasploit::Framework::Telnet::Client::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_ECHO-constant" title="Metasploit::Framework::Telnet::Client::OPT_ECHO (constant)">OPT_ECHO</a></span></span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_SGA-constant" title="Metasploit::Framework::Telnet::Client::OPT_SGA (constant)">OPT_SGA</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Metasploit::Framework::Telnet::Client::DO (constant)">DO</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_SGA-constant" title="Metasploit::Framework::Telnet::Client::OPT_SGA (constant)">OPT_SGA</a></span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Metasploit::Framework::Telnet::Client::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Metasploit::Framework::Telnet::Client::WONT (constant)">WONT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Metasploit::Framework::Telnet::Client::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Metasploit::Framework::Telnet::Client::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>else</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='ivar'>@trace</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span>
<span class='ivar'>@recvd</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>EOFError</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Errno</span><span class='op'>::</span><span class='const'>EPIPE</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="telnet_timeout-instance_method">
#<strong>telnet_timeout</strong> &#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>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
213
214
215</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/telnet/client.rb', line 213</span>
<span class='kw'>def</span> <span class='id identifier rubyid_telnet_timeout'>telnet_timeout</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:02:52 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>