4.网络技术——网络层:ICMP+ARP协议

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消息类型和编码类型

类型编码描述
00Echo Reply
30网络不可达
31主机不可达
32协议不可达
33端口不可达
50重定向
80Echo 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 命令
  1. 通过点击开始菜单中的“运行”选项,输入“cmd”, 回车即可打开。
    2.输入ping /? ,列出ping的相关参数
    我在这里ping 一个百度的网站

    可以看到我们这里是ping 成功的,而且没有丢包
    我们再来试一下,时间长一点 就会看到不一样的变化,这里就会用到 -t 参数(不停的执行ping)


    手动 Ctrl +C 可以中断命令
    这里就可以看到有一个丢包了。
  2. -l 参数可以设定ping包的大小
    单位为字节,可用于简单测试通信质量

    我这里是ping 的我自己,看一下效果
  3. -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所属端口

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值