有人可以指导我以下内容吗?
我正在尝试找出答案,如在Blog恶意软件jake [。] blogspot.com/2015/05/packet-analysis-practice-part-3.html中的第一个问题中所示。
根据找到的样本包
什么是嵌入式协议,目标端口以及不包括协议头的数据量?
0x0000: 4500 004c 1986 4000 4006 9cba c0a8 0165
0x0010: c0a8 01b6 0015 bf3c dad0 5039 2a8c 25be
0x0020: 8018 0072 06ec 0000 0101 080a 008a 70ac
以上问题的答案如上所述。
Embedded protocol: TCP
Total packet length: 76
IP Header length: 20
Protocol header length: 32
Data length: 24
Dest Port: 0xbf3c (48956)
除了协议头长度和数据长度外,我设法获得了所有其他答案。
TCP标头长度通常不是20个字节,扩展名最多为40个字节吗?但是如何从上述数据包中导出32个字节?我不明白
谢谢!
答案 0 :(得分:1)
这是直接来自RFC的TCP标头:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
值0015
和bf3c
是端口。
值dad0 5039
和2a8c 25be
是序列号/确认号。
现在看看接下来的4位。偏移为0x20
的那些。字节的值为0x80
,这意味着最高的4位为1000
。它们对应于“数据偏移量”字段:
数据偏移:4位
TCP头中的32位字的数量。这表明在哪里 数据开始。 TCP标头(甚至包括选项在内)是一个 整数的32位长。
所以1000
意味着标题由8 x 32位字组成,这意味着8 x 4字节= 32字节。