交易所协议分析 · 从抓包到解析

📚 共计 30 章节
01
课程导论
什么是交易所协议?为什么需要分析?课程目标与学习路径。
入门概览
02
网络基础回顾
TCP/IP协议栈、HTTP/HTTPS协议、WebSocket协议基础。
TCP/IPHTTPWebSocket
03
抓包环境搭建
Wireshark安装与配置、tcpdump基础、代理工具(Charles/Fiddler)介绍。
Wiresharktcpdump代理
04
Wireshark实战
过滤规则、追踪TCP流、导出HTTP对象、统计与分析。
过滤TCP流统计
05
HTTPS解密原理
SSL/TLS握手过程、如何配置Wireshark解密HTTPS、中间人代理解密。
SSL/TLS解密中间人
06
WebSocket协议详解
握手过程、数据帧格式、掩码机制、关闭与心跳。
帧格式掩码心跳
07
交易所API概览
REST API vs WebSocket API、认证方式(API Key/Token)、常见接口分类。
RESTWebSocket认证
08
REST API抓包实战
使用Wireshark抓取币安/OKX的REST请求,分析请求头与响应体。
币安OKX请求头
09
WebSocket API抓包实战
抓取交易所实时行情数据,分析订阅与推送消息格式。
实时行情订阅推送
10
数据序列化格式
JSON、Protocol Buffers(Protobuf)、MessagePack、Thrift对比。
JSONProtobufMessagePack
11
JSON解析实战
Python的json模块、处理嵌套结构、性能优化与流式解析。
Python流式性能
12
Protobuf解析实战
定义.proto文件、编译生成Python代码、解析交易所推送的Protobuf数据。
.proto编译推送
13
MessagePack解析
与JSON对比、Python的msgpack库、在低延迟场景下的应用。
msgpack低延迟对比
14
协议逆向工程
如何从二进制数据中推断字段含义、使用Kaitai Struct进行结构化描述。
逆向Kaitai二进制
15
Python网络编程
socket基础、asyncio与aiohttp、websockets库的使用。
socketasynciowebsockets
16
构建抓包脚本
使用scapy库进行网络层抓包、过滤与保存pcap文件。
scapypcap过滤
17
解析pcap文件
使用pyshark库解析pcap、提取HTTP/WebSocket会话、数据清洗。
pyshark会话清洗
18
数据存储方案
CSV、SQLite、Parquet格式选择,以及如何高效存储海量行情数据。
CSVSQLiteParquet
19
行情数据解析
深度数据(Order Book)、K线数据、Ticker数据的结构与解析。
Order BookK线Ticker
20
交易数据解析
订单创建、成交回报、账户余额变动的协议字段与解析。
订单成交余额
21
实时数据流处理
使用Python的队列与多线程处理WebSocket推送,避免数据积压。
队列多线程背压
22
数据校验与异常处理
CRC校验、序列号验证、断线重连机制与数据补全。
CRC重连补全
23
性能优化
使用Cython加速解析、多进程并行处理、内存映射文件。
Cython多进程mmap
24
实战项目一:实时行情监控
从抓包到解析再到可视化展示,搭建实时行情监控系统。
项目可视化监控
25
实战项目二:历史数据回放
构建历史数据回放系统,用于策略回测与协议分析。
回放回测策略
26
安全分析
检测API Key泄露、分析恶意请求、识别协议层面的攻击行为。
安全API Key攻击
27
合规与风控
交易所协议中的风控字段(限频、冻结)、如何通过协议分析进行合规审查。
风控限频合规
28
去中心化交易所(DEX)协议
Uniswap的智能合约事件解析、The Graph索引协议。
DEXUniswapThe Graph
29
新兴协议趋势
gRPC在交易所中的应用、QUIC协议对低延迟交易的影响。
gRPCQUIC低延迟
30
课程总结与进阶
常见问题排查、学习资源推荐、从分析到量化交易的路径。
总结进阶量化