这边博文主要讲一下怎么使用arp欺骗进行流量截获,主要用于已经攻入内网以后,进行流量监听以及修改。

一、什么是arp

    arp协议是以太网的基础工作协议,其主要作用是是一种将IP地址转化成物理地址的协议,在以太网上进行通信的时候并不直接使用ip地址作为主机标识,而是使用MAC地址,也就是物理地址。

    某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

    本地的arp缓存可以通过arp –a命令查看。

二、arp欺骗的工作原理

    假定C想监听A和B之间的通信,那么第一步就是C告诉A,我是B;同时高速B,我是A,这样A和B都会把发给对方的数据发送到C这里。

第二步C对收到的数据进行处理,然后再转发给真正的接收者。

    基本原理非常简单,就上面两句话,但是怎么做到的呢?我稍微详细说一下。

    第一步MAC 地址误导

    C怎么欺骗A,告诉他我才是B呢?

    这就是利用了ARP协议的一个标准请求,大家想一下,如果B想要给A发送数据的时候,如果他不知道A的MAC地址,就会在以太网(可以认为是这个局域网)广播一下,我是B,谁知道A的MAC地址是什么?为什么C不可以伪造这个过程呢?如果C伪造一个请求,在请求里面把IP地址下成B的,但是这个IP地址对应的MAC地址写成C自己的,那么A收到以后自然就会认为B的MAC地址是MAC C了。

    不过这样做有一个问题就是,网络上所有的主机都会形成这种错误认识,这个显然是不行的,因为我就想监听A和B之间的通信,不想监听A和所有主机的通信啊,那么怎么办呢?

    其实也很简单,就是一个小技巧,正常的ARP请求包中,因为不知道对方的MAC地址是什么,所以目的MAC填写的是广播地址FF:FF:FF:FF:FF:FF,这也就导致了所有的人都收的到,因为我们知道A的真实MAC地址是MAC A,所以在以太网帧中的目的MAC填写上MAC A,这样其他主机就会忽略该ARP请求,也就不会干扰其他主机的正常通信。

    同理,C也可以这样欺骗B,告诉它其实A的MAC地址是MAC C。

    第二步 进行包转发

    A和B发给对方的数据包都发到了C这里,那么肯定就不能正常通信,这样A和B就无法进行正常通信了,自然也就没必要进行监听了。

    所有C在收到包以后就必须进行转发,比如收到A发送给B的包以后,再将目的MAC地址修改为B真正的MAC B,然后再发送出去,这样B才能收到。同理对于B给A的数据包也一样。

    这里其实还有一个问题就是我们怎么判断这个数据包是A发送给B的呢?这个可以通过IP头中的目的IP是B和源IP是A来判断。那么会不会出现是A发送给B,但是目的IP不是B的这种情况呢?基本上只有一种例外情况,就是B是网关,那么A发送到外网的IP数据包都要发送到B,但是目的IP却可能是任意IP,不过这个IP地址却一定不是本局域网的IP。

    因此后一种情况可以通过指明B是网关,想监听A的一切外网访问来识别。

 

arp欺骗进行流量截获-1的更多相关文章

  1. arp欺骗进行流量截获-2

    上一篇讲了原理,那么这一篇主要讲如何实现.基本上也就是实现上面的两个步骤,这里基于gopacket实现,我会带着大家一步步详细把每个步骤都讲到. ARP 欺骗 首先就是伪造ARP请求,让A和B把数据包 ...

  2. ARP欺骗与MITM(中间人攻击)实例

    ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析 ...

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

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

  4. arp协议分析&python编程实现arp欺骗抓图片

    arp协议分析&python编程实现arp欺骗抓图片 序 学校tcp/ip协议分析课程老师布置的任务,要求分析一种网络协议并且研究安全问题并编程实现,于是我选择了研究arp协议,并且利用pyt ...

  5. 利用ARP欺骗进行MITM(中间人攻击)

    ARP欺骗主要骑着信息收集得作用,比如可以利用欺骗获取对方流量,从流量分析你认为重要得信息 0X01  了解ARP Arp协议 ARP(Address Resolution Protocol,地址解析 ...

  6. Arp欺骗和DNS投毒的实验性分析

    1.中间人攻击之Arp欺骗/毒化 本文涉及网络安全攻击知识,随时可能被永久删除.请Star我的GitHub仓库 实现原理: 这种攻击手段也叫做中间人攻击MITM(Man-in-the-Middle) ...

  7. 网络层主要协议与arp欺骗

    网络层主要协议与arp欺骗 目录 网络层主要协议与arp欺骗 一.网络层(Network Layer) 1.网络层的功能 2.IP数据报(IP Datagram) 二.网络层的主要协议 1.ICMP协 ...

  8. kali Linux 渗透测试 | ARP 欺骗

    目录 ARP 欺骗及其原理 ARP 欺骗实施步骤 必备工具安装 nmap 工具 dsniff 工具 driftnet 工具 ettercap 工具 ARP 欺骗测试 ARP 断网攻击 ARP 欺骗(不 ...

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

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

随机推荐

  1. 各种Java项目环境搭建-文档引用汇总记录

    springmvc环境搭建 1.如何用Maven创建web项目(具体步骤) 2.springmvc环境搭建,一步一步超简单

  2. Java面向对象-面向对象编程之基本概念

    面向对象这个概念,每本书上的说法定义很多. 我自己根据我的经验,自己归档总结了下, 所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象: 面向对象经常和面向过程放一起讨论: 这里举例, ...

  3. Spring Cloud Eureka 5 (服务发现与消费-简单的robbin使用)

    通过上述介绍,我们已经有了服务注册中心和服务提供者 下面我们来尝试构建一个服务的消费者 它要完成两个功能,发现服务和消费服务,其中发现服务由eureka客户端完成,消费服务由ribbon完成. rib ...

  4. OSCache-JSP页面缓存(1)

    一.OSCache提供的缓存标签 这是OSCache提供的标签库中最重要的一个标签,包括在标签中的内容将应用缓存机制进行处理,处理的方式将取决于编程者对cache标签属性的设置. 第一次请求到达时,标 ...

  5. Catalan数计算及应用

    Catalan数列是非常奇妙的一列数字,因为很多问题的解就是一个Catalan数.知道了这一规律,很多看似复杂的问题便可迎刃而解.那么什么是Catalan数,什么样的问题的解是Catalan数呢? 1 ...

  6. 刷题向》关于搜索+tarjan的奇怪组合题 BZOJ1194 (normal+)

    关于这道题,其实看懂了的话还是比较好写的,只是题目实在又臭又长,没有让人读下去的勇气. 给出题目翻译: 给你S张图, 每张图有M个点,其中M个点中有N个是特殊单位,会给出. 每个点又有0.1两条边指向 ...

  7. libevent源码分析

    这两天没事,看了一下Memcached和libevent的源码,做个小总结. 1.入门 1.1.概述Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络 ...

  8. linux设置rsync+inotify实时同步文件

    linux设置rsync+inotify实时同步文件   应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...

  9. laravel中的模型关联之(一对一)

    一对一 一对一的关联关系就相当于,赞和文章之间的关系,一个用户只能赞一次一个文章,只能和文章发生一次关系, 用户和赞的文章是唯一的一份,这里举得是判断用户是否赞过某个文章 一个参数都是你要获取的模型, ...

  10. 场景中,并没有灯源的存在,但是cube却会有灯光照射的反应,这就是Light Probe Group的作用。

    http://blog.csdn.net/qq617119142/article/details/41674755