『Python爬虫』抓包工具 Fiddler 入门教程Python编程大全 2022-06-27 11:00 发表于陕西 收录于合集 #Python编程大全67 #Python50 #抓包工具1 #编程1 #爬虫2 分享Python技术文章,实用案例,热点资讯。 你想了解的Python的那些事都在这里...... 当你的才华还撑不起你的野心的时候,那就安静下来学习吧! 10篇原创内容 公众号 传统的抓包工具,如:Fiddler、Charles、Wireshark、Tcpdump,大家肯定都不陌生了; 今天我们就来聊一聊这款常用的抓包工具:Fiddler; fiddler简介 Fiddler是个蛮好用的抓包工具,也是比较好用的web代理调试工具之一; 它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据; 修改hosts、限制网速、http请求性能统计、简单并发、接口测试、辅助自动化测试等等,也可以用来检测网络安全。 fiddler与其他抓包工具 ① Firebug 虽然它可以抓包,但对于分析http请求的详细信息不够强大,模拟http请求的功能也不够。 且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存; ② Wireshark: 通用的抓包工具,能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。 但如果是TCP、UDP协议可以用wireshark; ③ Httpwatch 也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件); 而Fiddler 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。 爬虫与Fiddler: 在一些稍复杂的网络请求中,我们直接看网址的变化是看不出规律的,如果要自动爬取,就必须通过程序构造这些请求,并分析这些请求的规律。 进行登录时,很多网页的真实登录处理并不是我们看到的网址,这些网址一般需要通过工具进行分析得出。 分析过程中,抓包软件的配合会变得更加方便。 fiddler的工作原理 Fiddler是以代理WEB服务器的形式工作的,它默认使用代理地址**:127.0.0.1**, 端口**:8888**。 当Fiddler开启时会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。 不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。 解决的办法是重新启动下Fiddler; fiddler界面 Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。 开启后再左下角会有显示,当然也可以直接点击界面底栏左下角的图标来关闭/开启抓包功能。 左边web session面板的字段及图标含义; 右边是详情和数据统计面板; 1)Statistics 关于HTTP请求的性能(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)以及数据分析。 2)Inspectors 是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容; 提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息。 3)AutoResponder 可用于拦截某一请求,即按自己添加的指定规则重定向到本地的资源或Fiddler资源,从而代替服务器响应。 4)Composer 自定义请求发送服务器,Parsed模式下你只需要提供简单的URLS地址即可; 5)Filters 即过滤规则,通过设置过滤规则来过滤所需的http请求,勾选Use Filters开启过滤器。 内外网过滤:对host过滤:输入多个HOST,多个之前用半角逗号或者回车分隔; 支持通配符:*,baidu.com; 这里有两个最常用的过滤条件:Zone和Host;
6)timeline 请求响应时间,在左侧会话窗口点击一个或多个请求,Timeline 便会显示指定内容从服务端传输到客户端的时间: fiddler设置代理 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。 谷歌、IE浏览器 谷歌浏览器和IE浏览器启动的时候,就会默认读取系统代理,所以只需要将Fiddler设置为启动后作为系统代理即可。 设置启动即作为系统代理——点击Tools->Options->Connections; 这样设置后,我们在谷歌浏览器和IE浏览器访问HTTP请求,就会在Fiddler工具左侧中显示出请求,但是HTTPS的请求却没有显示出来? 原因Fiddler作为一个代理服务器,是可以代理到HTTPS请求的。 但是HTTPS可以理解为HTTPS=HTTP+SSL/TLS,也就是HTTPS是加密的,是有证书存在的,所以我们需要配置解密HTTPS并安装证书。 配置解密HTTPS并安装证书——点击Tools->Options->HTTPS。 查看证书是否安装成功 浏览器中访问HTTPS的页面,也能在Fiddler中显示; fiddler断点功能 通信过程中,在传递信息的中间进行修改后再传递,那么就可以使用Fiddler的断点功能。 (1)使用Fiddler的断点,可以实现的功能:
断点可以打到两个地方:
如图,箭头所指的位置时可以点击的,共三种状态:
还有一种打断点的方式:在命令行中输入命令;
这种方法只会中断www.baidu.com;
图中Break On Response表示把请求发给服务器,但是服务器的响应被fiddler拦截,此时可以修改响应内容(和断点响应类似)。 -> 断点响应并修改
-> Fiddler中拦截请求:
-> Fiddler中拦截响应:
断点的命令则可以精确设置需要截获那些请求,如下表所示: 注意: 如bpafter断点命令使用方法为:bpafter 后边跟字符串->表示中断所有包含该字符串的请求;bpafter ->表示解除刚刚的中断断点; 命令设置断点
手机端抓包操作 以Android手机上配置Fiddler工具为主,讲解配置手机抓包过程。 配置Android手机 Fiddler配置中Connections中设置允许远程连接和端口号。 手机端设置:手机端与Fiddler工具所在电脑处于同一个网络中。 查看电脑的IP 地址,手机网络代理指定为电脑IP地址; 打开设置 > WLAN > 连接上的 WLAN 设置,点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口。 安装Fiddler证书;用浏览器打开证书地址,访问 http://ipv4:8888/,点击页面底部 FiddlerRoot certificate下载证书,打开设置 > 安全>更多安全设置 > 加密和凭据 > 从存储设备安装,选择下载好的 FiddlerRoot.cer 进行安装。 浏览器打开目标地址,已经可以抓取 HTTPS 包了; 注意:测试完毕,记得关闭代理,否则手机无法上网! 最后再多说一句:Fiddler请谨慎使用! END 分享Python技术文章,实用案例,热点资讯。 你想了解的Python的那些事都在这里...... 当你的才华还撑不起你的野心的时候,那就安静下来学习吧! 10篇原创内容 公众号 喜欢此内容的人还喜欢 编码安全研究 不喜欢 确定 Apache InLong 不喜欢 确定 02CERT 不喜欢 确定 |
|