回答
你可以使用IPADDR验证它
require 'ipaddr'
ipv4 = IPAddr.new(rand(2**32),Socket::AF_INET)
ipv6 = IPAddr.new(rand(2**128),Socket::AF_INET6)
ip = "%d.%d.%d.%d" % [rand(256), rand(256), rand(256), rand(256)]
这不会总是产生一个有效的地址。 (在极少数情况下,它可能会生成'0.0.0.0'或'255.255.255.255'这些不是有效的地址) – 2010-05-11 04:35:02
这两个地址是否违反了某个规则?他们看起来对我很好。由于选举委员会只提出了一个模糊的问题,这两个问题与其他问题一样好。 – dbasnett 2010-05-11 12:55:11
如果我没有记错,他们是好的IP号码,但预先分配给网络广播。没有机器的IP地址为0.0.0.0或255.255.255.255,但他们可以响应对这些号码的请求。如果这在应用程序中是有意义的,那么可以使用它们。有关更多信息,请参阅http://en.wikipedia.org/wiki/Broadcast_address。 – 2010-05-11 18:33:28
如果你想要一个真正的随机IP地址,Array.new(4){rand(256)}.join('.')
做它
我用这个之前,然后生成一个随机的IP与RESOLV
ip = "#{rand(99)}.#{rand(100)}.#{rand(10)}.#{rand(255)}"
begin
if ip
host = Resolv.new.getname(ip)
puts "#{c} #{real_ip.length} #{ip} #{host}"
end
rescue Exception => e
puts "FAKE #{ip}"
end
我会建议使用Faker
https://github.com/stympy/faker#fakerinternet
Faker::Internet.ip_v4_address #=> "24.29.18.175"
- 1. 获取域名IP地址的最简单方法是什么?
- 2. 什么是在Python中重现随机生成级别的最简单方法?
- 3. 提取IP地址最后一部分的最简单方法是什么?
- 4. C#生成一个随机IP地址
- 5. 从C程序中写入IP地址的最简单方法是什么?
- 6. 在C++中生成xml最简单的方法是什么?
- 7. ping IP地址的大名单的最快方法是什么?
- 8. 执行简单IP地址比较的最高性能方法是什么?
- 9. 什么是在c中产生随机ip数字的最快方法?
- 10. 什么是生成DOC文件的最简单方法?
- 11. 生成此UI的最简单方法是什么?
- 12. 在Numpy中使用预定义均值从{1,-1}生成随机数组的最简单方法是什么?
- 13. 什么是在Visual Basic 2008中随机生成数字的最快方法?
- 14. 在XNA中定位相机的最简单方法是什么?
- 15. 什么是生成新的本地化资源文件的最简单方法?
- 16. 在Java中生成折线图的简单方法是什么?
- 17. 在iPad上生成报告的最快和最简单的方法是什么
- 18. 在当前子网中查找免费IP地址的最简单方法是什么?
- 19. 在.Net中获取IP地址的正确方法是什么?
- 20. 在C++中生成组合列表的最简单方法是什么?
- 21. 什么是生成随机群集和路径的好方法?
- 22. 从网址获取号码的最简单方法是什么?
- 23. 生成一个随机的mac地址
- 24. 对于我在perl中生成随机十六进制字符串的简单方法是什么?
- 25. 用256个随机位生成数字的最佳方法是什么?
- 26. 什么是IP地址':: 1'?
- 27. 限制IP地址访问的最佳方式是什么?
- 28. 什么是在Ruby中显示图形的简单方法?
- 29. 设置我们的新开发服务器分配多个IP地址的最简单方法是什么
- 30. 什么是在生成随机数时产生偏见的好方法?
请注意,这可以生成以0开头的地址,这一切(RFC3330)无效。 – mdrozdziel 2013-06-08 10:23:21
由于起始位置0并不理想,所以我会在 – 2014-06-10 05:29:07
以下回答数组答案。为了安全起见,这将从** 10.xxx **私有子网生成有效的IPv4地址:IPAddr.new(10 * 2 ** 24 + rand(2 ** 24),Socket :: AF_INET)' – Laas 2014-10-01 20:14:06