我正在做一个web proxy.The,逻辑是客户端向代理发送请求,代理向服务器发送相同的请求,并将答案发送回客户端。例如,我想访问www.baidu.com。我在GET:包中获取"Host:www.baidu.com“,用于发送dns请求,然后获取"www.baidu.com”的ip,在代理和服务器之间建立套接字。问题是,当我使用wireshark捕获没有使用代理的普通包时,我发现除了对www.baidu.com的查询之外,还有更多的dns请求查询访问"www.baidu.com“。它将在不同的主机中查询nsclick.baidu.com和suggestion.baidu.com没有信号让我启动这些sockets.But查询,而不是像查询"www.baidu.com“一样,当我检测到”主机:“时,我可以启动它。有人能帮帮我吗?谢谢你。
发布于 2012-04-14 17:27:54
这不应该是这样的,可能首先是这样的。
想象一下,我在浏览器中点击了www.baidu.com,它通过您的代理发送流量。目前,对于您的代理,www.baidu.com是唯一需要查找的内容。
当我的浏览器最终接收到此请求的html块时,收到html/js代码,然后加载对来自nsclick.baidu.com的一些图像的请求。类似地,还可以请求其他资源(css、js、图像)。反过来,他们都再次通过您的代理,然后他们的您将进行您通常的dns查询。
https://stackoverflow.com/questions/10152089
复制相似问题