TCP + IP 数据包格式:
应用层->TCP层->IP层->网络接口层
TCP层数据包结构:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)
1.TCP包头内存占用24byte:
源主机端口号
目标主机端口号
序号
确认序号
数据偏移
保留
URG/ACK/PSH/
RST/SYN/FIN
窗口
校验和
紧急指针
选项
IP层数据包结构 :IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)
2.IP包头内存占用(20-24bytes):
版本号
IP包头长度
服务类型
IP包总长
标识符
标记
分段序号
生存时间
协议
头部校验
源主机IP地址
目标IP地址
可选项
网络接口层
3.内存占用:
源主机MAC地址
目标主机MAC地址
类型
协议名 |
协议号 |
基 |
IP |
0 |
互连网协议 |
ICMP |
1 |
互连网消息协议 |
GGP |
3 |
网关——网关协议 |
TCP |
6 |
传输控制协议 |
EGP |
8 |
外部网关协议 |
UDP |
17 |
用户数据报协议 |
Xns_IDP |
22 |
Xerox NS IDP |
rdp |
27 |
可靠数据流协议 |
rvd |
66 |
MIT远程虚拟磁盘 |
表1:常见的TCP/IP协议号
端口号 |
关键字 |
基 |
7 |
Echo |
回波 |
9 |
Discard |
丢弃 |
11 |
Users |
活动的用户 |
13 |
Daytime |
日期 |
15 |
Netstat |
网络状态 |
20 |
ftp |
Port方式 |
21 |
ftp |
文件传输协议 |
23 |
Telnet |
远程登录 |
25 |
SMTP |
电子邮件 |
37 |
Time |
时间 |
43 |
Nicname |
别名查询 |
69 |
TFTP |
普通文件传送协议 |
79 |
Finger |
用户信息查询 |
80 |
HTTP |
超文本传输协议 |
101 |
Hostname |
NIC主机名服务 |
110 |
POP3 |
邮局协议离线协议标准 |
表2:专用程序端口号
0000
0010
0020
0030
0040
帧头:
目标主机 Mac:
源主机Mac:
处理类型:
IP包(20字节):
版本号
IP包头长度
IP包总长
标识符
标记
分段序号
生存时间
协议
头部校验
源主机IP地址
目标IP地址
TCP包(24):
源主机端口号
目标主机端口号
序号
确认序号
数据偏移
URG/ACK/PSH/
RST/SYN/FIN
窗口
校验和
紧急指针
选项
0000
0010
0020
0030
0040
0050
0060
0070
0080
0090
00a0
00b0
00c0
00d0
00e0
00f0
0100
0110
0120
帧头:
目标主机 Mac:
源主机Mac:
处理类型:
IP包(20字节):
版本号
IP包头长度
服务类型
IP包总长
标识符
标记
分段序号
生存时间
协议
头部校验
源主机IP地址
目标IP地址
TCP包(24):
源主机端口号
目标主机端口号
序号
确认序号
数据偏移
保留
URG/ACK/PSH/
RST/SYN/FIN
窗口
校验和
紧急指针
选向
数据区
47 45 54 20 2f 69
0050
0060
0070
0080
0090
00a0
00b0
00c0
00d0
00e0
00f0
0100
0110
0120
原出处:http://blog.sina.com.cn/ybstudio