前言

很明显如果你抓不到包,那么写爬虫程序是一件无法下手的事情

目前很多公司越来越多的业务都转向到app端,那么app抓包就成为爬虫工程师必不可少的技能。从某种角度上讲,防止被抓包也是反爬的一种形式。下面将从各个方面讲解app抓包技巧, 讲解会遇到的各个问题及其相应的解决办法

网络七层模型


既然说到网路抓包,那么我们从网络七层模型开始说起,其实pc端爬虫往往只会关注应用层的数据抓包,但是很多大厂 的app已经很难从应用层抓到数据包,往往需要去解析传输层的数据,或者我们必须规避app去走tcp

抓包分析

其实我们很想能在应用层就抓到数据包,但是当我们打开fiddler抓包时,却会发现抓出来的包有一把锁

都是锁这特娘的怎么干活

下面我们对这些情况都分下类:

  1. 挂上代理后app提示没有网络,断开代理后app正常访问(证书验证)
  2. 挂上代理后app能正常访问,但是fiddler抓不到任何数据(不走代理)
  3. 挂上代理后app能正常访问,fiddler能抓到部分数据包,但是无法抓到关键数据包(发tcp)


以上就是应用层抓包你会遇到的所有问题

下面我们一个个来解决问题,在解决你的这些问题之前请确保你已经将fiddler证书安装到手机的根目录
(安卓7.0以上系统不再信任用户安装的任何证书)
可以参考这篇文章

https://blog.csdn.net/weixin_44249131/article/details/104650275

证书验证

原理:
app(客户端)往往带有ssl ping证书验证,而代理是无法直接带着真实的证书给到app客户端校验的,
解决办法:

  1. 选择 xposed的JustTrustMe模块,该模块是hook了Java层的主要网络请求库例如okhttp,UrlConnection等,让app不再去验证证书
  2. 如果方法1失败了,那么可能是开发者自己改写了网络请求库,那么你可以选择去追踪一下app的网络请求源码,去hook住那个请求库
  3. 直接获取apk的证书和证书密码(需要反编译),将证书安装到Charles就能顺利抓包

不走代理

原理:

  • 安卓开发者可以设置apk不走代理

解决办法:

  • android proxydroid 代理 APP全局代理强制把IP转发到代理端口上,关于该软件的使用可以参考
    https://blog.csdn.net/weixin_33711647/article/details/92018504

不走http请求

原理:

  • app开发者只用tcp去发送请求

解决办法:

  1. 手机端采用httpcanary抓包(可抓取tcp和http等),获取相应app的请求的服务端ip地址,然后用iptables屏蔽掉这些IP地址
  2. hook住app发送tcp的相关类,让他只走http
  3. 直接wireshark手撕tcp(高难度动作,会这波操作时请务必联系我)

写在最后

现在爬虫的门槛越来越高,停止学习的会成为真正意义上的"爬虫工程师",继续学习的会面向监狱编程,加油打工人!!!

欢迎关注"python网络爬虫大数据与逆向工程"公众号,一起学习更多关于网络爬虫和逆向工程方面的知识

爬虫抓包问题全面分析相关推荐

  1. 【爬虫进行时】手机客户端app爬虫抓包(Fiddler)

    鉴于目前会常用到爬虫来采集一些数据以支持和解决问题,开贴记录验证出来的好用的methods.tools.problems 和 solutions. 之前有个需求抓b站的数据,由于当时并不会从手机app ...

  2. 爬虫进阶:电脑软件手机APP常用的爬虫抓包工具

    在学习爬虫进阶路上少不了用到一些抓包工具,今天就给大家隆重推荐6款爬虫抓包神器. 聊一聊:爬虫抓包原理 爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求, ...

  3. 网络编程_5(超时检测+UNIX域套接字+抓包工具+包头分析)

    一二章请点击:网络编程_1(网络基础+跨主机传输) 三四章请点击:网络编程_2(网络属性+UDP(UDP模型+广播组播)) 第五章请点击:网络编程_3(TCP) 第六章请点击:网络编程_4(IO模型) ...

  4. Python爬虫抓包工具使用

    Python爬虫抓包工具使用 一. 常用的工具 python pycharm 浏览器 chrome 火狐 fiddler 2 fiddler的使用 二. 操作界面 三.界面含义 1. 请求 (Requ ...

  5. wireshark 抓 蓝牙数据_如何使用Wireshark对本机进行抓包、流量分析

    本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途! 如何使用Wireshark对本机进行抓包.流量分析-1.jpg (102.32 KB, 下载次数: 0) 2020-2-4 11: ...

  6. 关于fi dd ler 手机抓包 网卡地址地址_终端抓包与日志分析方法

    作为工程师,检测应用是否有收发包常见的方法就是抓包.linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析. 终端 ...

  7. 网络爬虫---抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)

    抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 文章目录 抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 一.抓包分析 1.下载工具并安装 ...

  8. Android逆向之旅---爆破一款资讯类应用「最右」防抓包策略原理分析

    一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...

  9. 【linux】【tcpdump】linux之tcpdump抓包及wireshark分析详解

    linux的tcpdump命令主要用于网络问题的调试中,通过抓取传输过程的数据包进行分析和调试.而wireshark则是一款功能强大,使用方便的数据包分析工具,tcpdump+wireshark组合使 ...

  10. 网络爬虫抓包使用及通过表单请求

    近期,有人将本人博客,复制下来,直接上传到百度文库等平台. 本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平台.如有转载请注明本文博客的地址(链接) 如需源码程序,请联系 ...

最新文章

  1. Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
  2. Git版本库创建(包含文件权限设置 Linux环境下)
  3. SQL Server 扩展事件系列 (1 of 31) -- 扩展事件概述
  4. 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解...
  5. GCC中常用的优化的参数
  6. java安装找不到uri,【找不到与请求 URI匹配的 HTTP 资源】(转)
  7. Script component 用法
  8. 敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程
  9. 广东省的盆友们,这波退税及时雨你赶上了吗?
  10. 读写分离方案_项目读写分离方案
  11. lecture7-序列模型及递归神经网络RNN
  12. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_1 今日课程内容介绍
  13. 计算机数据管理阶段,数据管理发展的三个阶段
  14. 基于Java的实验室预约管理系统
  15. 狂神 MyBatis
  16. swoole安装教程人人商城互动直播通信服务启用教程
  17. 2021年职业院校技能大赛“网络安全”项目江西省A模块
  18. 2022前端面试(一面面试题)
  19. Go语言头秃之路(一)
  20. Find命令搭配atime/ctime/mtime时的日期写法

热门文章

  1. CentOS下MySQL安装失败,报socket '/tmp/mysql.sock错误解决方法
  2. git 远程仓库和本地仓库建立连接
  3. 浅析大数据与人工智能
  4. 基于java学生信息管理系统
  5. 小话设计模式(十三)职责链模式
  6. 解决Access数据库突然变得很大的方法
  7. word 分栏后转html,word分栏后怎么到另一栏
  8. HLS中pragma的归纳总结(入门级)
  9. SAE 联合乘云至达与谱尼测试携手共同抗疫
  10. 冯言冯语说DSP(二)序列的z变换