目地为了测试客户的dns是否正常
比如客户ip 1.1.1.1
要测试的域名www.qq.com 2.2.2.2
然后我写个测试页面www.testqq.com/test.php 客户访问这个页面然后可以在页面显示www.qq.com解析的ip(以用户的身份和dns请求解析得到的ip)
1
kukat 2015-04-07 00:52:29 +08:00 1
php 可以用 gethostbyname()
客户端你咋取得 dns 解析的 ip? 另外,因为 cdn 之类的原因,不同地方,不同网络环境解析的 ip 会不同的 |
4
Puteulanus 2015-04-07 04:07:12 +08:00
在网上看到个解决思路
自建一个NS服务器,用它解析自己的一个域名(比如abc.com) PHP输出的时候,带上一个上面域名随机的子域名的资源(比如dshfjdsfsdf.abc.com/test.jpg) 从NS的log里提取出客户的DNS对这个子域名(dshfjdsfsdf.abc.com)的解析请求 |
5
Livid MOD 五楼的方法是目前各大 CDN 的查错网站常用的方法。
|
8
yylzcom 2015-04-07 09:19:22 +08:00 via Android
啊?难道不是因为屏蔽了某人而livid没屏蔽,所以出现楼层不同的情况?
|
13
caola 2015-04-07 11:13:05 +08:00
你可以试试 dns_get_record() checkdnsrr() 这两个函数,
或者 system() exec() 直接调用系统命令去查吧! |
14
linescape 2015-04-07 11:49:26 +08:00
php跑在服务器端,明显能以从访客的IP去某指定dns上获取一个域名的解析记录吧
倒是浏览器如果有这样的api则能用js实现 |
15
fxxkgw 2015-04-07 18:14:24 +08:00
@Puteulanus 这个是获取客户端的DNS的方法吧 通过sessionID构造URL,然后在自己的named服务器上解析,通过log得到客户端的出口DNS。
|
16
fxxkgw 2015-04-07 18:16:19 +08:00
我们之前是用python通过dpkt pcap两个库通过抓包形式得到连接域名的真实IP的,PHP只是略懂所以没试过。
|