如何使用抓包工具
by: 李勇 Mofe Lee < mofe@me.com >
今天由我来为大家介绍如何使用抓包工具
因为时间比较仓促
如果讲的有哪不对或者哪里有疑问
可以直接提出来,我会尽量解答的
我会尽量解答的
这节分享会主要介绍的工具是fiddler
因为fiddler包含了一个web debug 工具
所需要具备的所有功能
next目录
- HTTP 概览
- Fiddler 是什么? 它是如何工作的?
- 与其他工具的区别
- Fiddler 的特性
- Q & A
在进入主题之前
我们需要了解Fiddler 到底是在做什么
以及Fiddler 是如何工作的
然后再比较一下 抓包工具之间的区别HTTP
- 工作在 application layer 的网络协议
- 包含
为了照顾对HTTP协议不太了解的同学
我这里稍微介绍下什么是HTTP
HTTP 是工作在【应用层】的网络协议
也就是 OSI 网络模型的最高层
每个完整的 HTTP 会话都包含一个请求和一个响应HTTP 会话( session )
在浏览器中输入地址
浏览器向 DNS 服务器查询服务器 ip 地址
浏览器与服务器建立 TCP 连接
浏览器创建 HTTP 请求
服务器接受请求
服务器处理请求内容
服务器响应并创建 HTTP 响应
http Request
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: baidu.com
User-Agent: HTTPie/0.9.3
这是一个简单的HTTP请求的例子
我们知道即使创建一个 TCP 连接,我们也无法直接与
远程主机通信,必须通过各个路由器帮我们传递信息
因为我们的HTTP工作在应用层
所以可能会出现一种比较特殊的情况
类似HTTP 请求指定的主机地址和我们TCP 请求发送的地址不一样
这就给了我们抓取 HTTP 请求的机会http response
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=86400
Connection: Keep-Alive
Content-Length: 81
Content-Type: text/html
Date: Thu, 14 Jul 2016 16:53:33 GMT
ETag: "51-47cf7e6ee8400"
Expires: Fri, 15 Jul 2016 16:53:33 GMT
Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
Server: Apache
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
这是一个百度给我返回的响应信息
我稍微解释下里面的每个字段的作用
【DEMO】Fiddler 是什么?
Fiddler 是一个非常流行的web debug工具
据说它能用在mac上,但是平常我都在mac上用charles
不过charles似乎没有Fiddler强大抓包工具比较
-
包分析工具
-
命令行下的抓包工具
-
Proxies:
- Fiddler / Charles / Brup Suite
-
浏览器 dev tool
- Chrome Devtool / FireBug for Firefox / etc...
Put your speaker notes here.
You can see them pressing 's'.Sniffer - Proxy - Browser DevTools
- Sniffer 通过网卡抓包工具
- Proxy 通过设置代理抓取网络请求
- DevTools 通过浏览器内置的工具分析网络请求
Put your speaker notes here.
You can see them pressing 's'.Sniffer - Proxy - Browser DevTools
特性
Sniffer
Proxy
Browser Tools
只能监听HTTP
No
Yes
Yes
友好的数据可视化
No
Yes
Yes
监听所有进程
Yes
Yes
Only Browser
监听远程主机
No
Yes
Yes
缓存
No
No
Yes
Put your speaker notes here.
You can see them pressing 's'.fiddler 视图
Put your speaker notes here.
You can see them pressing 's'.fiddler 主视图
Put your speaker notes here.
You can see them pressing 's'.sessions
Put your speaker notes here.
You can see them pressing 's'.Session s Icons
Put your speaker notes here.
You can see them pressing 's'.果壳中的 Fiddler
- 流量对比
- 网络状态统计
- 检查 Request 和 Response
- HTTPS 解密
果壳中的 Fiddler
- QuickExec
- 设置网络断点
- AutoResponder
- RequestBuilder
- Filters
- Fiddler Extensions
Put your speaker notes here.
You can see them pressing 's'.