怎样打印出手机上网时访问的网址内容
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
手机访问网络时会用浏览器输入网址,这些是用户界面可见的;
apk也需要通过网址访问apk的服务器,这些在用户界面不可见。
那么如何在手机端把访问的网址打印出来呢?
[SOLUTION]
其实平台默认已经会打印这些dns query数据了,示例如下:
01-30 17:54:12.740885 241 6353 D libc-netbsd: res_queryN name = gmail-smtp-in.l.google.com, class = 1,
type = 1
01-30 17:54:12.741026 241 6353 D libc-netbsd: res_queryN name = gmail-smtp-in.l.google.com succeed
01-30 17:54:13.921741 241 6354 D libc-netbsd: res_queryN name = www.google.com <http://www.google.com/>
, class = 1, type = 1
01-30 17:54:13.944311 241 6354 D libc-netbsd: res_queryN name = www.google.com <http://www.google.com/>
succeed
01-30 17:57:59.523221 241 6378 D libc-netbsd: res_queryN name = supl.sonyericsson.com, class = 1, type =
1
01-30 17:57:59.555766 241 6378 D libc-netbsd: res_queryN name = supl.sonyericsson.com succeed
这部分代码在getaddrinfo.c中的res_queryN()函数中,只要是本机发起的dns query,不论是使用wifi或data及使用浏
览器或apk都会经由这里。
所以我们可以在这里打印出本机主动发起的链接。
提醒:
若本机作为热点,其他链接到热点的设备访问网络,这样的访问信息在本机是没有办法抓到的。
原因是本机当前作为热点启用的是dnsmasq应用,这个应用只有转发数据包的功能,并不会到dns libc。
