目录
3.2.1 ip地址解析成mac地址(工作原理)******
一、ip数据包格式***
1.1 网络层的功能
- 定义了基于ip协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径***
1.2 协议字段(重点)
版本(4) | 首部长度(4) | 优先级与服务类型(8) | 总长度(16) | |
标识符(16) | 标志(3) | 段偏移量(13) | ||
ttl(8) | 协议号(8) | 首部校验和(16) | ||
源地址(32) | ||||
目标地址(32) | ||||
可选项 | ||||
数据 |
- 版本号(4bit):指ip协议版本。并且通信双方使用的版本必须一致,目前我们使用的是ipv4,表示为0100
- 首部长度(4):ip数据包的包头长度
- 优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现 qos(服务质量)的要求。
注:定义ip数据包是否优先传送
- 总长度(16):定义ip数据包的总长度,最长为 65535 字节,包括包头和数据。
注: ip头部 数据段 可能 20字节 也有可能多 总长度加上数据段长度 最长为 65535 字节
- 标识符(16):该字段用于表示ip数据包的标识符。当ip对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包
- 标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出
- 段偏移量(13):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
- ttl生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1,当ttl的值为0时,该数据包将被丢弃
- 协议号(8):封装的上层哪个协议,icmp:1 tcp:6 udp:17
- 首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报没经过一次路由器,都要重新计算一下首部校验和(因为一些字段如生存时间、标志、片偏移等可能发生变化)
- 源地址(32):源ip地址,表示发送端的ip地址
- 目标地址(32):目标ip地址,表示接收端的ip地址
- 可选项:选项字段根据实际情况可变长,可以和ip一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据
注:根据实际情况可变长,例如创建时间等 上层数据
二、icmp协议介绍(了解)
功能:简单来说就是检查网络是否联通,以便于解决问题
2.1 icmp协议(internet控制报文协议)
- icmp是一个“错误侦测与回馈机制”**
- 通过ip数据包封装的
- 用来发送错误与控制消息
2.2 icmp协议的封装
- icmp属于网络层协议
- icmp数据的封装过程**
注:icmp协议主要就是:1、icmp是一个“错误侦测与回馈机制”
2、 icmp数据的封装过程**
2.3 ping命令
2.3.1 基本格式
ping [-t][-|字节数][-a][-i]ip address|target name
2.3.2 ping命令参数
- -t:在 windows 操作系统中,默认情况下发送 4 个 ping 包,如果在 ping 命令后面加上参数“-t”,系统将会一直不停地 ping 下去
- -a:显示主机名
- -l :一般情况下,ping 包的大小为 32 字节,有时为了检测大数据包的通过情况,可以使用参数改变 ping 包的大小 #在linux 系统下为 -s
- windows linux
-n 指定发送包的个数 -c
-s 指定源ip去ping -i
- win:
tracert命令:在命令行中输入“tracert ”并在后面加入一个ip地址,可以查询从本机到该ip地 址所在的电脑要经过的路由器及其ip地址
- linux:
traceroute ip/域名
三、arp协议介绍
3.1 arp协议概述
3.1.1 局域网中主机的通信
- ip与mac地址
3.1.2 什么是arp协议
- address resolution protocol,地址解析协议
- 将一个已知的ip地址解析成mac地址
3.2 arp协议
3.2.1 ip地址解析成mac地址(工作原理)******
- pc1发送数据给pc2,查看缓存没有pc2的mac地址
- pc1发送arp请求消息(广播)所有主机
- 收到arp请求消息,pc2回复arp应答(单播),其他主机丢弃
- pc1将pc2的mac地址保存到缓存中,发送数据(以单播的形式)
3.3 arp相关命令
3.3.1windows系统中的arp命令
- arp -a:查看arp缓存表
- arp -d:清除arp缓存表
- arp -s ip mac :删除arp静态绑定
- arp绑定:表示ip地址与mac地址之间的映射关系
注:动态arp表项老化
在一段时间内(默认180s)如果表项中的arp映射关系始终没有使用,则会被删除。通过及时删除不活跃表项,从而提升arp响应效率
补:绑定arp(win10)
cmd 中输入
- netsh -c i i show in 查看网络连接准确名称,如:本地连接、无线网络连接
- netsh -c “i i" add neighbors 19 ”ip" “mac",这里19是idx号。//绑定
- netsh -c “i i" delete neighbors 19,这里19是idx号。//解绑
- netsh interface ipv4 set neiahbors<接ㄩ序号><ip><mac>
补:华为系统中的arp命令
[huawei]dis mac- address ## #查看mac地址信息
[huawei]arp static <ip> <mac> ## #绑定arp
[huawei]undo arp static <ip> <mac> ###解绑定
<huawei>reset arp all ###清除mac地址表
3.4 实际演示
需求分析:
- 对等网的环境
- pc1和pc2第一次通信
实现步骤:
- 使用ipconfig /all查看pc1和pc2的mac地址
- 用“arp -a”查看arp缓存
- 在pc1上ping pc2后,再用“arp -a”查看arp缓存表
四、arp攻击原理***
4.1 arp攻击原理
- 欺骗其他所有计算机
- 欺骗被攻击的计算机
arp攻击
arp攻击发送的是arp应答,但是arp应答中的mac地址为虚假地址,所以在其他主机想要进行通信时,会将目的mac地址设置成此虚假mac地址导致无法正常通信。
arp欺骗
原理和arp攻击基本相同,但是效果不一样。arp攻击最终的结果是导致网络中断,而arp欺骗的最终结果是使得流量通过自身达到监控或控制的目的
4.2 arp欺骗原理
4.2.1 arp欺骗网关
4.2.2 arp欺骗主机
4.3 利用arp欺骗管理网络
通过长角牛网络监控机软件管理网络
- 设置监控范围
- 进行网络管理
- 验证效果
4.4 arp故障处理
4.4.1需求分析
benet公司突然无法正常上网
发现主机arp缓存表中网关的mac地址不正确
4.4.2 绑定arp
- 在主机和网关设备上绑定arp
- 主机绑定arp
netsh interface ipv4 show neighbors
netsh interface ipv4 set neighbors 11 10.0.0.178 00-1a-e2-df-07-41
- 网关路由器绑定arp
router(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/0
- 交换机绑定arp
switch(config)#arp 10.0.0.12 90fb.a695.4445 arpa f0/2
switch(config)#arp 10.0.0.178 001a.e2df.0741 arpa f0/1
switch(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/3
4.4.3 使用arp防火墙,自动抵御arp欺骗和攻击
- 在主机b上开启arp防火墙
- 在主机a上开启长角牛网络监控机,模拟arp病毒发作
- 查看arp防火墙统计数据的变化
- 在主机b上测试与网关的连通性
4.4.4 查找arp攻击的计算机
- mac地址为真实计算机地址
查看网络信息记录表迅速定位计算机
- mac地址为虚假地址
查看交换机的mac地址表,确定此mac所属端口
发表评论