爬虫抓包问题全面分析
前言
很明显如果你抓不到包,那么写爬虫程序是一件无法下手的事情
目前很多公司越来越多的业务都转向到app端,那么app抓包就成为爬虫工程师必不可少的技能。从某种角度上讲,防止被抓包也是反爬的一种形式。下面将从各个方面讲解app抓包技巧, 讲解会遇到的各个问题及其相应的解决办法
网络七层模型
既然说到网路抓包,那么我们从网络七层模型开始说起,其实pc端爬虫往往只会关注应用层的数据抓包,但是很多大厂 的app已经很难从应用层抓到数据包,往往需要去解析传输层的数据,或者我们必须规避app去走tcp
抓包分析
其实我们很想能在应用层就抓到数据包,但是当我们打开fiddler抓包时,却会发现抓出来的包有一把锁
都是锁这特娘的怎么干活
下面我们对这些情况都分下类:
- 挂上代理后app提示没有网络,断开代理后app正常访问(证书验证)
- 挂上代理后app能正常访问,但是fiddler抓不到任何数据(不走代理)
- 挂上代理后app能正常访问,fiddler能抓到部分数据包,但是无法抓到关键数据包(发tcp)
以上就是应用层抓包你会遇到的所有问题
下面我们一个个来解决问题,在解决你的这些问题之前请确保你已经将fiddler证书安装到手机的根目录
(安卓7.0以上系统不再信任用户安装的任何证书)
可以参考这篇文章
https://blog.csdn.net/weixin_44249131/article/details/104650275
证书验证
原理:
app(客户端)往往带有ssl ping证书验证,而代理是无法直接带着真实的证书给到app客户端校验的,
解决办法:
- 选择 xposed的JustTrustMe模块,该模块是hook了Java层的主要网络请求库例如okhttp,UrlConnection等,让app不再去验证证书
- 如果方法1失败了,那么可能是开发者自己改写了网络请求库,那么你可以选择去追踪一下app的网络请求源码,去hook住那个请求库
- 直接获取apk的证书和证书密码(需要反编译),将证书安装到Charles就能顺利抓包
不走代理
原理:
- 安卓开发者可以设置apk不走代理
解决办法:
- android proxydroid 代理 APP全局代理强制把IP转发到代理端口上,关于该软件的使用可以参考
https://blog.csdn.net/weixin_33711647/article/details/92018504
不走http请求
原理:
- app开发者只用tcp去发送请求
解决办法:
- 手机端采用httpcanary抓包(可抓取tcp和http等),获取相应app的请求的服务端ip地址,然后用iptables屏蔽掉这些IP地址
- hook住app发送tcp的相关类,让他只走http
- 直接wireshark手撕tcp(高难度动作,会这波操作时请务必联系我)
写在最后
现在爬虫的门槛越来越高,停止学习的会成为真正意义上的"爬虫工程师",继续学习的会面向监狱编程,加油打工人!!!
欢迎关注"python网络爬虫大数据与逆向工程"公众号,一起学习更多关于网络爬虫和逆向工程方面的知识
爬虫抓包问题全面分析相关推荐
- 【爬虫进行时】手机客户端app爬虫抓包(Fiddler)
鉴于目前会常用到爬虫来采集一些数据以支持和解决问题,开贴记录验证出来的好用的methods.tools.problems 和 solutions. 之前有个需求抓b站的数据,由于当时并不会从手机app ...
- 爬虫进阶:电脑软件手机APP常用的爬虫抓包工具
在学习爬虫进阶路上少不了用到一些抓包工具,今天就给大家隆重推荐6款爬虫抓包神器. 聊一聊:爬虫抓包原理 爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求, ...
- 网络编程_5(超时检测+UNIX域套接字+抓包工具+包头分析)
一二章请点击:网络编程_1(网络基础+跨主机传输) 三四章请点击:网络编程_2(网络属性+UDP(UDP模型+广播组播)) 第五章请点击:网络编程_3(TCP) 第六章请点击:网络编程_4(IO模型) ...
- Python爬虫抓包工具使用
Python爬虫抓包工具使用 一. 常用的工具 python pycharm 浏览器 chrome 火狐 fiddler 2 fiddler的使用 二. 操作界面 三.界面含义 1. 请求 (Requ ...
- wireshark 抓 蓝牙数据_如何使用Wireshark对本机进行抓包、流量分析
本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途! 如何使用Wireshark对本机进行抓包.流量分析-1.jpg (102.32 KB, 下载次数: 0) 2020-2-4 11: ...
- 关于fi dd ler 手机抓包 网卡地址地址_终端抓包与日志分析方法
作为工程师,检测应用是否有收发包常见的方法就是抓包.linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析. 终端 ...
- 网络爬虫---抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)
抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 文章目录 抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 一.抓包分析 1.下载工具并安装 ...
- Android逆向之旅---爆破一款资讯类应用「最右」防抓包策略原理分析
一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...
- 【linux】【tcpdump】linux之tcpdump抓包及wireshark分析详解
linux的tcpdump命令主要用于网络问题的调试中,通过抓取传输过程的数据包进行分析和调试.而wireshark则是一款功能强大,使用方便的数据包分析工具,tcpdump+wireshark组合使 ...
- 网络爬虫抓包使用及通过表单请求
近期,有人将本人博客,复制下来,直接上传到百度文库等平台. 本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平台.如有转载请注明本文博客的地址(链接) 如需源码程序,请联系 ...
最新文章
- Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
- Git版本库创建(包含文件权限设置 Linux环境下)
- SQL Server 扩展事件系列 (1 of 31) -- 扩展事件概述
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解...
- GCC中常用的优化的参数
- java安装找不到uri,【找不到与请求 URI匹配的 HTTP 资源】(转)
- Script component 用法
- 敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程
- 广东省的盆友们,这波退税及时雨你赶上了吗?
- 读写分离方案_项目读写分离方案
- lecture7-序列模型及递归神经网络RNN
- 阶段3 1.Mybatis_07.Mybatis的连接池及事务_1 今日课程内容介绍
- 计算机数据管理阶段,数据管理发展的三个阶段
- 基于Java的实验室预约管理系统
- 狂神 MyBatis
- swoole安装教程人人商城互动直播通信服务启用教程
- 2021年职业院校技能大赛“网络安全”项目江西省A模块
- 2022前端面试(一面面试题)
- Go语言头秃之路(一)
- Find命令搭配atime/ctime/mtime时的日期写法