【问题标题】:multiple DNS queries in one web page request一个网页请求中的多个 DNS 查询
【发布时间】:2012-04-14 08:07:49
【问题描述】:

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

【问题讨论】:

    标签: c proxy web dns


    【解决方案1】:

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

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

    当我的浏览器最终收到此请求的 html 块时,收到 html/js 代码然后加载来自 nsclick.baidu.com 的一些图像的请求。同样可以请求其他资源(css、js、图像)。反过来,他们都再次通过您的代理,然后他们将执行您通常的 dns 查询。

    【讨论】:

    • 我明白了。我会检查并添加一些测试来检测这些新地址。
    • 我认为 OP 想提前知道所需的主机名以预查询/预缓存它们。
    • 每个这样的 DNS 查询也是(多个)单独的 GET 请求
    猜你喜欢
    • 2020-06-07
    • 2011-03-28
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 2011-05-04
    • 2020-07-08
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多