Pingando um endereço IP diferente do que eu inseri [duplicado]

19

Alguém pode explicar por que o CMD envia um endereço IP diferente daquele que estou procurando?

Exemplo

Prumo
fonte
Esta é uma duplicata, não me lembro onde
canadense Luke REINSTATE MONICA
@ DavidPostill, não é uma duplicata, porque na pergunta que você vinculou, o sistema estava tratando números com e sem zeros à esquerda como decimal, mas nesta pergunta, é bastante claro que o sistema está interpretando zeros à esquerda como números octais.
Sam Skuce 27/03/2015
3
@SamSkuce Você leu a resposta mais votada? "Por exemplo, se você usar um número de 3 dígitos começando com zero (ou um de dois dígitos começando com zero, ...), o ping assumirá que os números são octais."
DavidPostill
11
Além disso, quando sugerimos um post duplicado, o OP é convidado a examinar a pergunta e as respostas para ver se é a mesma coisa
Luke canadense REINSTATE MONICA

Respostas:

45

No Windows CMD, se você colocar zeros à esquerda no endereço IP, significa octal .

Ele está interpretando 016como 16 octale o converte 14 decimal.

Você pode usar notação octal, decimal ou hexadecimal como no exemplo a seguir:

22.101.31.153 (decimal)
026.0145.037.0231 (octal)
0x16.0x65.0xF1.0x99 (hexadecimal)
jcbermu
fonte
3
Uau. Essa é uma terrível "característica" não documentada . Acontece Chrome faz isso também ( 4.4.4.8e 4.4.4.010são equivalentes)
Cole Johnson
3
Bem, BEEP, também funciona com hexadecimal! Isso faz o velho ping 10.1000001parecer quase são ... ping 10.0xDEAD... !!!
user3710044
38
Não é terrível, nem indocumentado; esta é a notação regular para endereços IPv4
sleblanc
5
@LukeMcGregor Não. Acho que o padrão em si é ruim. Eu acho que a notação octal 0 principal é ruim. E, embora eu esteja feliz que a Microsoft tenha seguido o padrão, eu preferiria que ele estivesse oculto atrás de um comutador para fins de usabilidade, ou pelo menos algumas informações fornecidas para dizer que um número específico está sendo lido como octal e você deve deixar de fora o 0 se você não quiser isso.
trlkly
4
As pessoas que manipulam endereços IP devem entender o que são antes de usá-los. A notação octal zero inicial é comum o suficiente para que seja um erro que você fará apenas uma vez. Normalmente, não se espera que os usuários finais manipulem endereços IP ou, pelo menos, não devem alterar a representação. Se o manual do seu roteador indicar "conectar a 172.16.0.1", você não deve digitar "172.016.000.001".
sleblanc 27/03