IP包头的格式
从版本到可选项最小20个字节,最长60个字节
版本(4)4指的是占了4个位,也就是四个比特,电脉冲,版本为IPv4
首部长度:标识IP包头的长度
优先级(3)与服务类型(4):
2层帧头3层包头4层包头5层数据2层帧头
345层是IP包长度为4040个字节在发送时不能一次全部发送,需要断开
不能从五层数据中断开,因为在中间的数据中没有源IP地址和目标IP地址
应该有三个“导游”
三个包头里有一个值(段偏移量:除第一个都是1480的倍数)是不一样的,不一样的值决定它们发送顺序,只有段偏移量是不够的,如果发送两句话,包头的段偏移量时一样的就会发生数据串联,所以就有了标识符(16,也叫id号),先看标识符再看段偏移量,标识符是由发送端随机生成的,id号一样就是来自一个报文的。
标志(3):中的第1个的字节时为开发利用的,中间的字节是生平有没有分片,分片为0,未分片为1,一般为一,最后一个字节决定是不是最后一个分片,是最后一个就为0,不是为1.
TTL(8):生存时间,防止一个数据包在电脑里永久循环
首部校验和:相当于一个fas,检验三层IP包头
路由概述:
路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程(路由器为IP包选择路径的过程)
1路由表:
C 10.1.1.0/24 F0/0 C 20.1.1.0/24 F0/1 C是连续,直连
S 70.1.1.0/24 20.1.1.2(下一跳地址)
S 30.1.1.0/24 20.1.1.2 S代表手工配的
S 40.1.1.0/24 20.1.1.2 都可以用默认路由来代替
S 50.1.1.0/24 20.1.1.2 S* 0.0.0.0/0(八个0) 20.1.1.2
S 60.1.1.0/24 20.1.1.2
2的路由表:
S 10.1.1.0/24 20.1.1.1 S 70.1.1.0/24 60.1.1.2
S 40.1.1.0/24 30.1.1.2 这两个都可以用默认路由来代替
S 50.1.1.0/24 30.1.1.2 S* 0.0.0.0/0 30.1.1.2
优先级:C,S,S*(优先级递减)
静态路由:conf t
ip route 目标路段 子网掩码 下一跳IP
如:ip route 70.1.1.0 255.255.255.0 20.1.1.2
浮动路由:在静态或默认路由后加空格+数字(正整数)
ip route 0.0.0.0 0.0.0.0 30.1.1.1 2
ARP协议(地址解析协议):将一个已知的IP地址解析成MAC地址
广播:将广播地址作为目的地址的数据桢
广播域:网络中能接收到同一个广播所有节点的集合
MAC地址 广播地址:FF-FF-FF-FF-FF-FF
IP地址广播:255.255.255.255
广播IP地址为IP地址网段的广播地址,如,192.168.1.255/24
ARP的原理:PC1与PC2第一次通信
1.使用ipconfig/all 查看ARP缓存
2.用“arp-a”查看ARP缓存
3.在PC1上pingPC2后,再用“arp-a”查看ARP缓存表
(简言之,ARP广播请求,ARP单播应答)
ARP命令:
arp -a:查看ARP缓存表
arp -d:清除ARP缓存
arp -s:ARP绑定
ARP攻击原理
伪造虚假ARP报文广播或单播,如果MAC地址不存在,就会造成终端通信(断网)的现象
ARP欺骗原理
伪造虚假ARP报文广播或单播,如果MAC地址为攻击者自己的地址,则可以监听、窃取、篡改、控制流量但不中断通信
ARP的漏洞:ARP协议没有验证机制
可以配IP的才有MAC地址
中间的数据桢从DD端口到达了EE端口,然后路由器判断这个数据桢是不是传输给我的,如果是就把前面的目标MAC地址和源MAC地址删去
在路由表里找下一跳的MAC地址,如果有直接传输,没有就广播寻找,
路由器的原理:
1)一个桢到达路由,路由器首先检查目标MAC地址是否为自己,如果不是则丢弃,如果是则解封装,并将IP包送到路由器内部
2)路由器检查IP包头中的把目标IP,并匹配路由表,如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口
3)封装桢,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到桢中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的MAC地址,再记录缓存,并封装桢,最后将桢发送出去
ARP攻击防御:
1.静态ARP绑定 手工绑定/双向绑定(缺点:保存不了,工作量太大)
Windows客户机上:arp -s 10.0.0.252 00-01-2c-a0-e1-09
2.ARP防火墙 自动绑定静态ARP 主动防御
3.硬件级防御交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或做静态绑定
如:conf t
ip dhcp snooping
int range f0/1 - 48