lib/ronin/network/extensions/telnet/net.rb in ronin-support-0.3.0 vs lib/ronin/network/extensions/telnet/net.rb in ronin-support-0.4.0.rc1

- old
+ new

@@ -17,142 +17,8 @@ # along with Ronin Support. If not, see <http://www.gnu.org/licenses/>. # require 'ronin/network/telnet' -require 'net/telnet' - module Net - # - # Creates a new Telnet connection. - # - # @param [String] host - # The host to connect to. - # - # @param [Hash] options - # Additional options. - # - # @option options [Integer] :port (Ronin::Network::Telnet.default_port) - # The port to connect to. - # - # @option options [Boolean] :binmode - # Indicates that newline substitution shall not be performed. - # - # @option options [String] :output_log - # The name of the file to write connection status messages and all - # received traffic to. - # - # @option options [String] :dump_log - # Similar to the `:output_log` option, but connection output is also - # written in hexdump format. - # - # @option options [Regexp] :prompt (Ronin::Network::Telnet.default_prompt) - # A regular expression matching the host command-line prompt sequence, - # used to determine when a command has finished. - # - # @option options [Boolean] :telnet (true) - # Indicates that the connection shall behave as a telnet connection. - # - # @option options [Boolean] :plain - # Indicates that the connection shall behave as a normal TCP - # connection. - # - # @option options [Integer] :timeout (Ronin::Network::Telnet.default_timeout) - # The number of seconds to wait before timing out both the initial - # attempt to connect to host, and all attempts to read data from the - # host. - # - # @option options [Integer] :wait_time - # The amount of time to wait after seeing what looks like a prompt. - # - # @option options [Net::Telnet, IO] :proxy (Ronin::Network::Telnet.proxy) - # A proxy object to used instead of opening a direct connection to the - # host. - # - # @option options [String] :user - # The user to login as. - # - # @option options [String] :password - # The password to login with. - # - # @yield [session] - # If a block is given, it will be passed the newly created Telnet - # session. - # - # @yieldparam [Net::Telnet] session - # The newly created Telnet session. - # - # @return [Net::Telnet] - # The Telnet session - # - # @example - # Net.telnet_connect('towel.blinkenlights.nl') - # # => #<Net::Telnet: ...> - # - # @api public - # - def Net.telnet_connect(host,options={}) - host = host.to_s - telnet_options = {} - - telnet_options['Host'] = host - telnet_options['Port'] = (options[:port] || Ronin::Network::Telnet.default_port) - telnet_options['Binmode'] = options[:binmode] - telnet_options['Output_log'] = options[:output_log] - telnet_options['Dump_log'] = options[:dump_log] - telnet_options['Prompt'] = (options[:prompt] || Ronin::Network::Telnet.default_prompt) - - if (options[:telnet] && !options[:plain]) - telnet_options['Telnetmode'] = true - end - - telnet_options['Timeout'] = (options[:timeout] || Ronin::Network::Telnet.default_timeout) - telnet_options['Waittime'] = options[:wait_time] - telnet_options['Proxy'] = (options[:proxy] || Ronin::Network::Telnet.proxy) - - user = options[:user] - passwd = options[:passwd] - - session = Net::Telnet.new(telnet_options) - session.login(user,passwd) if user - - yield session if block_given? - return session - end - - # - # Starts a new Telnet session. - # - # @param [String] host - # The host to connect to. - # - # @param [Hash] options - # Additional options. - # - # @yield [session] - # If a block is given, it will be passed the newly created - # Telnet session. After the block has returned, the Telnet session - # will be closed. - # - # @yieldparam [Net::Telnet] session - # The newly created Telnet session. - # - # @return [nil] - # - # @example - # Net.telnet_session('towel.blinkenlights.nl') do |movie| - # movie.each_line { |line| puts line } - # end - # - # @see Net.telnet_session - # - # @api public - # - def Net.telnet_session(host,options={}) - session = Net.telnet_connect(host,options) - - yield session if block_given? - - session.close - return nil - end + extend Ronin::Network::Telnet end