分类: LINUX
2014-05-13 21:44:07
IP报头结构:
在给张图片看下ip报头的结构:
计算校验和的经典函数:
}
ICMP报头结构:
}ICMP_HEADER;
在上一张图看看:
ICMP报文的类型:
目的不可达报文
类型:3 | 代码:0至15 | 检验和 |
未使用(全0) | ||
收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 |
源端抑制报文
类型:4 | 代码:0 | 检验和 |
未使用(全0) | ||
收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 |
超时报文
类型:11 | 代码:0或1 | 检验和 |
未使用(全0) | ||
收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 |
参数问题
类型:12 | 代码:0或1 | 检验和 |
指针 | 未使用(全0) | |
收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 |
改变路由
类型:5 | 代码:0到3 | 检验和 |
目标路由器IP地址 | ||
收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 |
回送请求和回答
类型:8或0 | 代码:0 | 检验和 | |
标识符 | 序号 | ||
由请求报文发送;由回答报文重复 |
时间戳请求和回答
类型:13或14 | 代码:0 | 检验和 | |
标识符 | 序号 | ||
原始时间戳 | |||
接收时间戳 | |||
发送时间戳 |
地址掩码请求和回答
类型:17或18 | 代码:0 | 检验和 | |
标识符 | 序号 | ||
地址掩码 |
路由询问和通告
类型:10 | 代码:0 | 检验和 | |
标识符 | 序号 |
类型:9 | 代码:0 | 检验和 | |
地址数 | 地址项目长度 | 寿命 | |
路由器地址1 | |||
地址参考1 | |||
路由器地址2 | |||
地址参考2 | |||
... |