现在服务端可以识别抓包了嘛? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ErenJaeger

现在服务端可以识别抓包了嘛?

  •  
  •   ErenJaeger Jun 9, 2021 4909 views
    This topic created in 1785 days ago, the information mentioned may be changed or developed.

    用 Charles 抓包,知乎可以正常获取到数据,但是抓豆瓣就一直超时了,看请求也都是 unknown 。

    20 replies    2021-06-16 17:35:07 +08:00
    mht
        1
    mht  
       Jun 9, 2021
    SSL 证书没配置吧
    newmlp
        2
    newmlp  
       Jun 9, 2021   1
    有些客户端做了证书固定,除了自己的证书谁的证书都不信任
    libook
        3
    libook  
       Jun 9, 2021
    只要你最终是用官方的证书来发起 HTTPS 请求的,理论上服务端是无法知道你有没有做抓包的。

    那么就只能是客户端不认自签证书,这个只要你破解了客户端,服务端应该是一点办法都没有。

    TLS 只能解决 TLS 通信过程中的中间人问题,不能解决 TLS 通信之前的中间人问题。
    bruce0
        4
    bruce0  
       Jun 9, 2021
    https 抓包就是中间人攻击, 欺骗客户端和服务器, 有很多种方式可以防范, 很多 app 内置私有证书,服务端只信任自己的私有证书
    https://zhuanlan.zhihu.com/p/46433599 这里有详细介绍
    ErenJaeger
        5
    ErenJaeger  
    OP
       Jun 9, 2021
    @mht 配置了,证书都安装好了,不然 https 的都解密不了
    ErenJaeger
        6
    ErenJaeger  
    OP
       Jun 9, 2021
    @newmlp 淦,这种有解决的方法吗?
    ErenJaeger
        7
    ErenJaeger  
    OP
       Jun 9, 2021
    @bruce0 谢谢老哥,我去研究一下
    ErenJaeger
        8
    ErenJaeger  
    OP
       Jun 9, 2021
    @libook 这种方式该如何实现呢,用 Charles,fidder 这些做代理,可以配置对应的证书吗?
    heart4lor
        9
    heart4lor  
       Jun 9, 2021   2
    https://www.sunyongfei.cn/archives/213/ 我写过一篇博客介绍 hook 绕过本地 https 证书认证,可以参考下看有没有帮助,服务端是无感知的
    ZhaoHuiLiu
        10
    ZhaoHuiLiu  
       Jun 9, 2021
    我就纳闷。。。都手机 app 应用了,直接用 socket 通信,私有加密算法,你抓包抓什么呢?
    ErenJaeger
        11
    ErenJaeger  
    OP
       Jun 9, 2021
    @heart4lor 感谢老哥,我去拜读一下
    duan602728596
        12
    duan602728596  
       Jun 10, 2021
    我之前是通过越狱了的手机安装 ssl-kill-switch2 抓的
    libook
        13
    libook  
       Jun 10, 2021
    @ErenJaeger #8 其他楼都提到了,抓包其实本质上就是中间人攻击,就是你在 A 、C 通信的时候中间加了个 B,就变成了 A 到 B,然后 B 到 C,B 就是这个抓包工具,A 到 B 是使用 B 的证书来通信的,B 到 C 是使用 C 的证书来通信的,大多数 A 都不会管通信时是用谁的证书,只要有证书就行,所以大多情况你可以直接在设备上装抓包软件的证书就可以直接抓包,但是你目前遇到的情况可能是 A 只认 C 的证书,你让 A 用 B 的证书被 A 拒绝了,所以抓不到数据。

    要想解决问题只能让 A 接受 B 的证书,这个涉及到破解 A 的程序,修改算法让其接受 B 的证书,这个属于逆向工程的领域,技术门槛比较高。
    locoz
        14
    locoz  
       Jun 10, 2021 via Android   1
    补充一下,服务端检测方面除了 @libook #3 说的证书方面的检测以外,实际上还可以通过 ssl 指纹进行检测,因为不同软件、系统使用的 ssl 库是不一样的,能支持的加密套件、版本号啥的也都是不一样的,产生出来的特征就相对比较独特。

    所以对于 app 而言,如果对方把抓包工具的特征记录了下来,或者在客户端上对 ssl 层做了一个特别的特征,而代理软件发出的 ssl 握手请求却不符合正常的特征,那就肯定有问题。

    另外,如果在客户端上检测的话花样就更多了,只不过没啥意义,太容易被 hook 一下就解决掉,还不如套个别的协议来得直接。比如 @ZhaoHuiLiu #10 说的“直接用 socket 通信,私有加密算法”,在实际应用的时候可以是先基于 TCP/UDP 定一套私有协议,然后套上加密,再在这套私有协议里跑 HTTP,其实也就是科学上网工具用的方法。这方面比较典型的实际应用案例就是腾讯的维纳斯,大众点评啥的直接抓包抓不到就是因为这个。
    locoz
        15
    locoz  
       Jun 10, 2021 via Android
    @locoz #14 (客户端对证书做检测这种就是典型的能被 hook 一下就解决掉的操作,看着花里胡哨实际没啥难度
    julyclyde
        16
    julyclyde  
       Jun 10, 2021
    Charles 这就不叫抓包
    qwerthhusn
        17
    qwerthhusn  
       Jun 10, 2021
    @julyclyde 为什么不叫抓包,Charles 和 Fiddler 也是抓包,只不过同时把包二次包装发给服务器或者客户端
    unco020511
        18
    unco020511  
       Jun 10, 2021
    怎么就成中间人攻击了,TLS 是安全的,你被抓包是因为你主动在你自己的设备中安装了第三方的证书,第三方才可以读取你的数据,这不是协议的问题,这是你自己的问题啊
    /td>
    julyclyde
        19
    julyclyde  
       Jun 10, 2021
    @qwerthhusn sniff 才能叫抓包
    charles 这叫中间人攻击
    ErenJaeger
        20
    ErenJaeger  
    OP
       Jun 16, 2021
    这种方式可以解决,我目前用的是将 charles 的证书放在系统证书目录下,在模拟器里面抓的
    About     Help     Advertise     Blog     API     FAQ     Solana     3169 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 61ms UTC 13:36 PVG 21:36 LAX 06:36 JFK 09:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86