1.1 什么是网关

  首先来简单解释一下什么是网关,网关工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,简单地说,网关就好比是一个房间通向另一个房间的一扇门。

1.2 ARP协议是什么

  ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的。而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为IP地址。

  假设A(192.168.1.2)与B(192.168.1.3)在同一局域网,A要和B实现通信。A首先会发送一个数据包到广播地址(192.168.1.255),该数据包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,这个数据包会被发放给局域网中所有的主机,但是只有B主机会回复一个包含了源IP(B)、源MAC、目的IP(A)、目的MAC的数据包给A,同时A主机会将返回的这个地址保存在ARP缓存表中。

1.3 ARP欺骗原理

  上面提到过了ARP缓存表,在每台主机都有一个ARP缓存表,缓存表中记录了IP地址与MAC地址的对应关系,而局域网数据传输依靠的是MAC地址。

  假设主机 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 网关 G 192.168.1.1; 在同一局域网,主机A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。但是并不是想象中的那么安全,在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。

  这样C就有了偷听A和B的谈话的可能,继续思考上面的例子:

  C假扮邮递员,首先要告诉A说:“我就是邮递员” (C主机向A发送构造好的返回包,源IP为G 192.168.1.1,源MAC为C自己的MAC地址),愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里;

  C再假扮A,告诉邮递员:“我就是A” (C向网关G发送构造好的返回包,源IP为A 192.168.1.2,源MAC地址为自己的MAC地址),智商捉急的邮递员想都没想就相信了,以后就把B的来信送给了C,C当然就可以知道A和B之间聊了些什么

  上面ABCG的故事就是ARP双向欺骗的原理了

  ARP单向欺骗就更好理解了,C只向A发送一个返回包,告诉A:G 192.168.1.1 的MAC地址为 5c-63-bf-79-1d-fa(一个错误的mac地址),A把这个信息记录在了缓存表中,而G的缓存表不变,也就是说,A把数据包给了C,而G的包还是给A,这样就是ARP单向欺骗了。

 2.1 实战ARP欺骗

  ARP欺骗又被称为ARP毒化,属于中间人攻击,我用虚拟机来模拟一下ARP欺骗的全过程

  首先,看一下

ARP缓存表中默认已经存在了网关IP、MAC地址的记录

  看一下目标主机的ARP缓存表

目标IP与本机IP

再进行arp欺骗之前必须要开启IP转发,否则当欺骗成功之后,目标机会断网,这样会被对方察觉

  sysctl -w net.ipv4.ip_forward=1  或者 echo 1 > /proc/sys/net/ipv4/ip_forward

已经成功开启IP转发

向目标192.168.124.133发送返回包,包含内容:

  源ip:192.168.124.2

  源MAC:00:0c:29:86:a1:04

  此时再来看目标主机ARP缓存

可以看出目标主机arp缓存已经发生了变化,在缓存表中所记录的网关(192.168.124.2)的MAC已经变为了攻击者的MAC

  以上就是一次简单的ARP欺骗了

2.2 ARP欺骗的危害

  局域网之间主机通信会收到影响,如果是网关欺骗,上互联网也会受影响

  黑客利用ARP欺骗可以窃取用户敏感信息、挂马等

  在这里我简单演示一下ARP欺骗嗅探Telnet账户密码

3 怎样防范ARP欺骗

  1.在主机绑定网关MAC与IP地址为静态(默认为动态),命令:arp -s 网关IP 网关MAC

  2.在网关绑定主机MAC与IP地址

  3.使用ARP防火墙

本文由i春秋学院提供,原文地址:    http://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=1739&highlight=防?from=bky

中间人攻击——ARP欺骗的原理、实战及防御(转载)相关推荐

  1. 网络安全 中间人攻击-ARP欺骗 工具:Cain

    两台虚拟机:A和B,A中有工具Cain A是攻击机, B是靶机 首先,在B中使用cmd查看IP地址,注意网关 再查看B的ARP表 都查看完之后,回带有工具的虚拟机A中,打开Cain 下面开始在Cain ...

  2. ARP中间人攻击详细过程及原理

    ARP中间人攻击详细过程及原理 一.实验详细过程 实验工具: Kali,ENSP,Wireshark 实验环境: Kali:IP: 192.168.135.1 Server:192.168.135.2 ...

  3. ARP欺骗之——原理分析

    今天学的知识不多,忙了一天学校的东西,做了一上午路由实验,下午做了个社会调查报告,晚上才腾出时间学一些,然后得知明儿竟然要补五一的课,然而我周二是刚好没课的哈哈,下了两天雨在家里出不去,憋坏了,明儿去 ...

  4. 【新星计划-2023】ARP“攻击”与“欺骗”的原理讲解

    网络管理员在网络维护阶段需要处理各种各样的故障,出现最多的就是网络通信问题.除物理原因外,这种现象一般是ARP攻击或ARP欺骗导致的.无论是ARP攻击还是ARP欺骗,它们都是通过伪造ARP应答来实现的 ...

  5. java arp 攻击_arp攻击原理与arp欺骗的原理和应用

    第一种解决方法 处理ARP欺骗攻击最一般的方法就是IP-MAC绑定,可以在客户端主机和网关路由器上双向绑定IP-MAC来避免ARP欺骗导致无法上网. 1.在主机上绑定网关路由器的IP和MAC地址,可以 ...

  6. python实现局域网攻击_mac泛洪攻击arp欺骗(python脚本)

    mac地址泛洪攻击 原理:传统的交换机在数据转发过程中依靠对CAM表的查询来确定正确的转发接口,一旦在查询过程中无法找到相关的目的MAC对应的条目,此数据帧将作为广播帧来处理,CAM表的容量有限,只能 ...

  7. 局域网内的攻击—Arp欺骗

    0x00:ARP协议 在局域网中,网络中实际传输的是"帧",帧里面是有目标主机的MAC地址的.在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址.MAC ...

  8. 8月更文挑战|中间人攻击-流量欺骗与流量劫持总结

    前言 无线欺骗攻击中,多数是以无线中间人攻击体现的.中间人攻击是一种"间接"的入侵攻击,是通过拦截.插入.伪造.终端数据包等各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接 ...

  9. 面试题目总结(1) https中间人攻击,ConcurrentHashMap的原理 ,serialVersionUID常量,redis单线程,

    1.HTTPS协议中间人攻击是什么? https是 对http内容的加密,中间人攻击是指攻击者通过与客户端和客户端的目标服务器同时建立连接,作为客户端和服务器的桥梁,处理双方的数据,整个会话期间的内容 ...

最新文章

  1. asp.net 2.0中的弹出对话框
  2. 程序员Linux学到什么程度,Linux学到什么程度,才可以找到合适的工作?
  3. LINUX安装REDIS集群
  4. 安装phpcms时出现Warning: ob_start(): output handler \'ob_gzhandler\' conflicts with \'zlib
  5. cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!
  6. JVM 调优实战--常用JVM命令:jps/jinfo/jstat/jmap/jstack/jhat
  7. Android 5.1 API 22 所有sdk文件下载地址
  8. 突然讨厌做前端,讨厌代码_为什么用户讨厌重新设计
  9. 【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序(附VS工程代码文件和可执行文件)
  10. UVa 10791 Minimum Sum LCM
  11. [javascript] 完全开源,开心分享 HTML5 Canvas 在线图片处理《imageMagic》(single page app)开发详解[1]...
  12. 如何获得大学教材的PDF版本?
  13. 超定方程的求解、最小二乘解
  14. 网龙百万3D角色编辑系统介绍
  15. dayjs格式化使用
  16. 服务器就是一台性能好的电脑吗,科普:什么是服务器? 服务器与普通电脑有何区别?...
  17. python跳一跳脚本详解_跳一跳 python脚本 改进版
  18. TA游戏推荐:暗黑神作 《万神之怒EX》
  19. rj45插座尺寸图_RJ45网络插座的基本知识
  20. 医疗条码打印机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)

热门文章

  1. ConstraintLayout内的控件填充满空间
  2. 【例2-1】周末舞会
  3. linux内核中断(一)
  4. 热乎乎的面经:Spring中Scheduled和Async两种调度方式有啥区别?
  5. Android基础#35:Android如何获得手机版本信息?
  6. kernel taint
  7. web前端期末大作业(月饼美食网站) html+css+javascript网页设计实例 企业网站制作
  8. 云主机与传统主机性能对比表
  9. 甜瓜过表达技术——bHLH转录因子调控果实发育
  10. 【立创开源】太阳能板充电方案单节3.7v锂电池充电