o que é um bom endereço IP inválido para usar para testes unitários?
Estou a escrever testes de unidade para uma biblioteca de clientes. Quero testar a ligação com uma porta inválida e um ip inválido. O que é um bom endereço ip para usar que não pode ser roteado em algum lugar? Não quero fazer suposições sobre a rede em que a máquina está a fazer os testes da unidade. LOCALHOST parece ser uma má escolha, uma vez que essa é a máquina válida executando o componente do servidor e eu quero testar uma porta inválida separadamente. Existe um IP inválido reservado algures no IPv4 spec?
53
5 answers
De acordo com RFC 5737:
Os blocos 192.0.2.0 / 24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2), e 203.0.113.0 / 24 (TEST-NET-3) são fornecidos para utilização em documentação.
Isto significa que pode usar um endereço IP destes intervalos:
- 192.0.2.0 - 192.0.2.255
- 198.51.100.0 - 198.51.100.255
- 203.0.113.0 - 203.0.113.255
67
Author: Jonathan, 2012-05-04 20:59:52
Se procura um endereço IP verdadeiramente inválido (em oposição a um não roteável), pode aproveitar o facto de que o primeiro byte de um endereço de classe a não pode ser 0
.
Por exemplo:
0.42.42.42
12
Author: Frédéric Hamidi, 2012-05-04 21:10:43
A resposta do Jonathan (e os seus comentários) são bons para o IPv4
Se os seus testes suportarem o IPv6, este tem um buraco negro explícito que pode usar: 0100::/64
tal como definido em RFC 6666
4
Author: Chris Rudd, 2019-04-03 17:25:14
Existem 3 blocos de IP privados que podem ser usados para tais coisas:
10/8 (10.0.0.0 -> 10.255.255.255) (uma velha escola Classe A netblock)
172.16/12 (172.16.0.0 -> 172.131.255.255
196.168/16 (192.168.0.0 -> 192.168.255.255) (uma velha escola Classe B netblock)
2
Author: Marc B, 2012-05-04 21:00:23
1
Author: William Dwyer, 2012-05-04 20:59:19