菜狗的网安学习路线笔记——网络基础(四)

菜狗的网安学习路线笔记——网络基础(四)


前言

网络基础分为:
1.通信协议栈基础

  1. OSI协议栈介绍
  2. TCP协议详解
  3. IP地址详解
  4. 网关、DNS、ARP、通信协议

2.交换技术
3.路由技术
4.应用技术
5.访问控制技术和NAT


一、ARP

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

使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。简而言之就是实现IP地址到MAC地址的转换。

ARP的位置

OSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层。高层对低层是有强依赖的,所以TCP的建立前要进行ARP的请求和应答。

ARP高速缓存表在IP层使用。如果每次建立TCP连接都发送ARP请求,会降低效率,因此在主机、交换机、路由器上都会有ARP缓存表。建立TCP连接时先查询ARP缓存表,如果有效,直接读取ARP表项的内容进行第二层数据包的发送;只有表失效时才进行ARP请求和应答进行MAC地址的获取,以建立TCP连接。

ARP的作用

要了解ARP的作用,首先要分清两个“地址”:

(1)TCP/IP的32bit IP地址。仅知道主机的IP地址不能让内核发送数据帧给主机。

(2)网络接口的硬件地址(MAC地址),它是一个48bit的值,用来标识不同的以太网或令牌环网络接口。在硬件层次上,进行数据交换必须有正确的接口地址,内核必须知道目的端的硬件地址才能发送数据。

简言之,就是在以太网中,一台主机要把数据帧发送到同一局域网上的另一台主机时,设备驱动程序必须知道以太网地址才能发送数据。而我们只知道IP地址,这时就需要采用ARP协议将IP地址映射为以太网地址。

要注意一点,一般认为ARP协议只使适用于局域网。

ARP分组格式

ARP分组的格式如下图:
  在这里插入图片描述

先要清楚,一般说以太网地址就是指MAC地址。

字段1是ARP请求的目的以太网地址,全1时代表广播地址。

字段2是发送ARP请求的以太网地址。

字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0x0806。

字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800。

字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

字段10是发送ARP请求或应答的IP地址。

字段11和12是目的端的硬件地址和协议地址。

ARP的工作过程

主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;

主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。

第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。

第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

ARP欺骗

地址解析协议是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷:

ARP地址转换表是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。
ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

防御措施

  1. 不要把网络安全信任关系建立在IP基础上或MAC基础上(RARP同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。

  2. 设置静态的MAC–>IP对应表,不要让主机刷新设定好的转换表。 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

  3. 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

  4. 使用“proxy”代理IP的传输。

  5. 使用硬件屏蔽主机。设置好路由,确保IP地址能到达合法的路径(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

  6. 管理员定期用响应的IP包中获得一个RARP请求,然后检查ARP响应的真实性。 管理员定期轮询,检查主机上的ARP缓存。

  7. 使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

  8. 若感染ARP病毒,可以通过清空ARP缓存、指定ARP对应关系、添加路由信息、使用防病毒软件等方式解决。

二、通信协议

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。

在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法识别。 通信协议是指通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言。两台计算机在进行通信时,必须使用的通信协议。

通信协议三要素

通信协议主要由以下三个要素组成:
语法:即如何通信,包括数据的格式、编码和信号等级(电平的高低)等。
语义:即通信内容,包括数据内容、含义以及控制信息等。
定时规则(时序):即何时通信,明确通信的顺序、速率匹配和排序。

体系结构

分层通信体系结构的基本概念如下:

  1. 将通信功能分为若干个层次,每一个层次完成一部分功能,各个层次相互配合共同完成通信的功能。
  2. 每一层只和直接相邻的两层打交道,它利用下一层提供的功能,向高一层提供本层所能完成的服务。
  3. 每一层是独立的,隔层都可以采用最适合的技术来实现,每一个层次可以单独进行开发和测试。当某层技术进步发生变化时,只要接口关系保持不变,则其它层不受影响。

分层结构示意图如图所示。每一层实现相对独立的功能,下层向上层提供服务,上层是下层的用户,各个层次相互配合共同完成通信的功能。

将网络体系进行分层就是把复杂的通信网络协调问题进行分解,再分别处理,使复杂的问题简化,以便于网络的理解及各部分的设计和实现。

协议仅针对某一层,为同等实体之间的通信制定,易于实现和维护,灵活性较好,结构上可分割。
在这里插入图片描述

常用协议

局域网中常用的通信协议主要包括TCP/IP、NETBEUI和IPX/SPX三种协议,每种协议都有其适用的应用环境。

在这里插入图片描述

参考

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值