我正在为客户端库编写单元测试。我想测试连接无效端口和无效的IP。什么是一个好的IP地址使用,不会在某个地方路由?我不想对运行单元测试的机器所在的网络做出任何假设。 LOCALHOST似乎是一个糟糕的选择,因为这是运行服务器组件的有效机器,我想分别测试无效端口。是否在IPv4规范中的某处保留了INVALID-IP?
答案 0 :(得分:45)
根据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地址:
答案 1 :(得分:11)
答案 2 :(得分:2)
您可以使用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级网块)
答案 3 :(得分:2)
乔纳森(Jonathan)的回答(及其评论)对IPv4有益
如果测试支持IPv6,则它具有明显的黑洞,您可以使用:RFC 6666中定义的0100::/64
使用254.254.254.254很容易记住,因为它很容易记住,但是在某些平台上,它会立即给出“传输失败。常规失败”,而不是实际的超时,这可能是无效的单元测试。
答案 4 :(得分:1)