C DNS over UDP示例查询
我经常发现自己需要测试互联网连接是否在线。特别是,有时(在非常非常特殊的连接上)UDP被禁用。现在,我发现测试我的连接是否可以使用UDP的最简单方法之一是通过DNS查询 现在,使用一些函数,如C DNS over UDP示例查询,c,dns,udp,C,Dns,Udp,我经常发现自己需要测试互联网连接是否在线。特别是,有时(在非常非常特殊的连接上)UDP被禁用。现在,我发现测试我的连接是否可以使用UDP的最简单方法之一是通过DNS查询 现在,使用一些函数,如getaddrinfo将UDP从查询中抽象出来,这样(据我所知)如果UDP不可用,将使用TCP。现在,由于我需要测试UDP连接,我需要自己用查询伪造UDP数据包。此外,我希望查询公共DNS服务器(如8.8.8.8),以便确定UDP连接可用于与外部主机对话 所以我想知道:我可以通过UDP数据包发送的最简单的D
getaddrinfo
将UDP从查询中抽象出来,这样(据我所知)如果UDP不可用,将使用TCP。现在,由于我需要测试UDP连接,我需要自己用查询伪造UDP数据包。此外,我希望查询公共DNS服务器(如8.8.8.8),以便确定UDP连接可用于与外部主机对话
所以我想知道:我可以通过UDP数据包发送的最简单的DNS查询是什么?你能给我举个例子,比如说,向DNS服务器请求google.com的ip吗?我不确定我是否完全理解你的问题,但最简单的查询应该是
的SOA
(即根区域的权限开始),如下所示:
$ dig SOA . @8.8.8.8
; <<>> DiG 9.8.3-P1 <<>> SOA . @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46366
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN SOA
;; ANSWER SECTION:
. 4350 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015102500 1800 900 604800 86400
;; Query time: 36 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct 25 21:07:19 2015
;; MSG SIZE rcvd: 92
$dig SOA@8.8.8.8
; 挖掘9.8.3-P1 SOA@8.8.8.8
;; 全局选项:+cmd
;; 得到答案:
;; ->>标题