什么是使用单元测试的好无效的IP地址?(what is a good invalid IP addr

2019-06-24 04:44发布

我写单元测试的客户端库。 我想测试一个无效的端口和一个无效的IP连接。 什么是使用不会有可能被某个路由良好的IP地址? 我不想让有关网络运行单元测试机器上的任何假设。 LOCALHOST似乎是一个不错的选择,因为这是运行服务器组件的有效机器,我想单独测试一个无效的端口。 是否有无效-IP在IPv4规范的地方保留?

Answer 1:

根据RFC 5737 :

块192.0.2.0/24(TEST-NET-1),提供了用于在文档使用198.51.100.0/24(TEST-NET-2),和203.0.113.0/24(TEST-NET-3)。

这意味着你可以使用采摘从这些范围的IP地址:

  • 192.0.2.0 - 192.0.2.255
  • 198.51.100.0 - 198.51.100.255
  • 203.0.113.0 - 203.0.113.255


Answer 2:

如果你正在寻找一个真正的无效的IP地址(而不是一个不可路由的一个),你可以采取的事实的第一个字节优势A类地址不能为0

例如:

0.42.42.42


Answer 3:

有3个你可以使用这样的事情私有IP块:

10/8(10.0.0.0 - > 10.255.255.255)(旧学校A类网块)

172.16 / 12(172.16.0.0 - > 172.131.255.255

196.168 / 16(192.168.0.0 - > 192.168.255.255)(旧学校B类网块)



Answer 4:

乔纳森(和它的评论)的答案是好的对IPv4

如果你的测试支持IPv6,它有一个明确的黑洞,你可以使用: 0100::/64中定义的RFC 6666

人们很容易使用254.254.254.254,因为它很容易记住,但在一些平台上,它提供了直接的“发射失败。常规失败”而不是实际的超时可能是一个无效的单元测试。



Answer 5:

254.254.254.254

应在保留供未来使用域...

RFC 1700



文章来源: what is a good invalid IP address to use for unit tests?