今天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. erlang 初体验

    近期測试了一下 erlang的坑... 如不出意外.... 大家第一眼看到这语法... 心里第一句一定是"我擦.这TM都是啥!!!!!" 没有变量!!! 没有结构体!!! 没有循环 ...

  2. 采用openFileOutput获取输出流

    package com.example.login.service; import java.io.BufferedReader; import java.io.File; import java.i ...

  3. BZOJ 3163: [Heoi2013]Eden的新背包问题( 背包dp )

    从左到右, 从右到左分别dp一次, 然后就可以回答询问了. ---------------------------------------------------------- #include< ...

  4. Jquery学习笔记:操作form表单元素之二(复选框和单选框)

    在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...

  5. java list三种遍历方法性能比较

    从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象 ...

  6. 泛虚拟化技术(以Xen为例)

    一.概述    最主要的特点是:修改Guest OS的内核代码.通过修改内核,使Guest OS明白自己是运行在R-1,不要直接去运行特权指令,如果要运行就去Hypercall(主动VMM陷入).   ...

  7. UI_UIImageView 基本操作

    UI_UIImageView 经常用法 // 使用ImageView 通过 name 找到图片 UIImage *image = [UIImage imageNamed:@"bg_2&quo ...

  8. MSSQL - 备份和还原数据库

    SQL语句备份和还原数据库:http://blog.csdn.net/liuhelong/article/details/3335687 1.MSSQL - SqlServer:此数据库处于单用户模式 ...

  9. Java中int类型和tyte[]之间转换及byte[]合并

    JAVA基于位移的 int类型和tyte[]之间转换 [java] view plaincopy /** * 基于位移的int转化成byte[] * @param int number * @retu ...

  10. hdu 4117 GRE Words (ac自动机 线段树 dp)

    参考:http://blog.csdn.net/no__stop/article/details/12287843 此题利用了ac自动机fail树的性质,fail指针建立为树,表示父节点是孩子节点的后 ...