使用curl向服务器发送二进制dns数据包

使用curl向服务器发送二进制dns数据包,curl,dns,wireshark,Curl,Dns,Wireshark,我正在尝试使用Wireshark和curl将DNS数据包发送到DNS服务器以获得DNS响应。因此,不要使用curl-v--doh urlhttps://dns-server.example.com https://www.google.com,我想使用类似于curl--data binary@filename的东西http://example.com/将二进制dns数据包发布到dns服务器(即https://cloudflare-dns.com/dns-query)。是否有一个curl命令允许我

我正在尝试使用Wireshark和curl将DNS数据包发送到DNS服务器以获得DNS响应。因此,不要使用
curl-v--doh urlhttps://dns-server.example.com https://www.google.com
,我想使用类似于
curl--data binary@filename的东西http://example.com/
将二进制dns数据包发布到dns服务器(即
https://cloudflare-dns.com/dns-query
)。是否有一个curl命令允许我发布到服务器而不是url

注:

  • --doh url
    指定使用哪个DNS over HTTPS(doh)服务器解析主机名,而不是使用默认名称解析程序机制。URL必须是HTTPS

当然,如果您只有一个创建DNS数据包的工具,那么您所需要的就只有数据二进制了。您可能还需要确保设置了正确的
内容类型:


或者,您可以使用我们正在开发的工具来实现这一目的,该工具使用libcurl将DNS查询发送到给定的DoH服务器。

是否仍然可以将DNS请求发送到您本地机器上运行的DoH服务器?我已经设置了
nginx
,出于测试目的,我尝试使用
curl--doh urlhttps://127.0.0.1 https://www.google.com
获取dns响应,但出现错误
curl:(6)无法解析主机名