how-to-use-fiddler



how-to-use-fiddler

0 0


how-to-use-fiddler


On Github MofeLee / how-to-use-fiddler

如何使用抓包工具

by: 李勇 Mofe Lee < mofe@me.com >

今天由我来为大家介绍如何使用抓包工具 因为时间比较仓促 如果讲的有哪不对或者哪里有疑问 可以直接提出来,我会尽量解答的 我会尽量解答的 这节分享会主要介绍的工具是fiddler 因为fiddler包含了一个web debug 工具 所需要具备的所有功能 next

目录

  • HTTP 概览
  • Fiddler 是什么? 它是如何工作的?
  • 与其他工具的区别
  • Fiddler 的特性
  • Q & A
在进入主题之前 我们需要了解Fiddler 到底是在做什么 以及Fiddler 是如何工作的 然后再比较一下 抓包工具之间的区别

HTTP

  • 工作在 application layer 的网络协议
  • 包含
    • Request
    • Response
为了照顾对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 是什么?

  • 免费的 web debug 工具

Fiddler 是一个非常流行的web debug工具 据说它能用在mac上,但是平常我都在mac上用charles 不过charles似乎没有Fiddler强大

抓包工具比较

  • 包分析工具

    • WireShark
  • 命令行下的抓包工具

    • tcpdump
  • 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'.

refs