Системы счисления и системное администрирование
Наберём в консоли (в терминале) ping 010.010.010.010 и запустим выполнение – что произойдёт? Результат теперь многим и многим, – далеко не пользователям, а даже системным администраторам, – кажется неожиданным: “пинги” отправляются на один из адресов Google – 8.8.8.8. Проверьте самостоятельно (в экзотических ОС результат может отличаться, но в привычных линуксах, например, – всё вполне корректно, а экзотические ОС ещё предстоит подобрать).
Почему так вышло? Потому что старое системное соглашение, о котором нынче забывают, гласит: если запись октета IP-адреса (здесь – четвёртой версии) начинается с символа нуля и не содержит, следом, буквы, то это запись в восьмеричной системе! (Относится, конечно, не только к ping и не только к IP-адресам.) 10 в восьмеричной системе – это восемь, так что: 8.8.8.8. Неплохо взглянуть и на другие варианты: ping 010.8.010.8, например. А попытка вызвать ping 010.080.010.010 приведёт, скорее всего, к сообщению о том, что адрес для имени обнаружить не удалось (или Name or service not known – в типичном случае).
А оговорка насчёт буквы в предыдущем параграфе, конечно, это для 0x08, например. Но такая запись мало кого вводит в заблуждение.
Адрес записки: https://dxdt.ru/2023/03/16/9739/
Похожие записки:
- "Лазейки" вокруг неравенства Белла
- Про цепочки, RSA и ECDSA
- Вывод ключей Kyber768 на tls13.1d.pw
- Кусочки "Илиады" на папирусах
- Open Source и добавление "вредоносного кода"
- Шумерские цифры и хитрости Unicode
- Падения Facebook.com
- Техническое описание TLS: обновление 2022
- Общее представление о шифрах и бэкдоры
- Реплика: о языках программирования, из практики
- Алгоритм Шора и Вселенная кубиками
Написать комментарий