Type2 message是proxy收到client含有type1 message请求时候返回的消息,经过base64扰码后,放置在Proxy-Authentication中。下面来描述一下它的结构。
0-7字节: char protocol[8] 表明属于NTLMSSP协议,依次位'N', 'T', 'L', 'M', 'S', 'S', 'P', '/0' |
8-11字节 unsigned int type 为0x02000000(little-endian的方式),即为2,表示是type2 message |
12-19字节,表明target name的信息 12-13:target name的长度 14-15:target name分配得长度 16-19:target name的存放的偏移量 |
20-23字节,flags 详细见http://blog.sina.com.cn/s/blog_5cf79a900100c1b6.html中关于type1 message中的flags |
24-31字节 server给出的随机数 challenge挑战值,也就是server给出得8个字节的nonce |
32-39字节 context 可选项,可全部填0 |
40-47字节,表明target info的信息 40-41:target info的长度 42-43:target info分配的长度 44-47:target info的存放偏移量 |
48-55字节:可选 OS的信息,这么麻烦,干脆不使用 |
target name |
target info |
相关链接:我的网络通信相关文章
NTLM的实现:
-
- 实现PROXY穿越(16):NTLM的PROXY穿越
- 实现PROXY穿越(15):NTLM Session Security
- 实现PROXY穿越(14):NTLM type3 Message
- 实现PROXY穿越(13):NTLM type2 Message
- 实现PROXY穿越(12):NTLM type1 Message
- 实现PROXY穿越(11):NTLMv2 session response
- 实现PROXY穿越(10):NTLMv2 response
- 实现PROXY穿越(9):NTLMv1 response
- 实现PROXY穿越(8):NT-Hash的实现
- 实现PROXY穿越(7):MD4和MD5
- 实现PROXY穿越(6):LM-Hash的实现
- 实现PROXY穿越(5):DES算法之三
- 实现PROXY穿越(4):DES算法之二
- 实现PROXY穿越(3):DES算法之一
- 实现PROXY穿越(2):Base64算法
- 实现PROXY穿越(1):流程和NTLM算法