使用Wireshark抓包工具

    技术2023-11-19  106

     

    //网络数据包结构头 struct NetMessageHead {     UINT                        uMessageSize;                        ///数据包大小     UINT                        uMainID;                            ///处理主类型     UINT                        uAssistantID;                        ///辅助处理类型 ID     UINT                        uHandleCode;                        ///数据包处理代码     UINT                        uReserve;                            ///保留字段

        NetMessageHead()     {         memset(this, 0, sizeof(NetMessageHead));     } };

    // 回应注册 struct LogonResponseRegister {     int  userID;            //用户ID     char szToken[64];        //用户Token(sessioncode)     char szAccountInfo[64];    //唯一标识     BYTE byFastRegister;    //1-普通注册,2-微信注册,3-QQ注册

        LogonResponseRegister()     {         memset(this, 0, sizeof(LogonResponseRegister));     } };

    抓的这两个结构体拼接包,大小为153字节。

     来尝试解析uMessageSize和uMainID两个字段

    这两个都是四个字节(int)

    十六进制标识方式:

    uMessageSize=00000099

    uMainID=00000064

    换成十进制:

    uMessageSize=00000099=153

    uMainID=00000064=100

     

    再来解析一个复杂的userID

    跳到20个字节后面

     十六进制形式:

    userID=0001d02c

    十进制

    userID=0001d02c=118828

    注意:比如四个字节的十六进制显示是从低位到高位,所以换算要从高位到低位

     

    过滤一台计算机发出跟接收的数据

     

    Processed: 0.011, SQL: 9