【问题标题】:Does curl --doh-url not accept ip address for dns servers and is the response just html?curl --doh-url 是否不接受 dns 服务器的 IP 地址并且响应只是 html?
【发布时间】:2020-03-17 22:33:19
【问题描述】:

在运行curl --doh-url https://dns-server.example.com https://www.example.com 命令时,curl --doh-url 不接受ip 地址吗?您不能指定https://127.0.0.1 或类似IP 地址的内容吗?也尝试使用libcurl 代码执行此操作,但希望指定 gcp 负载平衡器的前端 IP 地址。 curl --doh-url 命令的响应也只是 html 文本吗?当我打开 -v 详细标志时,我只会看到 doh dns 响应。想知道是否有另一个标志只显示 dns 响应。非常感谢!

【问题讨论】:

  • 如果您只想使用 DOH 传输到某个解析器以查看结果,您应该只使用使用 DOH 的 DNS 客户端,而不是 HTTP 客户端。 curl 使用 DOH 端点作为中间步骤来解析要连接的网站的名称,然后检索内容,从而返回 HTML 或服务器提供的任何内容。 DOH 步骤只是一个中间计算。

标签: curl dns libcurl dns-over-https


【解决方案1】:
  1. 当然,您可以使用 IP 地址指定 DoH URL。但是,它要求您的 DoH 服务器在其证书的主题名称中具有该 IP。 (目前没有 --doh-insecure 选项让您跳过 DoH 的证书检查,可能在 this pull request 中工作)。

  2. 不,curl --doh-url 命令的响应不仅仅是 html 文本 - 这听起来像是您的服务器返回了错误的内容 该命令行选项仅控制 curl 如何解析 URL 中使用的名称,然后 curl 将像往常一样传输 URL。如果 DoH 查找失败,它当然不会传输任何 URL。

【讨论】:

  • 很高兴了解 ip 地址/doh 服务器证书功能!对于curl --doh-url 响应,我正在运行curl --doh-url https://cloudflare-dns.com/dns-query https://www.google.com 之类的东西并且只获取html。但是,当我做curl -v --doh-url https://cloudflare-dns.com/dns-query https://www.google.com 时。我看到了* DOH A: 216.58.194.196* DOH AAAA: 2607:f8b0:4005:080a:0000:0000:0000:2004。这也适用于 google dns 服务器。
  • Daniel:我认为用户想要访问 DOH 查询的结果并显示它。它获取 HTML 是因为它只是下载了一些网页,其结果与主机名的解析方式无关。
  • @PatrickMevzek 这就是我的意思。谢谢你的改写!
  • 名称解析的结果只显示在详细输出中,有或没有--doh-url... 然而,我们确实制作了一个单独的doh 实用程序来显示DoH 查找的结果.
【解决方案2】:

curl's doh:DoH 名称解析和查找的独立应用程序。

  • 适用于本地主机/IP 地址。
  • 以详细模式显示完整的 DNS 请求/响应 -v

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多