网络层协议介绍 理论详解
1.IP数据包格式(重点)
2.ICMP协议介绍(其次)
3.ARP协议介绍
4.ARP攻击原理
网络层的功能
-
定义了基于IP协议的逻辑地址
-
连接不同的媒介类型
-
选择数据通过网络的最佳路径
1.IP数据包格式
包头的格式结构:
版本(4bits):代表IP版本信息,IPV4的长度是32位,IPV6的长度是128位
首部长度(4bits):只指包头固定长度,包头头部数据20个字节,有效数据不算在内
优先级与服务类型(8bits):区分哪些是加急的,比如说迅雷下电影与qq聊天同步进行;车道中的救护车,警车,具有链路优先通过权。服务类型QoS;
总长度(16bits):包含上层数据,最多1500字节,其中包头数据20字节,有效数据1480字节;2^16-1就是65535,即1500字节;
标识符(16bits):确定上层数据顺序,给数据包打标记
标志(3bits):指后续是否是最后一个数据包
段偏移量(13bits):数据包到达目的地后进行重新组合连接
泪滴攻击原理,就是更改偏移量,占用CPU资源;解决方法就是对有误差的数据包进行丢弃处理;
TTL(8bits):生命周期,每经过1个路由器,生命减少1,目的是防止数据包在路由器内打环
192.168.4.0地址在里面打环,会把链路堵塞
协议号(8bits): 指示IP数据包封装的是哪些协议,比如协议号6的TCP,协议号17的UDP ; (ospf icmp也有)
首部校验和(16):验证合法性
源地址(32bits):发送方的IP地址
目标ip地址(32bits):接收方的IP地址
可选项:保留,不做为使用
数据:上层传输层数据,包含TCP,/UDP传输层头部
2.0 ICMP协议介绍
1.ICMP是一个“错误侦测与回馈机制”
2.通过IP数据包封装
3.用来发送错误和控制消息
2.1 ICMP协议的封装
1.ICMP协议属于网络层协议
2.ICMP数据的封装过程
ICMP封装在数据包中的上层数据中
2.2 Ping 命令
- ping命令的基本格式为
C: >ping [-t] [-l 字节数] [-a] IP_Address| target_name
微软系统默认发四个数据包,ctrl+c中断[-t]模式的持续发送
[ -a] 查看主机名称
- ping命令的返回信息
3.ARP协议概述
1.局域网中主机的通信
IP地址与MAC地址
2.ARP协议
即Address Resolution Protocol,地址解析协议,将一个已知的IP地址解析成MAC地址
(RARP把MAC解析成IP,逆地址解析协议)
缓存即是自身的ARP缓存表
ARP表可以人工配置,也可以借助ARP协议自动获取
ARP协议本质上是一个广播
应答ARP报文是单播
ARP广播
PC1 发送数据帧
广播帧四要素:源IP 10.0.0.1
源MAC 00-00-00-11-11-11
目标IP 10.0.0.2
目标MAC FF-FF-FF-FF-FF-FF
PC2 ARP缓存表
IP地址· MAC地址 状态
10.0.0.1 00-00-00-11-11-11 动态
PC2发送给PC1
源IP 10.0.0.2
源MAC 00-00-00-22-22-22
目标IP 10.0.0.1
目标MAC 00-00-00-11-11-11
3和4也会记录源地址
arp动态缓存表老化时间120s
3.ARP相关命令
Windows系统中的ARP命令
arp -a:查看ARP缓存表
arp -d:清除ARP缓存
ARP绑定:arp -s ip mac
清除arp缓存会清掉静态的,很少有人用
Cisco系统中的ARP命令
Router#show arp :查看ARP缓存表
router#clear arp-cache :清除ARP缓存
Router(config)#arp 1.1.1.1 0011.1111.1111 arpa :arp绑定
4.ARP原理演示
4.ARP攻击原理
这种方法可以造成PC1无法与网关通信,无法上网
PC2可以接收到PC1的所有信息
这个操作是在二层链路的基础上操作的,可以利用ARP欺骗去管理网络,比如通过长角牛网络监控机软件管理网络,通过设置监控范围,进行网络管理