回答
你可以使用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. 聲音隨機化最簡單的方法是什麼
- 10. 什麼是在c中產生隨機ip數字的最快方法?
- 11. 在Ruby中執行XMLHttpRequest的最簡單方法是什麼?
- 12. 爲了加密的目的,在C中生成一個僞隨機數最簡單的方法是什麼?
- 13. 什麼是生成DOC文件的最簡單方法?
- 14. 生成此UI的最簡單方法是什麼?
- 15. 用於生成唯一IP地址和隨機IP地址的工具
- 16. 在Numpy中使用預定義均值從{1,-1}生成隨機數組的最簡單方法是什麼?
- 17. 生成隨機IPv6地址
- 18. 什麼是在Visual Basic 2008中隨機生成數字的最快方法?
- 19. 在XNA中定位相機的最簡單方法是什麼?
- 20. 什麼是生成新的本地化資源文件的最簡單方法?
- 21. 在Java中生成折線圖的簡單方法是什麼?
- 22. 在iPad上生成報告的最快和最簡單的方法是什麼
- 23. 在Python中獲取Google Compute Engine實例的IP地址的最簡單方法是什麼?
- 24. 在當前子網中查找免費IP地址的最簡單方法是什麼?
- 25. Python隨機生成的字符串的IP地址
- 26. 在.Net中獲取IP地址的正確方法是什麼?
- 27. 在.NET 4.5中動態生成代碼最簡單的方法是什麼?
- 28. 在VSTS中壓縮生成過程輸出的最簡單方法是什麼?
- 29. 什麼是在非ASP.NET應用程序中生成HTML的最簡單方法?
- 30. 在C++中生成組合列表的最簡單方法是什麼?
請注意,這可以生成以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