目录
之前有了php-JA3 TLS握手指纹实践 和 php、ja3和tcpdump (TLS握手指纹实践2),两次实践过程。方案一需要ngixn等web服务器配合,方案二则需要tcp_dump的抓包工具配置,始终还是觉得差点意思。近日乱逛发现了纯php开启wss,同时也让在workerman中直接作为https的服务端成功为可以。
让workeman支持TLS
注意php版本和TLS版本的关系,建议 php 7.4 之后的版本
方法见纯php开启wss-魔改下workerman
流量路径
brower => php-ja3-ex(INBOUND) => catch JA3 => php-ja3-ex(OUTBOUND) => php-ja3-ex(https server)
demo
get ja3 only php
源码
项目 Xxx-Bin/php-ja3,具体可见 ja3_tcpdump.php
优点
- 数据共享和处理更为方便
之前使用workerman 的datashare模块进行共享数据,才可以让nginx后面的php-fpm能取得数据。而目这个方案甚至可以直接使用静态变量直接共享数据。虽然我没这么操作,但这里还是得提及一下。
- 链接管理和ja3生命周期
使用tcpdump流量监听的方案,链接由nginx处理,php在关闭链接上并不灵活,而捕获的ja3要在内存中放多久其实是个比较麻烦的问题。而所有流量的由php-ja3-ex处理时,这就不是个太大的问题。
- 部署更方便,这个就不解释
- 功能专一更高效
tcpdump 方案最头疼地方时,他会捕获所有的流量(开过滤只是不解析),等于杀鸡用牛刀。
- 让php-ja3-ex和workman 框架整合提供了可能。