首页 网络安全 安全学院 查看内容

ruby版端口扫描器

2009-10-1 11:09 875 0

摘要: #!/usr/bin/ruby -w=beginquite simple connect scanner in ruby Shows open (reliable), close and f...
关键词: ports hosts end scanner port scanning timeout printed output like

#!/usr/bin/ruby -w=beginquite simple connect scanner in ruby Shows open (reliable), close and filtered. But the reliablityof the last two states depends of course on firewalling and the timeoutinterval you can set down. Uncomment or comment states you want or don'twant to get printed on the screen.*supports scanning mutiple hosts/IPs (like www.heise.de,www.gulli.com)*supports multiple ports(like 12,45,53,165),ranges(like 20..85) or one singleport(like 80)*support a ports file like http://insecure.org/nmap/data/nmap-services (justclean it with | grep /tcp ..)ZGlnaXRhbGJ5dGU==endrequire 'socket'require 'timeout' class Scanner def initialize @hosts,@ports = Array($*) end def portarrange case @ports when /^.+[..]/ @ports = @ports.split("..") @ports = @ports[0].to_i..@ports[1].to_i when /^.+[,]/ @ports = @ports.split(",") else @ports = Array(@ports) end end def hostarrange case @hosts when /^.+[,]/ @hosts = @hosts.split(",") else @hosts = Array(@hosts) end end def output(state,port) printed = false portsfile = File.new("ports", "r") scanpat = "^.+ #{port}/tcp" begin portsfile.each_line do |line| if line =~ Regexp.new(scanpat) puts "#{state} : #{line}" printed = true end end puts "#{state} : #{port}" if printed == false ensure portsfile.close end end def scanning(hosts,ports) hosts.each do |host| begin puts "scanning #{host}:" ports.each do |port| begin Timeout::timeout(10){TCPSocket.new(host, port)} rescue Timeout::Error output("filtered",port) rescue # output("closed",port) else output("open",port) end end end end endend##################### code start #####################puts "no arguments past,correct usage:\nruby #{$0} [hosts] [ports]\n" if!ARGV[1]my_scanner = Scanner.newhosts = my_scanner.hostarrangeports = my_scanner.portarrangemy_scanner.scanning(hosts,ports)##################### eof #####################
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部