ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

网络层主要协议

2022-06-20 19:00:59  阅读:150  来源: 互联网

标签:ARP 协议 网关 MAC IP PC1 网络层 地址 主要


一、网络层(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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有