如何对pc客户端进行抓包
要想实现写爬虫,抓取到数据,首先我们应该分析客户端和服务器的请求/响应,前提就是我们能监控到客户端是如何与服务器交互的。
一般我们用fiddler或Charles抓包,都是对web和手机app的抓包,很少对pc客户端抓包,当我们首次试图抓取pc客户端的数据时,发现以往的方法并不适用了。
web和app抓包这里不做解释,可自行百度,这里主要说一下个人是如何抓取pc客户端数据的。
1:准备工具 fiddler / Proxifier
这里有Proxifier安装包
链接:https://pan.baidu.com/s/1_iudkxCMSEv6VuB0QbPwPg
提取码:dsbe
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享
2:fiddler正常设置——>打开Fiddler,在菜单栏,打开Tools --Options,前三个选项卡设置下。
3:PC客户端(C/S)抓包需借助工具 Proxifier,设置也简单
3.1:先打开代理服务器进行配置
3.2:在打开代理规则进行配置
4:配置好后,此时电脑上C/S客户端可以抓到包
ps:注意,并不是所有pc客户端都能抓到包。个别客户端做了安全防护机制。
个人遇到的一些场景有:在确认所有条件都配置好的情况下:
a).网络可正常访问,但抓取不到数据
b).使用fiddler抓取数据时,就提示无网络
c).抓取到了数据,但都是乱码,无法解码(个人使用了几种解码方式,并未解码成功,大家遇到此情况可以尝试下)
总结:以上就是使用fiddler工具结合 Proxifier工具抓取pc客户端的操作。
更多使用 proxifier 进行抓包的帖子可自行百度,推荐两篇:
https://www.gaoyaxuan.net/blog/452.html
https://blog.csdn.net/qq_41397201/article/details/91596196
以下为一种新的场景,一般使用不多,可了解下。上面讲的是在本机电脑抓pc客户端数据,那如果在远程机上,按此方法设置是不行的。
相当于在远程机又套了一层关系,具体操作如下:
a):还是先打开代理服务器进行配置
b):在打开代理规则进行配置。
名称自定义。1、应用程序选fiddler.exe,动作选远程机代理;2,应用程序选客户端.exe,动作选本地代理。
相当于fiddler走远程机的代理,远程机上的客户端走本地代理,这样就能抓取到该客户端的数据了。
注意点:默认的动作选全局Direct,如果抓不到数据,也可以选本地或远程机代理。自己可以尝试下。