一个网页请求中的多个DNS查询

时间:2012-04-14 08:07:49

标签: c proxy web dns

我正在处理Web代理。逻辑是客户端向代理发送请求,代理向服务器发送相同的请求,并将答案发送回客户端。    例如,我想访问www.baidu.com。我在GET:package中获取“Host:www.baidu.com”,用于发送dns请求,然后我获取“www.baidu.com”的ip,在代理和服务器之间建立套接字。 问题是当我使用wireshark来捕获普通包而不是代理时,我发现除了查询www.baidu.com之外,还有更多的dns请求查询访问“www.baidu.com”。它将在不同的套接字中查询nsclick.baidu.com和suggestion.baidu.com。但没有信号让我发起这些DNS查询,而不是查询“www.baidu.com”,我可以在其中发起当我检测到“主持人:”时。有人能帮我吗 ?谢谢你。

1 个答案:

答案 0 :(得分:0)

这可能不是首先应该如何工作。

想象一下,我在浏览器中点击了www.baidu.com,它通过您的代理发送流量。对于您目前的代理,www.baidu.com是唯一可以查找的内容。

当我的浏览器最终收到此请求的html块时,收到html / js代码然后加载来自nsclick.baidu.com的一些图像的请求。类似地,可以对其他资源(css,js,图像)进行请求。反过来,他们再次通过你的代理,然后他们你将做你通常的DNS查询。