title: "QQ协议分析" description: "QQ协议分析" date: "2014-04-16" categories: - "protocol" slug: "qq-protocol"
它主要支持与其它QQ客户端进行文字聊天. TCPF是建立在UDP协议之上. UDP数据包中的第一个字符02为这个协议族的标识. TCPF的服务器使用8000号端口, 腾讯的QQ客户端软件一般从4000号端口开始尝试使用, 但实际上, 对客户端使用的端口号并没有限制. 目前的研究集中在TCPF上.
在PC(Windows)上使用wireshark对qq客户端进行抓包, 使用oicq
进行过滤, 即为TCPF协议.
对于TCPF包我们又把它分为5类:
所有TCPF包的前7个字节是包头, 包头可以识别TCPF包的内容. 包头的格式为:
所有的TCPF包都以0x03作为包尾.
qq使用UDP端口8000作为主要通信端口, 端口HTTP(80)和HTTPS(443)也是可接受的. 客户端会尝试连接8000端口, 如果失败他会自动尝试80和443端口.
wireshark/epan/dissectors/packet-oicq.c
对qq协议的判定不过准确, 只能识别出是udp,和8000端口的ndpi/src/lib/protocols/qq.c
解析的跟强