如果给出起始地址,则创建一系列IP地址

时间:2012-06-06 03:41:55

标签: ruby

如果给出起始IP地址(例如192.168.0.1),我需要编写代码来ping一个20个IP地址的序列。每个连续的IP地址应比前一个大一位。

2 个答案:

答案 0 :(得分:5)

这就是IPAddr#succ的用途:

require 'ipaddr'

ipaddr = IPAddr.new('192.168.0.1')

20.times do
  ping ipaddr
  ipaddr = ipaddr.succ
end

答案 1 :(得分:0)

ip = "192.168.0.1"
ips = []

(0..20).each do |n|

  temp = ip.split('.').map(&:to_i)

  temp[3] = temp[3] + n

  ips << temp.join('.')

end

puts ips