W mojej sieci mam serwer znany pod adresem IP 10.0.0.15. Przez przypadek odkryłem, że polecenie: ping 10.0.15
powoduje
64 bytes from 10.0.0.15: icmp_seq=1 ttl=64 time=9.09 ms
... więc właściwy serwer odpowiada na ping. Nawet kiedy próbuję: ping 10.15
otrzymuję porównywalny wynik. Ponadto telnet na adresy częściowe działa zgodnie z oczekiwaniami. Jednak SSH nie działa. Dlaczego pakiety wysyłane na częściowy adres docierają na właściwy serwer?
Odpowiedzi:
Jest to dozwolona forma zgodnie z
inet_aton(3)
dokumentacją funkcji:Na przykład
Jednak w dzisiejszych czasach prawdopodobnie lepiej byłoby użyć
getaddrinfo
lubinet_ntop
wzywa do obsługi IPv6. Materiał „klasy B” stał się dziedzictwem mniej więcej w 1994 roku, teraz gdy mamy CIDR i/24
...Hej, możesz też nadać mu dużą starą liczbę całkowitą (ale proszę nie)
(To może nie być przenośne na inny uniks; w szczególności OpenBSD nie może rozwiązać 2130706433 ...)
źródło
0
oznacza ósemkowe i /0x
lub0X
szesnastkowe, więc 010.020.030.040 to w rzeczywistości adres zwykle zapisany jako 8.16.24.32 . Phisherzy robili to w celu „ukrycia” tożsamości hosta w złośliwych adresach URL; Nie szukałem ostatnio, czy nadal tak jest.