Несколько запросов DNS в одном запросе веб-страницы
Я работаю над веб-прокси. По логике клиент отправляет запрос на прокси, прокси отправляет тот же запрос на сервер и отправляет ответ обратно клиенту. Например, я хочу посетить www.baidu.com. Я получаю "Host:www.baidu.com" в пакете GET:, который используется для отправки запроса DNS, затем я получаю IP-адрес "www.baidu.com", устанавливаю сокет между прокси и сервером. Вопрос в том, когда я использую wireshark для захвата обычных пакетов не с прокси-сервером, я обнаруживаю, что больше запросов DNS-запросов посещают "www.baidu.com", за исключением запроса для www.baidu.com. Он будет запрашивать nsclick.baidu.com и Suggestion.baidu.com в разных сокетах. Но нет никакого сигнала, чтобы позволить мне инициировать эти запросы DNS, а не как запрос для "www.baidu.com", в котором я могу инициировать это когда я обнаруживаю "Host:". Кто-нибудь может мне помочь? Спасибо.
1 ответ
Это не то, как это должно работать, вероятно, в первую очередь.
Представьте, что я нажал www.baidu.com в моем браузере, который отправляет трафик через ваш прокси. Для вашего прокси в данный момент, www.baidu.com - единственное, что нужно искать.
Когда мой браузер в итоге получает html-чанк для этого запроса, он получает html/js-код, а затем загружает запросы на некоторые изображения, полученные с nsclick.baidu.com. Аналогичным образом могут быть сделаны запросы на другие ресурсы (css, js, images). В свою очередь они все снова проходят через ваш прокси, а затем их вы будете делать ваш обычный запрос DNS.