不常用,可以用于学习。
require 'socket'
include Socket::Constants
def scan_port
if $*[0] == nil or $*[1] == nil or $*[2] == nil
abort "用法示例:ruby #$0 ip地址 开始端口 结束端口 EX:如ruby #$0 localhost 1 1024"
end
time = Time.now
scan $*[0], $*[1], $*[2]
puts "\n共耗时:#{Time.now - time}秒"
end
private
def scan(address, start_port, end_port)
threads = []
for port in start_port..end_port
threads << Thread.new(port) do |theport|
begin
socket = Socket.new(AF_INET, SOCK_STREAM, 0) #生成新的套接字
sockaddr = Socket.pack_sockaddr_in(theport, address)
socket.connect(sockaddr)
puts "Port:#{theport} is Opend!\n"
socket.close
rescue
end
end
end
threads.each {|thr| thr.join}
end
输入如下命令即可:
ruby script/server localhost 1 500
示例输出:
Port:80 is Opend!
Port:88 is Opend!
Port:135 is Opend!
Port:443 is Opend!
Port:445 is Opend!
共耗时:0.782秒
分享到:
相关推荐
本文将深入探讨在Ruby中使用WebSocket的技术,包括`ruby_socket`和`websock`相关的知识点。 首先,让我们理解`ruby_socket`。在Ruby中,`socket`库提供了创建和操作网络套接字的能力,它是网络通信的基础。套接字是...
ruby-nmap, Nmap探测工具和安全/端口扫描器的Rubyful接口 ruby源代码问题文档文档[Email] ( mailto: 后端,gmail.com) 处的mod3 描述to nmap,探测工具和安全/端口扫描器的ruby 界面。特性为运行nmap提供一个 ruby ...
ruby利用pop3下载附件
Ruby语言中通过其标准库提供了对Socket编程的支持,使得开发者可以不必深入了解网络协议细节,就能在Ruby上构建丰富的网络应用。 Ruby的Socket编程模型大致可以分为两个层面,分别是底层的网络接口和高层的网络协议...
主要介绍了Ruby中的Socket编程简单入门,是Ruby网络编程学习中的基础知识,需要的朋友可以参考下
首先,文档的标题提到了“重构--Ruby完整扫描清晰版--中文”。这意味着文档可能是对软件重构领域权威书籍的翻译或解读版本,其中包含了对Ruby语言重构的具体讨论。重构,作为提升现有代码质量的一种实践,其目的是在...
#AsyncTCPSocket ##Ruby 异步 TCP 套接字实现 ###Example require 'async_tcpsocket'socket = AsyncTCPSocket . newsocket . once :error , Proc . new { | err |STDERR . puts "Error: #{ err } "socket . close}...
添加到允许在 Ruby 中进行第 2 层原始数据包操作的本机 Socket 类(适用于 Linux) Ruby 仅原生支持网络 (IP) 层的原始套接字访问。 如果您希望系统代表您执行诸如地址解析之类的服务,这很好,但是那些想要完全...
Ruby Ruby Ruby Ruby Ruby Ruby
此外,Ruby的面向对象特性是其一大亮点,书中详细介绍了如何创建和使用类,以及如何利用Ruby的鸭子类型实现灵活的编程。 高级主题,如正则表达式,也在书中有所涉及,这些内容对提升开发者解决复杂问题的能力至关...
Ruby修身该软件包提供了一个实现 的SliM服务器。 它允许您用Ruby编写测试装置,并从FitNesse测试中调用它们。灯具名称Rubyslim关于如何命名模块和类以及如何在FitNesse Wiki中导入和使用它们非常特别: 灯具文件夹...
Ruby完全自学手册].邓蔚.扫描版 Ruby完全自学手册].邓蔚.扫描版
它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能,同时保持Ruby语言的优雅和简洁。这个项目在设计时特别注重与TensorFlow的相似性,以便于熟悉TensorFlow的开发者能快速上手。 **1. 纯Ruby实现** Ruby-...
在Ruby编程语言中,处理数值是一项基础且至关重要的任务。Ruby支持整数(Fixnum)和浮点数(Float)两种类型的数值。整数可以直接输入,如`1`和`100`,浮点数则表示带有小数部分的数值,如`3.1415`。每个数值都是一个...
《Programming Ruby》中文版第二版是一本专注于Ruby编程语言的经典教程。这本书的两个版本——高清扫描版和高清文字版,都是为了便于读者学习和查阅,其中都带有书签功能,帮助读者快速定位到相关内容。 Ruby是一种...
ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...
2. JRuby:JRuby是Ruby的一个Java实现,它可以在Java平台上运行,并且能够利用Java的性能和生态系统。JRuby的最大优点是与Java库的无缝集成,以及在多线程环境下的高效执行。 3. Rubinius:Rubinius是一个用Ruby...
《Ruby完全自学手册》是由邓蔚编著的一本面向初学者和进阶者的编程书籍,主要专注于Ruby语言的学习。Ruby是一种动态、面向对象的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者喜爱。这本书是学习...