Monthly Archives: January 2010

Ruby – Simple Port Scanner

0
Filed under ruby
Tagged as , , , , , , , , , ,

Author: slac3dork
Site: http://snippet.c0de.me
Summary: Simple Port Scanner Using Ruby. Tested on Linux. Thanks to someone who’s inspired me to create this script. I forget the name my inspirator, sorry.
Usage: ruby port_scanner.rb <target> <startPort> <endPort>

#!/usb/bin/ruby

#  _________      .__       .____   _______
# /   _____/ ____ |__|_____ |    |  \   _  \    ____
# \_____  \ /    \|  \____ \|    |  /  /_\  \  / ___\
# /        \   |  \  |  |_> >    |__\  \_/   \/ /_/  >
#/_______  /___|  /__|   __/|_______ \_____  /\___  /
#        \/     \/   |__|           \/     \//_____/
# http://snippet.c0de.me
# slac3dork[at]gmail[dot]com
#
require 'socket'
require 'timeout'

class Scanner
  def Scanning(host, startPort, endPort)
    print "\nScanning ", host, "\n"
    for port in startPort..endPort
      begin
        s = TCPSocket.open(host, port)
        Timeout::timeout(1){s}
      rescue
        else
  	print "Port ",port,": Open\n"
  	s.close
      end
    end
  end
end

class Msg
  def hello
    puts "-------------------------------------"
    puts "Simple Port Scanner using Ruby"
    puts "Author: slac3dork"
    puts "I don't know who gives me inspiration to create this script"
    puts "-------------------------------------"
  end
end

if ARGV.length != 3
  puts "\nUsage: ruby port_scanner.rb <target> <startPort> <endPort>"
  exit(1)
end

target = ARGV[0]
startPort = ARGV[1].to_i
endPort = ARGV[2].to_i

host = Scanner.new
host.Scanning(target, startPort, endPort)




ruby,code,code,snippet