无线局域网的嗅探攻击和防御

-----ettercap+driftnet

1 实验要求和目的

●了解局域网转发数据的规则与协议

●了解抓包软件的原理与操作流程

●对网络中数据传输的协议有更深层次的认识

2  实验原理和背景知识

2.1 抓包软件与分析软件

本次嗅探试验所使用到的工具有两个,ettercap和driftnet。 ettercap是一款现有流行的网络抓包软件,他利用计算机在局域网内进行通信的ARP协议的缺陷进行攻击,在目标与服务器之间充当中间人,嗅探两者之间的数据流量,从中窃取用户的数据资料。

ettercap的介绍

ettercap有两种运行方式,UNIFIED和BRIDGED。UNIFIED的方式是以中间人方式嗅探,基本原理是同时欺骗主机A和B,将自己充当一个中间人的角色,数据在A和B之间传输时会通过C,C就可以对数据进行分析,从而完成嗅探。BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包。

ettercap的sniffing工作方式划分为五种:

1)IPBASED:在基于IP地址的sniffing方式下,ettercap将根据源IP-PORT和目的IP-PORT来捕获数据包;

2)MACBASED:在基于MAC地址的方式下,ettercap将根据源MAC和目的MAC来捕获数据包(在捕获通过网关的数据包时,该方式很有用);

3)ARPBASED:在基于Arp欺骗的方式下,ettercap利用Arp欺骗在交换局域网内监听两个主机之间的通信(全双工);

4)SMARTARP:在SMARTARP方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有已知的其他主机(存在于主机表中的主机)之间的通信(全双工);

5)PUBLICARP:在PUBLICARP 方式下,ettercap利用Arp欺骗,监听交换网上某台主机与所有其它主机之间的通信(半双工)。此方式以广播方式发送Arp响应,但是如果 ettercap已经拥有了完整的主机地址表(或在ettercap启动时已经对LAN上的主机进行了扫描),ettercap会自动选取 SMARTARP方式,而且Arp响应会发送给被监听主机之外的所有主机,以避免在Windows主机上出现IP地址冲突的消息。

在操作ettercap时,常使用-M参数,即选择中间人攻击模式,有如下几种攻击方式:

1)基于Arp毒化的中间人攻击:Arp毒化的原理可简单理解为伪造MAC地址与IP的对应关系,导致数据包由中间人截取再转手发出。Arp毒化有双向(remote)和单向(oneway)两种方式。双向方式将对两个目标的Arp缓存都进行毒化,对两者之间的通信进行监听。而单向方式只会监听从第一个目标到第二个目标的单向通信内容。一般会选择使用双向欺骗的方式来获取所有的数据包进行嗅探分析。

如:#ettercap -M arp:remote /192.168.1.102//

对应的含义是:表示对192.168.1.102的所有端口的通信进行嗅探,包括其发出的数据包和收到的数据包。

2)icmp欺骗:icmp欺骗即基于重定向(redirect)的路由欺骗技术。其基本原理是欺骗其他的主机,将自身伪装为最近的路由,因此其他主机会将数据包发送过来,然后作为中间人的攻击者再重新将其转发到真正的路由器上。于是我们便可以对这些数据包进行监听。当然,icmp欺骗不适用于交换机的环境,若本机在交换机的环境下则最好选择arp毒化的方式来进行攻击。icmp欺骗方式的参数是真实路由器的MAC和IP,参数形式为(MAC/IP)。

如: #ettercap -M icmp:00:11:22:33:44:55/192.168.1.1

对应的含义是:将自己伪装成真实路由器的MAC和IP。

  1. DHCPspoofing:DHCP欺骗的原理是将攻击者的本机伪装成DHCP服务器,代替真实的DHCP服务器给新接入网络的受害主机动态分配IP。这样的缺点是可能会与真实的DHCP服务器重复分配IP造成冲突,而且只能针对新接入网段的主机,难以影响到之前的主机。DHCP spoofing方式的参数是可以分配出去的IP地址池、子网掩码和DNS,参数形式为(ip_pool/netmask/dns)。

    如:#ettercap -M dhcp:192.168.1.102,35,50-60/255.255.255.0/192.168.1.1
        对应的含义是:将分配192.168.1.102,35,50-60内的地址,子网掩码为255.255.255.0,DNS服务器为192.168.1.1。

  2. PortStealing:此攻击方式适用的环境为交换机下,且路由器中IP和MAC绑定,无法进行Arp欺骗。其基本思想是,既然无法欺骗路由器的IP和MAC对应关系,那么就欺骗交换机,使原本应该通过交换机端口到达目标主机的数据包被传入了攻击者的端口。需要指出的是,由于这个方法只用于交换机环境,且会产生大量的数据包,可能会严重影响网络状况。

    ettercap参数及常用操作

    -I  显示可用网卡接口设备
        -i  选择接口
        -t  协议选择,tcp/udp/all,默认为all
        -p  不进行毒化攻击,用于嗅探本地数据包
        -F  载入过滤器文件
        -V  text 将数据包以文本形式显示在屏幕上
        -L  filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)

    driftnet的介绍

    driftnet是一款用于抓取指定接口数据流上面图片的软件,并且把嗅探到的图片显示在Linux下的一个窗口当中。

    driftnet命令的使用语法:driftnet   [options]  [filter code]

    主要参数:

    -b             捕获到新的图片时发出嘟嘟声

    -i  interface     选择监听接口

    -f  file         读取一个指定pcap数据包中的图片

    -p             不让所监听的接口使用混杂模式

    -a             后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)

    -m number     指定保存图片数的数目

    -d directory     指定保存图片的路径

    -x prefix        定保存图片的前缀名

2.2 ARP欺骗原理

由于此嗅探方法使用的是ARP欺骗,所以就得先了解一下ARP的原理。

主机A向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。若未找到,则A广播一个ARP请求报文(携带主机A的IP地址和物理地址),请求IP地址为主机B,并将主机B的MAC发给主机A。网上所有主机包括B都收到ARP请求,但只有主机B符合该IP,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用该MAC地址发送数据。因此,本地高速缓存ARP表是本地网络流通的基础,且是动态的。

ARP欺骗共有两种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

路由器ARP表的欺骗是给路由器发送一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。

对内网PC的网关欺骗是将攻击者伪装成网关,让被欺骗的PC向自己发送数据,以截获所想要的内容。

3  实验环境简介与操作步骤

实验原理图:

图 30.1 ARP欺骗原理图

主机A使用ettercap软件,利用ARP欺骗原理,欺骗主机B将自己变成网关,主机B在对外传输数据时,便将数据传送给假网关—主句A,主机A就可以窃听分析主机B的数据包。再利用driftnet软件分析窃听到的数据,就可以看到主机B所浏览的内容。

3.1 利用ettercap+driftnet截获目标主机的图片数据流

实验前提准备:两台电脑,笔记本为Linux操作系统,均处在同一局域网下,且都能连接外网。

第一步:使用Ctrl+alt+T快捷键开启Linux终端,并下载安装ettercap抓包软件

图 30.2 ettercap软件下载安装

第二步:driftnet嗅探软件的安装命令

图 30.3 driftnet软件的下载安装

第三步:开启ettercap抓包软件,使其监听目标主机

图 30.4 开启ettercap抓包软件

第四步:开启driftnet软件,开始分析目标主机的浏览的图片

图 30.5 开启driftnet软件分析数据

第五步:目标主机开始浏览图片,driftnet软件小窗口显示主机B所浏览的图片

图 30.6 driftnet所窃听的图片

3.2 利用ettercap进行arp欺骗截获字节流

第一步:下载安装ettercap软件

图 30.7 ettercap软件安装

第二步:进入ettercap的GTK+ UI工作界面

图 30.8 进入GTK+ UI工作界面

图 30.9 GTK+ UI工作界面

第三步:打开ettercap后,选择Sniff----Unified-sniffing,再选择网卡

图30.10 监听网卡

第四步:点击Hosts---Scan forhosts---Hosts list,可以看到目标主机的IP(192.168.1.102)

图 30.11 查询目标主机IP

第五步:选定目标主机B,点击add to target 1,将主机B添加到目标1;选定路由,点击add to target 2,将路由添加到目标2

图 30.12将目标主机及路由器添加到窃听目标

第六步:点击mitm --- arpposoning ,勾选sniff remoteconnections

图 30.13 开启远程嗅探连接

第七步:点击start --- startsniffing开始监听,再点击view --connections开始查看连接,双击链接查看详细信息

图 30.14 查看获取文字流详细信

图 30.15 截取到的路由器登录账户与密码

5 结果分析与讨论

本次无线局域网嗅探实验利用ARP欺骗原理,使用ettercap和driftnet两款抓包分析软件,分别截取目标主机的文字流和图片流,深入了解了ettercap和driftnet两款软件的工作模式,以及网络协议ARP的原理。

6 实验扩展与分析

本次试验只是使用了ettercap软件四种界面:Text,Curses,GTK2 ,Daemonize中的两种,有兴趣的同学可以自行尝试其他几种。此外,抓包软件数不胜数,比如还有wireshark抓包软件,可以利用wireshark深入学习网络的7层模型以及各种协议。

7 注意事项与资源

本次试验是在Linux环境下实现的,所以需要一部分的Linux知识。目标主机和攻击者是在同一个局域网内,不同网段是不能完成相应的实验的。在截取图片时,目标主机需得在攻击者窃听后开启浏览器浏览带图片的网页,而后攻击者才会获取到图片流。

无线局域网的嗅探攻击和防御——ettercap+driftnet相关推荐

  1. 无线局域网技术分析及攻击实战

    文章目录 开始阅读前的注意事项 无线局域网安全协议分析及攻击实战 0.摘要 1.无线局域网安全协议分析 1.1 安全协议背景 1.2 WEP协议分析 1.2.1 安全网络操作流程 1.2.2 加解密原 ...

  2. 无线局域网DDoS攻击概述

    随着计算机网络技术的发展,无线局域网成为高速发展的无线通信技术在计算机网络中实现通信移动性.个性化和多媒体应用等.但是,由于无线通信的传播介质是毫无实体保护的空气,无线 发送的数据就有可能到达覆盖范围 ...

  3. ARP协议全面实战手册——协议详解、攻击与防御(内部资料)

    试读地址:http://pan.baidu.com/s/1pJFLsh1 内容介绍: ARP是TCP/IP的一个基础协议.它可以将IP地址转化为MAC地址.由于它工作在链路层上,所以它成为网络通信重要 ...

  4. 『网络协议攻防实验』DNS欺骗攻击与防御

    前言 靶机:seedubuntu 12.01,IP:192.168.199.138 攻击机:Kali-2020.4,IP:192.168.199.129 工具:ettercap 原理 DNS(Doma ...

  5. 网络安全——网络攻击原理(嗅探攻击、截获攻击、拒绝服务攻击)

    摘要: 网络攻击是导致网络安全威胁的主要原因,嗅探攻击.截获攻击.拒绝服务攻击等是常见的网络攻击.网络攻击和网络安全是矛盾的两个方面,但是了解网络攻击手段可以帮助我们更好地保护网络安全.嗅探攻击是被动 ...

  6. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  7. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  8. [文摘20080428]无线局域网的相关网络安全技术应用指南

    无线局域网(WirelessLocalAreaNetwork,WLAN)具有可移动性.安装简单.高灵活性和扩展能力,作为对传统有线网络的延伸,在许多特殊环境中得到了广泛的应用. 随着无线数据网络解决方 ...

  9. DDoS攻击及防御技术综述

    DDoS攻击及防御技术综述 本文内容为论文转载. 摘    要: 分布式拒绝服务攻击 (Distributed Denial of Service, DDoS) 是互联网上有严重威胁的攻击方式之一, ...

最新文章

  1. python中文解释-python注释不能识别中文
  2. 【论文阅读和实现】On Spectral Clustering: Analysis and an algorithm【Python实现】
  3. 单片机设置12分频c语言,AT89C51单片机,如何实现延迟一秒
  4. 爬虫:Charles证书设置为系统信任证书(root)
  5. 提供程序未返回 ProviderManifestToken 字符串
  6. Excel只能输入不能修改
  7. linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数
  8. vlc学习计划(2)---二进制包安装及使用
  9. java如何取到配置文件中值,从配置文件中获取配置信息的几种方法
  10. 评《货币战争》:问苍茫大地谁主沉浮? 第一次转这样的帖子
  11. 54.购物流程(1)---simple product
  12. paip.mysql 批量kill 连接.
  13. Common-BeanUtils 使用
  14. 华为路由hilink_huawei hilink官方下载
  15. 百度文库刷财富值软件-第二版
  16. KVM虚拟化技术介绍以及相关操作
  17. 安装过MongoDB(4版本)重新安装时出现错误Verify that you have sufficient privileges to start system services如何解决
  18. 生信常用分析图形绘制02 -- 解锁火山图真谛!
  19. U盘0字节,无法格式化,无法打开解决办法
  20. Java P1428 小鱼比可爱 洛谷入门题

热门文章

  1. 关于MySQL命令行登录问题
  2. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3
  3. docker容器相关异常certificate signed by unknown authority或者action: push: unauthorized to access repository
  4. 安装linux系统之后,开机时没有Windows系统选项的解决办法(Ubuntu,Deepin,Centos,Redhat,Fedora)
  5. IDEA中SpringBoot打包与服务器部署
  6. centos6.9中glibc升级失败救援+救援模式挂载硬盘
  7. iOS【Flutter「发布预览版 2」让 iOS 应用至臻完美】
  8. nginx-1.20.2 编译安装
  9. 【bzoj2149】拆迁队
  10. Redis2.8从入门到精通文档