【网络安全】ARP欺骗是什么?其原理是什么?

  ARP欺骗又称ARP毒化,或称为ARP攻击,是针对以太网地址解析协议的一种攻击技术,其影响和危害都是不容小觑的。那么什么是ARP欺骗攻击?ARP欺骗攻击的主要攻击方法有哪些?具体请看下文。

  ARP欺骗攻击是什么?

  ARP欺骗,又称ARP毒化,或APP攻击,是针对以太网地址解析协议的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上特定计算机或所有计算机无法正常连线。

  在局域网中,攻击者经过收到的ARP Request广播号,能够偷听到其它节点的地址,黑客就伪装为A,告诉B一个假地址,使得B在发送给A的数据包都被黑客截取,而A,B浑然不知。这种情况是没有办法防止的,它的危害也不是很大。因为一般服务器通常不会和终端主机在同一个局域网。

  ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。

  ARP欺骗的攻击方法

  1、中间人攻击

  中间人攻击是最典型攻击之一,当一个中间人攻击完成以后,一个恶意用户将在两台相互通信的目的主机之间。这样他就可以完成网络数据包嗅探与分析,中间人计算机将在两台相互通信的目的主机之间转发帧数据包,而两台目的主机对比毫无察觉,这种攻击方式不仅对计算机有效,还可以扩展到路由器与网关设备,从而在路由器与主机之间使用中间人攻击。

  2、广播攻击

  如果以太网帧的目的地址为FF:FF:FF:FF:FF:FF,则该以太网数据帧为广播帧,网段中所有的计算机都会收到该广播帧,公共扫描网络上的主机,发送假的ARP应答报文,设定网关的MAC地址为广播地址,所有发送到该网关的数据将被广播发送,导致网络嗅探攻击。

  3、拒绝服务攻击

  通过更新ARP缓存表,插入一条不存在的MAC地址记录匹配到一个目的IP,将会知道该帧数据被丢弃,从而导致主机不能接受到数据包产生拒绝服务攻击效果,它其实是中间人攻击成功以后,中间人离开之后而产生的后中间人攻击效应。

  4、会话劫持

  连接劫持是一种类似中间人攻击的方法,当两台计算机相互连接时,中间人通过ARP欺骗,完成连接劫持。连接劫持一个简单例子是连接劫持者控制一个远程主机登录连接之后,开始进入远程主机,获取相关资料。

火绒拦截ARP欺骗主要基于以下原理: - **ARP表监控**:ARP(地址解析协议)用于将IP地址解析为MAC地址。正常情况下,每个IP地址对应一个固定的MAC地址。火绒会实时监控系统的ARP表,记录每个IP地址和对应的MAC地址映射关系。当发现某个IP地址对应的MAC地址发生异常变化时,火绒会判定可能存在ARP欺骗攻击。例如,原本一个合法设备的IP对应的是特定的MAC地址,突然出现一个不同的MAC地址与该IP关联,火绒就会发出警报并进行拦截 [^1]。 - **ARP请求与响应验证**:火绒会对网络中的ARP请求和响应进行验证。对于接收到的ARP响应,火绒会检查其合法性。合法的ARP响应应该是对之前合法ARP请求的回应,并且响应中的IP - MAC映射应该与之前记录的信息相符。如果一个ARP响应没有对应的合法请求,或者响应中的映射信息与已有记录冲突,火绒会认为这是一个非法的ARP响应,从而拦截该响应,防止其篡改系统的ARP表 [^1]。 - **双向绑定机制**:火绒可以通过设置IP - MAC绑定,将合法的IP地址和MAC地址进行绑定。当网络中出现ARP欺骗攻击试图篡改ARP表时,由于绑定关系的存在,即使攻击者发送虚假的ARP响应,系统也不会接受这些非法的映射信息,从而保证了ARP表的安全性 [^1]。 ```python # 以下是一个简单的模拟ARP表监控的代码示例 arp_table = { "192.168.1.1": "00:11:22:33:44:55", "192.168.1.2": "AA:BB:CC:DD:EE:FF" } def monitor_arp_table(new_arp_table): for ip, mac in new_arp_table.items(): if ip in arp_table and arp_table[ip] != mac: print(f"Warning: Possible ARP spoofing detected for IP {ip}!") arp_table[ip] = mac # 模拟新的ARP表信息 new_arp_table = { "192.168.1.1": "00:11:22:33:44:55", "192.168.1.2": "GG:HH:II:JJ:KK:LL" # 异常的MAC地址 } monitor_arp_table(new_arp_table) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值