协议字段
一 IP数据包格式
网络层的功能
-
定义了基于IP协议的逻辑地址,就是ip地址
-
连接不同的媒介类型
-
选择数据通过网络的最佳路径,完成逻辑地址寻址
①首部长度:IP头部长度,
②优先级:区别数据包优先处理级别
③总长度:定义IP数据包总长度,包括包头与数据
- 标志:代表数据小无需分片是否已发出
- 标识符:确定数据的分片是否来自同一文件
- 段位偏移量:该数据片断起点的位置
④ 协议号:TCP的协议号 UDP的协议号17
⑤TTL:生命周期默认(0~255),可以防止一个数据包在网络中无限循环的转发下去,没经过一个网络层设备,数据包就会减一,如果时0,设备会认为该包为无效的数据包就会丢弃。
- 二层交换机不减TTL
- 三层交换机减TTL
- TTL大于或等于128,win系统
- TTL小于或等于64,linux系统
⑥源地址:源IP地址,表示发送端的IP地址
⑦目标地址:目标IP地址,表示接收端的IP地址
注:①计算机联网必有网卡,mac地址就在其上
②mac地址由48位二进制组成,分成六段,每段有8位
二 ICMP协议:
控制报文协议;是面向无连接的协议,用于传输错误报告控制信息
①作用:负责网络层的错误报告和状态查询;检测网络的双向联通性;
使用指令来实现,以 ping tracer
ping:以发送ICMP回显请求并接收回显应答来测试网络连通性
traceroute IP/域名——linux:利用TTL值和icmp重定向消息来追踪数据包从源地址到目的 地址所经过的路 由节点
tracert IP/域名——linux: 追踪几个路由设备 tracer+ip地址
能够向目标主机发送ICMP请求数据包,不仅测试服务器是否可达,还会输出明 确的路由信息。路由跟踪的生存时间(TTL)值就会减1,当值是0时,路由器/ 网关就会响应一个icmp回复数据包。 记住4个名称
指令 | 作用 |
ping -help | 显示帮助命令 |
ping -lsze | 发送缓存区大小 |
ping -w | 超时等待时间 |
ping -n | 指定ping几次 |
网络波动:偶尔丢一两个包
ping不通:没有一个数据能到达,
可能出现以下情况?
Type Code 描述 (有7中情况)
②icmp被禁用:可能是对方防火墙禁用了,怎么办
telnet是远程登录协议,明文传输(数据会被截译)ssh写
telnet +ip+ 端口:测试远端服务器是否打开
ping主机的127.0.0.0 硬件是否有问题
网关是否有问题,防火墙策略····
③广播域:
一台网络设备发送广播,能收到消息的网络设置都在同一广播域
·交换机所有端口默认在同一广播域
·路由器的每一个端口都是一个独立的广播域
④冲突域:
两台设备同时发送消息会互相干扰,就会处在同一给冲突域。会使以太网数据传输 慢,信号冲突,数据丢失。
措施:分割冲突域,修改设备的接口模式 全双工模式
三 ARP协议
作用
- 协助封装数据包
- 解析IP地址找到mac地址
- 检测地址是否冲突
什么是arp协议 !
地址解析协议,解析IP地址得到MAC地址,
是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道
ARP协议如何工作的 !
为了实现IP地址与MAC地址的查询与转换,ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table),这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,我称之为ARP表项,如我们前面那张图所展示的一样,他们是主机最近运行时获得关于其他主机的IP地址到MAC地址的映射,当需要发送数据的时候,主机就会根据数据报中的目标IP地址信息,然后在ARP缓存表中进行查找对应的MAC地址,最后通过网卡将数据发送出去。ARP缓存表包含一个寿命值(TTL,也称作生存时间),它将记录每个ARP表项的生存时间,生存时间到了就会从缓存表中删除。从一个表项放置到ARP缓存表中开始,一个表项通常的生存时间一般是10分钟吗,当然,这些生存时间是可以任意设置的,我们一般使用默认即可。
arp是地址解析协议,它的作用是通过目的IP地址寻找到目的MAC地址,保证通信的顺利进行。
检测地址冲突:
无故ARP:
当一台设备获取到一个Ip 地址时 ,会自动发送一个无故ARP,检测 是否有设备已使用了此地址
源地址:192.168.1.1
目的地址:192.168.1.1
看地址是否被占用,收到回包 则被使用,没收到则没人使用。
ARP协议命令:
实现IP地址与mac地址的查询与转换引入了ARP缓存表的概念
命令 | 作用 |
arp-a | 查看arp缓存表 |
arp-d | 不加IP清除所有 |
arp-d ip | 夹IP只删改ip |
arp -s IP mac | 删除arp静态绑定 |
ARP工作原理:
1 当pc2想要与pc1通信时,如果pc2不知道pc1的物理地址会广播一个ARP请求帧,请求具有特定的IP地址(既pc1的IP地址)的设备提供其mac地址
2 网络上所有的设备都会接受到这个请求,但只有拥有对应IP地址的设备(pc1)才会回应一个包含mac地址的ARP响应帧
3 pc2收到响应后,就可以使用pc1的mac地址进行数据传输了,并且会将pc1的ip-mac对应关系
缓存在自己的arp表中,以便后续通信时直接查找
四 网关
- 存在于 路由器 交换机 linux服务器
- 一定和IP地址在同一网段
- 网络层网关也称路由器网关,可以连接多个局域网和广域网实现跨网的通信
- 有 路由网关 应用网关 转换网关
- 网关无论是 真机 虚拟机 路由器 三层设备 Linux服务器,都是真实存在
网关的 IP 必须要和局域网在同一网段!
比如一个局域网网段为 192.168.2.0/24,那么网关可以是 192.168.2.1 ~ 192.168.2.244 之间任意一位,其中 192.168.2.255 是广播地址,所以不能选择。但是,在选择默认网关的时候,一般选择 192.168.2.1 或者是 192.168.2.244,因为这样比较好认,如果选择中间区域,在划分 IP 的时候,很容易冲突,选择两端的 IP 作为默认网关是最合适的,也是约定俗成的。
五 ARP攻击与ARP欺骗的原理
1 ARP攻击
通过伪造IP地址和MAC地址进行欺骗。使以太网数据包的源地址、目标地址和ARP通信数量剧增导致网络中断或中间人攻击,ARP攻击主要存在于局域网中。若其中一台计算机感染ARP病毒。就会试图通过ARP欺骗截获局域网内其他计算机的信息,造成局域网内的计算机通信故障。
2 ARP欺骗
ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。
可以理解为向网关或者被攻击主机发送虚假的ARP应答,从而导致被攻击主机通信故障,发送信息一直不成功,为信息不可达状态
一般情况下,ARP欺骗并不会使网络无法正常通信,而是通过冒充网关或其他主机,使到达网关或主机的流量通过攻击主机进行转发。通过转发流量可以对流量进行控制和查看,从而可以控制流量或者得到机密信息