今天BOSS让我总结ARP欺骗的原理和防范策略,在这里把总结的结果贴出来吧。求人品,求速转正。

ARP原理:
在局域网内部,各主机之间以MAC地址作为标识通信对象的标志。然而,有时通信发起的主机并不知道目标主机的MAC地址,仅知道其IP地址。ARP协议就是将IP地址转换MAC地址的协议。

主机A要向主机B发起通信,先本地的ARP缓存表,如果找到了B的IP地址对应的MAC地址,就会使用MAC B进行数据传输。如果未找到,则A广播一个ARP Request报文(携带主机A的IP地址IPa和物理地址MACa),请求IP地址为IPb的主机B的物理地址MACb。同一局域网内的所有主机包括B都收到ARP Request报文,但只有主机B发现报文中的目的IP,即IPb,是本机的IP地址。于是向A主机发回一个ARP Reply报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据。
因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。ARP缓存表采用老化的机制,在一段时间里表中的某一个表项没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询的速度。

ARP欺骗原理:
黑客C经过收到A发出的ARP Request广播报文,能够偷听到A的 (IP, MAC) 地址, 黑客C就伪装为B,告诉A (受害者) 一个假MAC地址(这个假地址是C的MAC地址),使得A在发送给B的数据包都被黑客C截取,而A, B 浑然不知。

欺骗种类:

1、截获网关发出的数据。
欺骗源通过ARP报文通知网关一系列错误的内网MAC-IP地址关系,并按照一定的频率不断进行,使网关的ARP缓存表中不能保存正常的地址信息中,结果网关的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
2、伪造网关
欺骗源把自己伪装成网关,向局域网内的主机发送ARP应答或免费ARP报文。使得局域网内的主机误以为欺骗源的MAC是网关MAC地址。使得原本流向网关的数据都被错误地发送到欺骗源。
3、伪造主机
欺骗源C把自己伪装成局域网内的另一台主机B,使得局域网内发往B的报文都流向了C。伪造主机的过程与伪造网关类似。
4、跨网段的ARP攻击
把ARP欺骗与ICMP重定向相结合。假设A,B在同一网段,C在另一网段,C要欺骗A,自己是B。C发送一个TIP为A,SMAC为C,SIP为B的ARP应答报文到网关,网关会把MACc---IPb的对应关系学习到自己的ARP缓存表中,同时把ARP应答转发到A。A更新自己的ARP缓存 IPb --- MACc, A要向IPb发送报文时,网关发现IPb不在与A同一网段内,而在C所在的网段,于是发送ICMP重定应报文给A,告诉A“IPb的不在同一网段内,下一跳为网关”,A在自己的路由表中添加一个表项,把IPb的报文都发往路由器。这样C就能截获A发往B的报文。

防范技术:
1、在网关和主机上设备静态ARP表项,这样欺骗ARP报文携带的信息与静态表项不同,会被忽略。
仅适合于小规模局域网,不适合于DHCP

2、在交换机上限制每个端口的ARP表项数量。端口上仅能够学习有限数量的ARP表项。如果设置为1,则只允许一个ARP表项被学习,伪装的MAC地址就无法通过交换机。对上述[欺骗种类1]比较有较。

3、与DHCP结合
DHCP snooping的过程中,会建立DHCP表项,主机的的IP以及用户MAC、VID、PORT、租约时间等信息组成用户记录表项,从而形成DHCP Snooping 的用户数据库。DHCP可以很清楚地知道给哪个MAC分配了哪个IP。
交换机收到ARP报文时,将收到ARP报文的源IP、源MAC、端口号、VLAN ID信息同DHCP-Snooping数据库的用户信息进行匹配。如果一致则认为合法ARP报文,按既有流程处理;否则视为非法ARP报文,丢弃处理。


4、在交换机端收集所有ARP报文信息,一但MAC和对应的IP有变动,发出警告。







ARP欺骗,骗你没商量的更多相关文章

  1. 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息

    ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...

  2. 防止ARP欺骗的方法!!!

    防止ARP欺骗的方法!!! 根据鄙人上网经常掉线,怀疑可能是某人使用网络剪刀手,网络执行官,局域网终结者等工具.经过搜索有关资料,有了一点点防范经验,借以参考~! 一 首先我们来了解下这类攻击工具的原 ...

  3. [c#]记一次实验室局域网的ARP欺骗

    起因 某天中午午睡时,笔者被激烈的键盘和鼠标声音吵醒,发现实验室的同学在那边忘我地打LOL,顿觉不爽,于是决定整他一下.想了一下之后觉得就让他掉线一下作为惩罚好了.结合以往的理论知识,大家在同一个局域 ...

  4. arp欺骗技术

      ARP欺骗技术-获取内网目标IP访问图片!   简介: ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析 ...

  5. 关于ARP欺骗与MITM(中间人攻击)的一些笔记( 二 )

    一直没有折腾啥东西,直到最近kali Linux发布,才回想起应该更新博客了….. 再次说明,这些技术并不是本人原创的,而是以前记录在Evernote的旧内容(排版不是很好,请谅解),本文是继关于AR ...

  6. 中间人攻击之arp欺骗 科普ARP欺骗

    中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的M ...

  7. 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...

    计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关.当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声 ...

  8. kali系统:局域网arp欺骗, 搞定任意windows计算机

    目的 通过Arp欺骗, 给局域网内的所有用户网页中植入木马, 只要用户运行以后, 就会反弹一个shell到我们计算机 准备 kali系统 metaspolit的使用 Arp欺骗工具:bettercap ...

  9. ARP欺骗配置及演示过程

    目录 环境 软件 网络拓扑图 配置流程 配置构思 具体流程 问题 演示过程 状态 检查Attack前centOS7_1的ARP地址表 在kali上输入以下命令发动攻击 此时查看centOS7_1的AR ...

随机推荐

  1. BZOJ 3036: 绿豆蛙的归宿( 期望dp )

    从终点往起点倒推 . 在一个图 考虑点 u , 出度为 s : s = 0 , d[ u ] = 0 ; s ≠ 0 , 则 d( u ) = ( ∑ d( v ) ) / s ( ( u , v ) ...

  2. HTTP1.1协议中文版-RFC2616

    转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协 ...

  3. 一步一步重写 CodeIgniter 框架 (2) —— 实现简单的路由功能

    在上一课中,我们实现了简单的根据 URI 执行某个类的某个方法.但是这种映射没有扩展性,对于一个成熟易用的框架肯定是行不通的.那么,我们可以让 框架的用户 通过自定义这种转换来控制,用 CI 的术语就 ...

  4. windows进程清理脚本

    公司统一配的笔记本Thinkpad T440p,超级难用,常常内存占满.硬盘卡死,还管不了机!心里那个不爽啊!哎,不说了. 自己写了个脚本,用来强制关闭不须要的进程. 脚本例如以下: -------- ...

  5. STL之iterator(迭代器)

    3.迭代器简单介绍 除了使用下标来訪问vector对象的元素外,标准库还提供了訪问元素的方法:使用迭代器.迭代器是一种检查容器内元素而且遍历元素的数据类型. 百科释义: 迭代器(iterator)是一 ...

  6. IOS开发之UILabel动态高度设置方法

    项目中有这样的需求,要显示一本书的概述,默认显示2行,点击展开按钮,显示全部,点击收回,有显示2行. 开始的时候按钮事件中,可能写的是这样一段代码: if (isExpand) { [lblBrief ...

  7. 基于visual Studio2013解决C语言竞赛题之1013字符串查找

         题目 解决代码及点评 /* 功能:编写函数IND,让它判断一个字符串是否为另一个字符串的子串的功能,若是则返回第一次出现的起始位置,否则返回0 时间:13:55 2013 ...

  8. ajax终结篇

    Ajax中post和get的区别 在ajax中有这个方法 xmlreq.open("post","servlet/MyServlet?time="+newDat ...

  9. State Design Pattern 状态设计模式

    设置好内部状态,然后依据不同的函数作为行为模式,进行状态转换. 有点像Finite Automata算法,两者的思想是一样的. 会Finite Automata,那么这个设计模式就非常easy了. # ...

  10. 操作3 mongodb和mysql 开启慢查询日志 ,以及mongodb从配置文件启动

    1. mongodb从配置文件启动 创建配置文件:/usr/local/mongodb/etc/mongodb.conf 配置文件的内容为: #Directory and relavent set d ...