使用Wireshark抓包工具

 

//网络数据包结构头
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字节。

使用Wireshark抓包工具

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

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

十六进制标识方式:

uMessageSize=00000099

uMainID=00000064

换成十进制:

uMessageSize=00000099=153

uMainID=00000064=100

 

再来解析一个复杂的userID

跳到20个字节后面

使用Wireshark抓包工具

 十六进制形式:

userID=0001d02c

十进制

userID=0001d02c=118828

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

 

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

使用Wireshark抓包工具

 

相关文章: