0%

ARP-NAT-ICMP-DHCP

ARP欺骗,又称ARP毒化、ARP攻击,是针对以太网ARP协议的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。

一、ARP

      ARP协议,全称Address Resolution Protocol,即地址解析协议,作用是根据IP地址获取物理地址,也称MAC地址(唯一,通常由设备厂商分配)。源主机发送信息时,将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息以此确定目标的物理地址。源主机收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间(每台主机都会在自己的ARP缓冲区中简历一个ARP列表用于存储IP地址与MAC地址的对应关系),下次请求时直接查询ARP缓存以节约资源。

      地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

ARP工作过程如下:

  • 检查自己的ARP列表是否存该目标主机IP地址对应的MAC地址
  • 如果存在直接将数据包发送到目标主机的MAC地址
  • 如果不存在则向本地网段发起一个ARP请求的广播包,用于查询目标主机对应的MAC地址。
  • 网络中所有的主机收到这个ARP请求之后会检查数据包中的目的IP是否与自己的IP地址一致,如果不同就忽略此数据包
  • 如果相同则该主机就会将发送端的MAC地址与IP地址添加到自己的ARP列表中。
    • 如果ARP列表中已经存在该IP地址的相关信息则将其覆盖掉
  • 目标主机接着给源主机发送一个ARP响应包,告诉源主机自己的MAC地址。
  • 源主机接收ARP响应包后,将目标主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
    • 如果源主机一直都没有收到ARP响应包,则表示ARP查询失败,也就无法进行通讯。

二、RARP

      RARP,全称Reverse Address Resolution ProtocolReverse ARP,即反向地址转解析议,顾名思义它跟ARP的功能是相反的,ARP是实现IP地址到MAC地址的映射,而RARP是实现MAC地址到IP地址的映射,它允许局域网的物理机器从网关服务器的ARP表或者缓存上请求其IP地址。网络管理员在局域网的网关路由器里创建一个表以映射MAC地址和IP地址。当设置一台新的机器时,其RARP客户机程序需要向路由器上的RARP服务器请求相应的IP地址,RARP服务器将会返回IP地址给机器(假设表里有此记录),此机器就会存储起来以便日后使用。

      RARP可以使用于以太网、光纤分布式数据接口及令牌环LAN等,常用于无盘工作站(即没有存储相关的设备),应用范围较小,一般多使用功能一样的DHCP协议,DHCP功能更强大。

      虽然发送方发出的是广播信息,RARP规定只有RARP服务器能产生应答。许多网络指定多个RARP服务器,这样做既是为了平衡负载也是为了作为出现问题时的备份。

RARP工作过程如下:

  • 源主机发送一个RARP广播,在此广播包中声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址
  • RARP服务器收到此请求后检查其RARP列表,查找该MAC地址对应的IP地址
  • 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给源主机使用
    • 如果不存在,RARP服务器对此不做任何的响应
  • 源主机收到RARP服务器的响应信息,利用得到的IP地址进行通讯
    • 如果一直没有收到RARP服务器的响应信息,表示初始化失败。

ARP和RARP请求是广播方式,应答都是单播方式。

三、DHCP

      DHCP,全称Dynamic Host Configuration Protocol,动态主机配置协议,是一个局域网的网络协议,由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。它使用UDP协议工作,主要有两个用途:一是给内部网络或网络服务供应商自动分配IP地址,二是作为用户或者内部网络管理员对所有计算机作中央管理的手段。

四、NAT

      NAT,全称Network Address Translation,即网络地址转换,一种将私有(保留)地址转化为公有IP地址的技术。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

NAT的出现在一定程度上解决了IPv4地址不足的问题。

五、ICMP

      ICMP,全称Internet Control Message Protocol,即Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

六、RIP

      RIPRouting Information Protocol,即路由信息协议,是一个内部网关协议,一种基于距离矢量的路由协议,以路由跳数作为计数单位的路由协议,适合用于比较小型的网络环境。它选择路由的度量标准是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

六、参考

  1. 参考一