Pingowanie innego adresu IP niż to, co wpisałem [duplikat]

19

Czy ktoś może wyjaśnić, dlaczego CMD pinguje inny adres IP niż ten, którego szukam?

Przykład

Kok
źródło
To jest duplikat, po prostu nie pamiętam gdzie
Kanadyjczyk Luke REINSTATE MONICA
@DavidPostill, To nie jest duplikat, ponieważ w pytaniu, do którego prowadziłeś link, system traktował liczby z zerami wiodącymi i bez nich jako dziesiętne, ale w tym pytaniu jest całkiem jasne, że system interpretuje zera wiodące jako liczby ósemkowe.
Sam Skuce
3
@SamSkuce Czy przeczytałeś najwyższą głosowaną odpowiedź? „Na przykład, jeśli użyjesz trzycyfrowej liczby rozpoczynającej się od zera (lub dwucyfrowej liczby rozpoczynającej się od zera, ...), wówczas ping przyjmie, że liczby są ósemkowe.”
DavidPostill
1
Ponadto, gdy sugerujemy duplikat postu, OP proszony jest o sprawdzenie pytania i odpowiedzi, aby sprawdzić, czy jest to samo
Kanadyjczyk Luke REINSTATE MONICA

Odpowiedzi:

45

W systemie Windows CMD, jeśli umieścisz początkowe zera w adresie IP, oznacza liczbę ósemkową .

Jest interpretacji 016jak 16 octali konwertuje go 14 decimal.

Możesz użyć notacji ósemkowej, dziesiętnej lub szesnastkowej, jak w poniższym przykładzie:

22.101.31.153 (decimal)
026.0145.037.0231 (octal)
0x16.0x65.0xF1.0x99 (hexadecimal)
jcbermu
źródło
3
Łał. To okropna nieudokumentowana „funkcja” . Okazuje się, że Chrome to robi ( 4.4.4.8i 4.4.4.010są równoważne)
Cole Johnson
3
Cóż, BEEP, działa również z hexem! To sprawia, że ​​stary ping 10.1000001wygląd jest prawie normalny ... ping 10.0xDEAD... !!!
user3710044
38
To nie jest ani straszne, ani nieudokumentowane; jest to zwykła notacja dla adresów IPv4
sleblanc
5
@LukeMcGregor Nie. Myślę, że sam standard jest zły. Myślę, że wiodąca notacja ósemkowa jest zła. I chociaż cieszę się, że Microsoft zastosował się do tego standardu, wolałbym, żeby był ukryty za przełącznikiem w celach użyteczności lub przynajmniej podał jakieś informacje, aby powiedzieć, że określona liczba jest odczytywana jako ósemkowa, i powinieneś pominąć 0, jeśli tego nie chcesz.
trlkly
4
Osoby obsługujące adresy IP powinny zrozumieć, kim są przed ich użyciem. Wiodąca notacja zero ósemkowa jest na tyle powszechna, że ​​jest to błąd, który popełnisz tylko raz. Użytkownicy końcowi zazwyczaj nie powinni obsługiwać adresów IP, a przynajmniej nie powinni zmieniać reprezentacji. Jeśli w instrukcji obsługi routera jest napisane „połącz z 172.16.0.1”, nie należy wpisywać „172.016.000.001”.
sleblanc