其他分享
首页 > 其他分享> > 网络层主要协议

网络层主要协议

作者:互联网

一、网络层(Network Layer)

1、网络层的功能

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

2、IP数据报(IP Datagram)

image

TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报,由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。

二、网络层的主要协议

1、ICMP协议(Internet Control Message Protocol)

(1)ICMP协议的概述
Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

(2)ICMP协议的特点
①ICMP是一个“错误侦测与回馈机制”
②通过IP数据包封装
③用来发送错误和控制信息

(3)ICMP数据的封装过程
image

(4)ping(Packet Internet Groper)
⑤ping的概述
ping是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP Echo 请求报文,测试目的站是否可达及了解其有关状态。

②ping的主要作用
a.用来检测网络的连通情况和分析网络速度
b.根据域名得到服务器IP
c.根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过的路由器数量

③通过TTL判断对方系统
TTL值:Time To Live,表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列。
默认情况下,Linux系统的TTL值为64或255,WindowsNT/2000/XP系统的TTL值为128,Windows98系统的TTL值为32,UNIX主机的TTL值为255。

④ping的常见用法

image

2、ARP协议(Address Resolution Protocol)

(1)ARP协议概述
地址解析协议是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

(2)ARP协议的主要作用及原理
将一个已知的IP地址解析成MAC地址
OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的包头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

(3)ARP缓存表
在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。
在正常情况下arp缓存表能够有效的保证数据传输的一对一性。但是ARP协议对应的ARP缓存表维护机制中存在不完善的地方,当主机收到一个ARP的应答包后,它并不验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息,这就是导致arp欺骗的根本原因。

(4)ARP协议的工作步骤
①PC1发送数据给PC2,查看ARP缓存表是否有PC2的MAC地址,有的话直接发送,没有的话进入下一步
②PC1通过广播的形式发送ARP请求消息
③所有主机收到PC1的ARP请求消息,PC2通过单播的形式回复ARP应答,其余PC丢弃掉该信息
④PC1将PC2的MAC地址存入ARP缓存表中并发送数据

(5)ARP的相关命令
①arp -a
查看arp缓存表

②arp -d
清除arp缓存(需要以管理员身份运行命令提示符)

三、ARP欺骗(ARP Spoofing)

1、ARP欺骗概述
ARP欺骗,又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

2、ARP欺骗原理
由于当主机收到一个ARP的应答包后,它并不验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息,这就是导致arp欺骗的根本原因。
因为arp缓存表存在老化时间,一般华为设备为20分钟,思科为5分钟。因此攻击者需要不停的向欺骗对象发送ARP欺骗报文,以免ARP缓存表的自动更新。

3、ARP欺骗的主要方式
(1)ARP欺骗网关
①PC1通过网关进行网络连接
②PC2作为攻击者可向PC1不断的发送虚假的ARP回应报文,内容为“我是网关,我的MAC地址为AA-AA-BB-BB-CC-CC(PC2的MAC地址 )”
③与此同时,PC2向网关不断的发送虚假的ARP回应报文,内容为“我是PC1,我的MAC地址为AA-AA-BB-BB-CC-CC(PC2的MAC地址 )”
④当PC1与网关将ARP缓存信息修改为PC2 MAC地址后,PC1访问互联网的流量需要经过PC2转发,攻击者可窃取或篡改PC1的流量信息。
⑤攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果。

(2)ARP欺骗主机
①PC1与PC2经由交换机进行数据通信
②PC3作为攻击者可不断的向PC1发送ARP回应报文,内容为“我是PC2,我的MAC地址为AA-AA-BB-BB-CC-CC(PC3的MAC地址 )”
③与此同时,PC3向PC2不断的发送虚假的ARP回应报文,内容为“我是PC1,我的MAC地址为AA-AA-BB-BB-CC-CC(PC3的MAC地址 )”
④当PC1与PC2将ARP缓存信息修改为PC3 MAC地址后,PC1与PC2之间数据流量需要经过PC3进行转发,攻击者可窃取或篡改PC1、PC1的流量信息。

(3)ARP泛洪攻击
通过向网关发送大量ARP报文,导致网关无法正常响应。首先发送大量的ARP请求报文,然后又发送大量虚假的ARP响应报文,从而造成网关部分的CPU利用率上升难以响应正常服务请求,而且网关还会被错误的ARP表充满导致无法更新维护正常ARP表,消耗网络带宽资源。

(4)中间人攻击
中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。

(5)IP地址冲突攻击
通过对局域网中的物理主机进行扫描,扫描出局域网中的物理主机的MAC地址,然后根据物理主机的MAC进行攻击,导致局域网内的主机产生IP地址冲突,影响用户的网络正常使用。

4、ARP防护
(1)静态绑定
对每台主机进行IP和MAC地址静态绑定是防止ARP欺骗的最根本办法。
a.使用命令“netsh interface ipv4 set neighbors idx号 IP地址 MAC地址”对网关地址进行绑定
解除绑定命令为“netsh -c “i i” delete neighbors idx号 IP地址 MAC地址”
idx号可通过命令“netsh i i show in”查看获取
b.通过命令arp -s可以实现, "arp –s IP MAC地址"。
例如:"arp –s 192.168.0.1 AA-AA-BB-BB-CC-CC"。

(2)DHCP snooping
网上设备可借由DHCP保留网络上各计算机的MAC地址,在伪造的ARP数据包发出时即可侦测到。此方式已在一些厂牌的网上设备产品所支持。

(3)ARP回应监听
有一些软件可监听网络上的ARP回应,若侦测出有不正常变动时可发送邮箱通知管理者。例如UNIX平台的Arpwatch以及Windows上的XArp v2或一些网上设备的Dynamic ARP inspection功能。

(4)限制mac地址记录数量
华为交换机进入接口模式后,使用命令“mac-address max-mac-count 5”,设置成做读学习5个MAC地址。

标签:ARP,协议,网关,MAC,IP,PC1,网络层,地址,主要
来源: https://www.cnblogs.com/970618z/p/16394354.html