A Ruby library for Ronin that provides a Ruby interface to various third-party security scanners.
Failed to load latest commit information.
lib/ronin Bumped the copyright dates. Mar 16, 2013
.rspec Upgraded to RSpec 2.0.0.beta.16. Jul 9, 2010
.ruby-version Added a .ruby-version file for RVM,rbenv,chruby users. Jan 11, 2013
.travis.yml Allow rbx-19mode to fail. Apr 30, 2013
.yardopts No longer load the yard-contextify plugin. Mar 28, 2011
COPYING.txt Added the basic project files. Dec 6, 2008
ChangeLog.md Migrated off of Hoe and to Jeweler, for building/releasing ronin-scan… Feb 12, 2010
Gemfile Use Ruby 1.9 Symbol Hash syntax in Gemfiles Apr 3, 2013
README.md Fixed the Edge install instructions. May 24, 2013
Rakefile Use Ruby 1.9 Symbol Hash syntax in Rakefiles Apr 3, 2013
gemspec.yml Uncomment the ronin ~> 1.6 depencency. Apr 30, 2013
ronin-scanners.gemspec Updated the gemspec using Ore 0.9.3. May 28, 2012


Ronin Scanners

Build Status


Ronin Scanners is a Ruby library for Ronin that provides Ruby interfaces to various third-party security scanners.

Ronin is a Ruby platform for exploit development and security research. Ronin allows for the rapid development and distribution of code, exploits or payloads over many common Source-Code-Management (SCM) systems.


  • Provides various Scanner base-classes:
    • {Ronin::Scanners::Scanner}
    • {Ronin::Scanners::IPScanner}
    • {Ronin::Scanners::HostNameScanner}
    • {Ronin::Scanners::TCPPortScanner}
    • {Ronin::Scanners::UDPPortScanner}
    • {Ronin::Scanners::URLScanner}
  • Provides various specialized Scanner classes:
    • {Ronin::Scanners::Dork}
    • {Ronin::Scanners::ResolvScanner}
    • {Ronin::Scanners::ReverseLookupScanner}
    • {Ronin::Scanners::SiteMap}
    • {Ronin::Scanners::Spider}
    • {Ronin::Scanners::Nmap}
    • {Ronin::Scanners::Proxies}


Start the Ronin console with Ronin Scanners preloaded:

$ ronin-scanners


Calling Nmap from Ruby:

require 'ronin/scanners/nmap'

Scanners::Nmap.scan(targets: 'www.google.com', ports: [80,21,25], service_scan: true)
# Starting Nmap 4.68 ( http://nmap.org ) at 2009-01-09 16:51 PST
# Interesting ports on mh-in-f99.google.com (
# 21/tcp filtered ftp
# 25/tcp filtered smtp
# 80/tcp open     http    Google httpd 1.3 (GFE)
# Service Info: OS: Linux
# Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 11.627 seconds
# => [#<Ronin::IPAddress:>]

Importing Nmap scan results into the Database:

ips = Scanners::Nmap.import(targets: 'www.google.com', ports: [80,21,25], service_scan: true)
# => [#<Ronin::IPAddress:>]
# => [#<Ronin::HostName: www.google.com>, #<Ronin::HostName: pd-in-f103.1e100.net>]
# => [#<Ronin::Port: 80/tcp>]




$ gem install ronin-scanners


$ git clone git://github.com/ronin-ruby/ronin-scanners.git
$ cd ronin-scanners/
$ bundle install
$ ./bin/ronin-scan-nmap --help


Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to various third-party security scanners.

Copyright (c) 2008-2013 Hal Brodigan (postmodern.mod3 at gmail.com)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA