网络层的协议介绍

it2026-01-11  7

简单了解网络层的协议

一、IP数据包格式1.1 网络层的功能1.2 IP数据包格式 二、ICMP协议(Internet控制报文协议)介绍2.1 ICMP协议2.2 ICMP协议的封装2.3 Ping命令 三、ARP协议的介绍及工作原理3.1 广播与广播域3.2 ARP协议概述3.3 ARP协议的工作原理3.3.1 工作原理3.3.2 Windows 系统中的ARP的相关命令3.3.3 华为系统中的ARP命令 四、ARP攻击原理4.1 ARP的攻击原理4.2 ARP的欺骗原理

一、IP数据包格式

1.1 网络层的功能

1.定义可基于IP协议的逻辑地址 2.连接不同的媒介类型 3.选择数据通过网络的最佳路径

1.2 IP数据包格式

IP字段 版本(Version) :该字段包含的是IP的版本号,4bit。 目前IP的版本为4 (即IPv4)。

首部长度(Header Length) :该字段用于表示IP数据包头长度,4bit。 IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。

优先级与服务类型(Priority&Type of Service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现QoS (服务质量)的要求。

总长度(Total Length) :该字段用以指示整个IP数据包的长度,16bit。 最长为65535字节, 包括包头和数据。

标识符( Identification) :该字段用于表示IP数据包的标识符,16bit。 当IP对上层数据进行分片时,它将给所有的分片分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。

标志(Flags) :标志字段,3bit。 对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。

段偏移量(FragmentOffset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。

TTL (Time to Live) :该字段用于表示IP数据包的生命周期,8bit。 一个数据包每经过一个路由器,TTL将减去1。当TTL的值为0时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。

协议号(Protocol) :协议字段,8bit。 该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP, TCP 的协议号为6,UDP的协议号为17,ICMP的协议号是1。

首部校验和(Header Checksum) :该字段用于表示校验和,16bit。 接收方和网关用来校验数据有没有被改动过。

源IP地址(Source IP Address) :该字段用于表示数据包的源地址,32bit。

目标IP地址(Destination IPAddress) :该字段用于表示数据包的目的地址,32bit。

可选项(options) :可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。

二、ICMP协议(Internet控制报文协议)介绍

2.1 ICMP协议

ICMP是一个“错误侦测与回馈机制”, 通过IP数据包封装的, 用来发送错误和控制消息

2.2 ICMP协议的封装

ICMP协议属于网络层协议

ICMP数据的封装过程,如图

2.3 Ping命令

Ping命令的基本格式为 c:\>ping [-t] [-I 字节数] [-a] [i] IP_Address| target_name Ping命令的返回信息 如果两台主机之间不能建连接,那么ICMP也会返回相应的信息。 “无法访问目标主机”说明两台主机之间无法建立连接,可能是没有正确配置网关等参数。于找不去往目标主机的“路”,所以显示无法访问目标主机”

应答为末知主机名 ICMP返回信息为找不到主机,说明DNS无法进行解析。

连接超时的应答 返回信息为“请求超时"说明在规定时间内没有收到返回的应答信息。

Ping命令的使用方法 (1)windows系统中Ping命令常用选项: -t 参数会一直不停的执行Ping,按Ctrl+C可以停下来 -a 参数可以显示主机名称 -l 参数可以设定Ping包的大小 -S 指定源IP去Ping (2)Linux 系统中Ping命令常用的选项 -s 参数可以设定Ping包的大小 -c 指定发送包的个数 -I 指定源IP去Ping (3)跟踪路由路径命令 WIN:tracert IP/域名 Linux: tracerute IP/域名

三、ARP协议的介绍及工作原理

3.1 广播与广播域

广播:将广播地址做为的数据帧 广播域:网络中能接收到同一个广播的所以节点的集合 广播地址:FF-FF-FF-FF-FF-FF 有48位,一个F表示4位

3.2 ARP协议概述

·局域网中主机的通讯 IP地址与MAC地址 ·什么是ARP协议 Address Ressolution Protocol,地址解析协议 将一个已知的IP解析成MAC地址

3.3 ARP协议的工作原理

3.3.1 工作原理

1.PC1想发送数据给PC2,会先检查自己的ARP缓存表。

2.如果发现要查找的MAC地址不在表中,就会发送一一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)。

3.交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。

4.PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。

3.3.2 Windows 系统中的ARP的相关命令

arp -a                   查看ARP缓存表 arp -d [IP]             清除ARP 缓存 arp -s IP MAC      ARP静态绑定

如提示ARP项添加失败,解决方案: a、用管理员模式:电脑左下角“开始"按钮右键,点击“Windows PowerShell (管理员) (A)”或者进入C盘windows \system32文件夹找到cmd.exe,右键“以管理员身份运行”再执行arp -s命令

b、 (1)netsh interface ipv4 show neighbors 或者netsh i i show in <查看网卡接口序号/Idx>       (2)netsh interface ipv4 set neighbors <接口序号> <IP> <MAC>

解除静态绑定 netsh -C i i delete neighbors ’ Idx’

动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失。

3.3.3 华为系统中的ARP命令

[Huawei]dis mac-address                         ###查看mac地址信息

[Huawei] arpstatic <IР> <MАC>               ###绑定ARP

[Huawei]undo arp static <IP> <МАC>     ###解绑定

<Huawei> reset arp all                             ###清除mac地址表

四、ARP攻击原理

4.1 ARP的攻击原理

1.PC1发送数据包给网关,这时,PC2拦截了数据包,并向PC1发送一个虚假MAC地址,使得PC1发送的数据包送不到真正的网关。 2.PC1发送数据包给网关,此时,PC2拦截数据包,并向网关发送一个虚假MAC地址,使得网关没有获得PC1真正的MAC地址。

以上两种方式都使得PC1无法获得网络流量(数据)。

4.2 ARP的欺骗原理

(1)ARP欺骗网关 PC1发送数据包给网关,被PC2拦截,PC2向网关发送一个虚假的MAC地址(自己的MAC地址)并说明自己是PC1;向PC1发送一个虚假的MAC地址(自己的MAC地址)并说明自己是网关,则PC1访问互联网的流量都需要经过PC2的转发,PC1的所有数据信息、流量等都被PC2获取,PC2从中可以获取流量。 (2)ARP欺骗主机 此原理同上。

最新回复(0)