2014年12月1日星期一

不懂代码也会写HOST!(二)如何找出WINDOWS和ANDROID应用程序所使用的域名

不懂代码也会写HOST!(二)如何找出WINDOWS和ANDROID应用程序所使用的域名

转载请注明原始地址:http://wp.me/p3p7E3-Js
  • Windows
对于一般的Windows应用程序来说,Chrome的方法自然是没用。说到底,找域名的终极方法就是想办法把网络访问日志抓出来,那么我们就可以想想,Windows下有什么可以抓日志的软件呢?不少防火墙都有日志功能,但还得再装个软件……这里有个更简单的方法,而且不少经常翻墙的朋友都有安装,我们可以马上拿来用,就是GoAgent。
首先想办法让你的GoAgent能够正常使用,不管是改配置文件甚至是在VPN后跑GoAgent都可以。
然后就是想办法让你的目标应用程序跑在GoAgent下。大多数Windows应用程序都支持设定代理服务器,或者干脆使用IE代理:
然后让你的目标应用程序跑起来,GoAgent就会输出日志:

(屏蔽了一些可能泄露隐私的东西。)
从日志中可以清楚地看到应用程序所使用的域名,记录下来——可能需要手打。若日志跑得太快,请配合截图。
  • Android
早些时候我都是靠抓包来出Android域名表的,后来实在受不了了,便公开征求了一下方案,有人推荐了“AdAway”,中文名叫“广告走开”——很多朋友也使用它同步Host文件。
那么首先在你的Android设备上安装AdAway:GitHub(源码)F-droid(应用市场)酷安(应用市场)。记住,这货需要ROOT。
以下使用民间汉化版作介绍,英文版请自己对照。首先打开AdAway,在菜单里选择“记录DNS请求”:
然后启动TCPdump:
启动完毕后,便可以让它在后台默默运行了。这时我们回到启动器,随便启动一个被墙的APP比如FaceBook或者Twitter之类。当然,如果你没有翻墙的话,是运行不起来的。这时我们回到AdAway,打开日志文件:
域名出来了。
需要注意的是:1,这里只会记录DNS请求,如果一个域名已经在host里有对应的IP,那么系统是不会进行DNS请求的,TCPdump也不会记录。2,过程虽然简单,但收集一个APP完整的所需域名的清单,可能需要你多次重启手机,请务必保持耐心
  • 拾遗
一些收集域名中可能用到的小技巧会写在这里,未来可能会有更新:
当你看到一个域名,比如clients2.google.com,那么你应该会想到还有clients1.google.com或者clients3.google.com,在墙外Ping一下试试能不能解析。
两个监控网络的小工具,我一直在用,功能值得大家探索:Windows上的IP雷达,Android上的OS Monitor。虽然同类软件有很多,但这两个免费,小巧,不流氓。

没有评论:

发表评论