15、IP协议分析与静态路由
15、IP协议分析与静态路由
一、IP协议基本特点
IP包头的长度:20-60字节
IP包的分片技术:IP包超过MTU(中国是1500字节)时,需要进行分片。
二、IP协议包头分析
版本
IP地址版本 IPV4、IPV6。
IPV4地址:32位bit; IPV6地址:128位bit。
首部长度
标识IP包头的长度。
优先级与服务类型
总长度
标识整个IP包的长度。
段偏移量
标识IP包的分片顺序/位置
标识符
一个数据流的标识,或者说一组被分片的IP包的统一标识符。
标志
第一位 永远为0(保留)
第二位 0标志着IP包被分片,1标志着IP包没被分片
第三位 1标志着不是最后一个分片 0标志着是最后一个分片
首部校验和 相当于二层的FCS
校验IP包头前20字节的数据是否完整。
TTL Time To Live
生存时间:经过路由器的跳数,一旦经过的路由器的次数超过了设置的TTL就丢弃该包。
TTL范围:1-255(8位)
Windows系统TTL一般为128、Linux系统一般为1-128之间,如56、64。
如果返回的包中TTL是255,说明这个地址是在企业级的路由器,也就是网关。
协议号
作用是区分上层协议
TCP=6; UDP=17;ICMP=1
三、IP分片攻击/Tear Drop 泪滴攻击
通过修改段偏移量值,导致IP包重组失败,CPU可飙到100%,XP后修复了该漏洞。重组失败会直接丢弃,但仍然可以作为攻击手段。
现在Tear Drop属于DDos攻击,一直循环发错误的段偏移量IP包,仍然可以攻击。
四、静态路由
动态路由:路由器之间可以交换学习彼此的路由表。(占用带宽、占用CPU、价格比较高;方便,无需手工配置)
静态路由:手工写路由表。
路由表:路由器转发数据的依据
1 | 路由条目类型(C 直连网段、 S 静态配置、S* 默认路由)| 目标网段 | 方向(接口 或者IP地址/下一跳) |
路由表的初始学习:接口配置好开机后,路由表自动形成,并写入路由器上接口的网段地址(前提是所直连的网段可通,也就是对应设备在开机状态、有信号)。例如:C 网段地址 接口号。
路由器对数据包的丢弃:路由器在转发数据包时,如果发现路由表里没有目的网段,则会直接丢弃并反馈信息。
路由器对路由表条目的查询顺序:
按照优先级顺序匹配路由条目,路由条目的优先级与管理距离值成反比,简单点说先看C、再看S、再看S*
管理距离值:每一个路由条目类型都有一个默认的管理值。C=0, S=1, S*=无穷大
所以路由条目类型的优先级为:C > S > S*
默认路由:S* 0.0.0.0/0 VIA 共同方向
称为默认路由。0.0.0.0(ip) 0.0.0.0(netmask) 代表所有网段。一般给边缘路由器(通向其他网段只有一条路)或多条目标网段相同的路由条目使用默认路由进行优化。
浮动路由:配置路由时通过提高路由条目的管理距离值,来实现备用路由的启用。
五、默认路由配置的注意事项(会引起路由环路)
两个直连的路由器不要互相指向默认路由,这样的话,一旦出现错误的未知网段的数据包就会在两个默认路由之间互相传递形成路由环路,直到TTL耗尽。(两个直连路由器之间放一个正常静态配置的路由器就不会出现这种问题,这是因为发现未知网段的数据包直接处理。)
六、实验
路由器选择2811,同种设备互连使用交叉线(PC和路由器视作同种设备)。
1、配置所有IP地址,并启动
2、写路由(静态+默认)
查看路由表
1 show ip route静态配置路由表
1
2
3 conf t
ip route 目标网段 目标网段子网掩码 下一跳IP地址 //静态配置路由网段
ip route 0.0.0.0 0.0.0.0 下一跳IP地址 //默认配置所有网段0.0.0.0 0.0.0.0 代表所有网段。
静态配置浮动路由
实际就是通过提高路由条目的管理距离值,来实现路由的备份。
1 ip route 目标网段 目标网段子网掩码 下一跳IP地址 管理距离值 //静态配置路由网段并配置管理距离值,也称为配置浮动路由(一般用于做备用网段配置)