Есть какое нибудь описание как работает dns, а лучше реализация на любом яп?
Есть какое нибудь описание как работает dns, а лучше реализация на любом яп?
Хочу разобраться как именно работает, и так знаем что он идет через udp, например на ноде шлю что то на 53 порт через udp, во первых что именно слать где-то есть описание? на вики например с http всё просто и детально расписано и просто реализовать.
Потом что делать дальше? ну по логике нужно заранее слушать этот же порт ждать ответа, но ведь ОС не позволит так сделать без рут прав, вроде как до 1024 порта это запрещено, да и потом как другие приложения будут работать если я уже занял порт, просто браузеру ведь не нужен рут.
Знаю что в ноде есть отдельный инструмент для работы с днс, и вообще обычно адрес сам резолвится как то, но я хочу именно вручную разобраться.
ОС не позволит так сделать без рут прав, вроде как до 1024 порта это запрещено
Вы путаете порт источника (исходящий) и порт назначения (входящий). Отправлять DNS-запрос можно с любого исходящего порта. Пример:
вы отправляете запрос с вашего порта 1025/udp на сервер, на порт 53/udp; сервер обрабатывает запрос и посылает ответ со своего порта 53/udp на ваш порт 1025/udp (он же помнит с какого порта пришел этот запрос).