下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
#!/usr/bin/ruby # -*- coding: utf-8 -*- require 'socket' include Socket::Constants require 'timeout' if ARGV[0] ips = ARGV[0].split(/\s/) else p 'need ARGV' exit end ports = 80..200 #端口列表 def scan ip,po print "\r",ip + ' ' + po.to_s begin sock=timeout(4){TCPSocket.open(ip,po)} puts " is Opend! " sock.close rescue Exception => e #puts "#{ip} :#{po} is Closed ~~~ " rescue Timeout::Error #puts "#{ip} :#{po} is Closed ~~~ " end end ips.each { |i| ports.each { |p| sleep 0.27 #太快会被路由器BAN Thread.new{scan i,p} } } sleep 1 while Thread.list.size != 1 puts "\ndone"
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。