首页 > 代码库 > 使用浏览器的开发者工具与 DIG 命令行工具,来分析访问站点时的网络连接与 HTTP 请求和响应

使用浏览器的开发者工具与 DIG 命令行工具,来分析访问站点时的网络连接与 HTTP 请求和响应


前言


想必有些朋友和我一样,想要弄清楚当使用浏览器访问一个站点时,究竟向那些站点发起了 HTTP 请求;站点的 HTTP 响应;这些站点的域名是否和 shell 终端输出的 socket 套接字IP地址对应得上;这些站点使用的域名,IP地址,物理地址,域名拥有者和IP地址拥有者之间的联系;系统当前是否存在恶意或非法的网络连接。。。等等。

本博文就是要以随手取得的开源工具并且用一种可实际操作的标准化流程,来达到上述种种分析任务的目标。

这套工具集与流程,以及思路,适用于你想分析的任何对象(这里指站点)并且这里提出的方法仅作为抛砖引玉,最终目的是激发大家对相关技术的思考,研究出更好的调试分析方法,从而彻底明白访问站点时发生的事情。


准备工具


firefox 或其它浏览器内建的 web开发者工具

(这里使用 firefox 的开发者工具,不使用 firebug 插件的原因是它的“网络”分析模块没有 firefox 内建的开发者工具来得“强大”)

我们主要通过它的“网络”模块,查看当访问一个站点时,浏览器向哪些 URL 并发的 HTTP 请求内容,以及站点的 HTTP 响应内容,然后在它的“查看器”模块中,定位引发浏览器请求其它 URL 的相应 HTML 标签



firefox 的 noscript 插件

需要额外安装,详见后文;

用于禁止或允许站点的脚本以及跨域脚本,可以阻止,拦截,以及净化恶意站点存在的各种类型跨站脚本;我们用它来分析加载一个站点的脚本前后的 socket 套接字 IP 地址列表,对比前后的差异


shell 命令行工具 dig

CentOS6.5 默认安装,可以通过 yum 或者 rpm ,或者官方网站更新到最新版;

作为 DNS 解析的本地客户端,向因特网上的 DNS 服务器发送解析请求;

我们利用它来将开发者工具“网络”模块列出的域名,与 shell 终端执行 netstat 输出的 socket 套接字的 IP 地址,对应起来;当然你也可以使用 nslookup ,甚至 windows 平台的 nslookup,不过它没有 dig 强大



APNIC 的 whois 数据库查询页面

http://www.apnic.net/



CNNIC 的 whois 数据库查询页面

http://www.cnnic.net.cn/



其它提供 whois 查询以及站点相关信息查询服务的站点

http://www.wmtips.com/tools/info/


http://hosts-file.net/



上述这些站点用于查询对象的域名注册信息,IP地址注册信息,网络范围,网络块大小,物理地址,AS自治域号码(如果有申请)等等,对于深入理解站点的背景信息甚至网络拓扑至关重要。


接着,以我个人的博客首页 URL 地址为测试用例来介绍标准化的分析流程;在这之前,需要下载,安装 firefox 的 noscript 插件,官方下载地址:

http://noscript.net/


参考如下截图:



wKioL1QXh8OhPzhPABJn4HDhwho335.jpg


wKioL1QXinaReRffAA0D7OXBFNw847.jpg



确认已经安装并启用 noscript,以 firefox 访问

http://shayi1983.blog.51cto.com/


注意底部 noscript 的状态栏,左侧是当前页面允许或禁止的脚本和所有用于引入脚本的 HTML 标签数量统计;单击右侧选项可以单独允许或禁止当前页面引入的某个同域或跨域的脚本,

为了测试方便,我们将包括 shayi1983.blog.51cto.com 站点在内的所有站点引入的脚本全部拦截,然后刷新页面,并且打开一个 shell 终端,执行

netstat -antupeo 命令,查看打开的网络连接:



wKiom1QXndOQ_cA_ABCACxFS7D8471.jpg




本文出自 “自由,平等,共享,互助” 博客,请务必保留此出处http://shayi1983.blog.51cto.com/4681835/1553095

使用浏览器的开发者工具与 DIG 命令行工具,来分析访问站点时的网络连接与 HTTP 请求和响应