目录
1 网络层定义及功能
1.1 网络层定义
网络层位于OSI七层参考模型之中,
OSI 七层参考模型从低到高依次是 :物理层,数据链路层,网络层,传输层,会话层,表示层,应用层,
主要的物理媒介是路由器
1.2 网络层功能
网络层的功能:
(1)定义了基于IP协议的逻辑地址
(2)连接不同的媒介类型
(3)选择数据通过网络的最佳路径
2. 网络层协议——ICMP协议
2.1 IP数据包格式
版本:包含的是IP的版本号
首部长度:表示IP数据包头长度,具体长度取决于字段的长度
优先级与服务类型:表示数据包的优先级和服务类型,优先处理
总长度:整个数据包的长度,最长为65535字节,包括包头和数据
标识符:表示数据的标识,便于接收借点可以重组被分片的数据
标志:标志字段,一般与分片一起用来传递信息 MTU 最大传输单元
段偏移量:表示段偏移量,数据包重组
TTL(Time To Live):表示数据的生命周期,阻碍数据无休止的传输,加一个时间,有限制作用
协议号:协议字段,TCP 的协议号是16,UDP的协议号是17
首部校验和:为了数据传输的完整性正确性
源地址:发送端的目的地址
目标地址:接收端的目的地址
可选项
2.2 ICMP协议的定义跟功能
2.2.1 ICMP协议的定义:
ICMP协议是网络层的协议,全称是(Internet Control Message Protocol),意思是 “Internet 控制消息协议”,主要用于数据在网络中传输所引发的问题的反馈。
2.2.2 ICMP协议的功能:
ICMP协议是一个“错误侦测与回馈机制”,通过IP数据包封装的,用来发送错误和控制消息。
2.2.3 ICMP协议的封装过程:
2.3 ICMP消息类型和编码类型
类型 | 编码 | 描述 |
---|---|---|
0 | 0 | Echo Reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
5 | 0 | 重定向 |
8 | 0 | Echo Request |
|:--------😐 -------------😐
我们常用的是类型0-3-8 的种类,具体可以用抓包软件进行抓包,能够清晰地看到各个代码的展示。
2.4 ICMP协议的基本命令
2.4.1 ping命令
ping (Packet Internet Groper)
用于测试网络连接量的程序,是否可以ping通
ping和ICMP的关系:ping命令发送数据使用的是ICMP协议。
ping命令的基本格式
ping [-t] [-a] [-l 字节数][-i ] IP_Address|target_name
2.4.2 验证ping 命令
- 通过点击开始菜单中的“运行”选项,输入“cmd”, 回车即可打开。
2.输入ping /? ,列出ping的相关参数
我在这里ping 一个百度的网站
可以看到我们这里是ping 成功的,而且没有丢包
我们再来试一下,时间长一点 就会看到不一样的变化,这里就会用到 -t 参数(不停的执行ping)
手动 Ctrl +C 可以中断命令
这里就可以看到有一个丢包了。 - -l 参数可以设定ping包的大小
单位为字节,可用于简单测试通信质量
我这里是ping 的我自己,看一下效果
- -a 参数可以显示主机名称
3. 网络层协议——ARP协议
ARP 是“Address Resolution Protocol”(地址解析协议)的缩写,将一个已知的IP地址解析成MAC地址,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
3.1 ARP协议的工作原理
IP地址解析为MAC地址的过程:💕
例如,同一个局域网里面,当PC1需要跟PC2进行通信时,此时PC1是如何处理的?
1)PC1发数据给PC2,查看ARP缓存里面有没有PC2的MAC地址
2)PC1发送ARP请求消息 (广播)
3)所有主机收到ARP请求消息
PC2回复ARP应答 (单播)
其他主机丢弃
给PC1指令-“ping ip2”,这就告知了目的IP,此时PC1便有了通信需要的源目IP地址,但是PC1仍然没有通信需要的目的MAC地址。这就好比我们要寄一个快递,如果在快递单上仅仅写了收件人的姓名(IP),却没有写收件人的地址(MAC),那么这个快递就没法寄出,因为信息不完整。
这时候ARP缓存表就会泛洪,得到3跟4的回应,看到PC1和PC2进行了一次ARP请求和回复过程,通过这个交互工程,PC1便具备了PC2的MAC地址信息。
PC1还会将PC2的MAC信息放入ARP缓存表,表里面放置了IP和MAC地址的映射信息,然后我们就可以重新进行一次ping 的操作,就可以实现相互通信,这是一个单播
这里要注意的是是"缓存"表,有时效性,并且如果电脑或者通信设备重启的话,这张表就会清空;也就是说,如果下次需要通信,又需要进行ARP请求。在我们的dos系统下,可以通过命令行"arp -a"查看
3.2 ARP数据报文的格式
op 请求消息
交换机记录的是 MAC和接口的关系
RAP记录的是MAC和IP地址的关系
3.3 ARP相关命令
windows系统中的ARP命令:
arp -a 查看ARP缓存
arp -d 清除ARP缓存
arp 绑定
3.4 ARP的攻击与欺骗
ARP攻击原理
通过伪造IP地址和MAC地址的对应关系,使得网络无法正常通信。
ARP欺骗原理
欺骗源把自己伪装成网关(或另一台主机),向局域网内的目标主机发送ARP应答报文,使得局域网内的主机误以为欺骗源的MAC地址是网关(或另一台主机)的MAC地址,并将原本流向网关(或另一台主机)的数据都发送到欺骗源。
3.5 ARP故障处理
使用ARP防火墙,自动抵御ARP欺骗和攻击
1)在主机B上开启ARP防火墙
2)在主机A上开启长角牛网络监控机,模拟ARP病毒发作
3)查看ARP防火墙统计数据的变化
4)在主机B上测试与网关的连通性
查找ARP 攻击的计算机
MAC地址为真实计算机地址,查看网络信息记录表迅速定位计算机
MAC地址为虚假地址,查看交换机的MAC地址表,确定此MAC所属端口