网络安全实验:利用Ettercap实现同一网段设备的数据流监听

devtools/2024/12/24 2:14:31/

网络安全实验:利用Ettercap实现同一网段设备的数据流监听

实验环境
  • 攻击机Kali Linux(或其他支持Ettercap的Linux发行版)
  • 靶机:Metasploitable2-Linux,IP地址为 192.168.1.32,运行DVWA(Damn Vulnerable Web Application)
  • 主机:Mac OS,IP地址为 192.168.1.21
  • 目标:监听并获取主机访问靶机上DVWA的登录信息
注意事项
  1. 合法性:确保你有合法授权进行此实验。
  2. 受控环境:在虚拟化或隔离的环境中进行测试,避免影响生产网络。
  3. 隐私保护:不要捕获或使用真实用户的敏感信息。

实验步骤

1. 安装和配置Ettercap

确保你的攻击机上已经安装了Ettercap。如果没有,请使用以下命令安装:

sudo apt-get update
sudo apt-get install ettercap-graphical
2. 启动Ettercap图形界面
sudo ettercap -G

在这里插入图片描述

3. 选择网络接口
  • 在启动后的Ettercap窗口中,选择你要使用的网络接口(例如 eth0wlan0),然后点击“OK”。

在这里插入图片描述

4. 扫描主机
  • 转到菜单栏中的 Hosts -> Scan for hosts,开始扫描同一网段内的所有设备。
  • 扫描完成后,通过 Hosts -> Hosts list 查看发现的主机列表,确认 192.168.1.32192.168.1.21 是否在列表中。
    在这里插入图片描述
5. 设置中间人攻击(MITM)
  • 转到 Mitm 菜单,选择 Arp poisoning,然后点击 Start
  • 确保选中 Sniff remote connections,不要选 Only poision one-way 选项,以捕获更多流量。

在这里插入图片描述

在这里插入图片描述

6. 添加目标主机
  • 转到 Hosts -> Hosts list,右键点击 192.168.1.32192.168.1.21,选择 Add to Target 1Add to Target 2
  • 这将使Ettercap专门针对这两台主机进行中间人攻击。

在这里插入图片描述

在这里插入图片描述

7. 捕获HTTP流量
  • 转到 Plugins -> Manage the plugins,启用 http.sniffer 插件,用于捕获HTTP流量中的用户名和密码。
  • 如果需要更详细的分析,还可以启用其他插件,如 sslstrip 用于捕获HTTPS流量(注意:这可能涉及法律风险,需谨慎)。
8. 开始监听
  • 回到主界面,点击底部的 Start 按钮来启动监听。
  • 此时,Ettercap将开始捕获并显示通过该网段的所有通信流量,特别是靶机2访问DVWA的HTTP请求。

在这里插入图片描述

9. 访问DVWA并尝试登录
  • 在靶机2(Mac OS)上,打开浏览器,访问 http://192.168.1.32/dvwa
  • 尝试登录DVWA,输入用户名和密码。
    在这里插入图片描述
10. 分析捕获的数据
  • 回到攻击机上的Ettercap界面,转到 View -> Hosts list,查看捕获的流量。
  • 特别关注 http.sniffer 插件捕获的HTTP POST请求,其中应包含DVWA的登录信息(用户名和密码)。
  • 你可以在Ettercap的日志文件中找到这些信息,日志文件通常保存在 /var/log/ettercap 目录下。
11. 停止监听
  • 完成实验后,记得停止监听 (Stop) 并清除任何设置的MITM攻击 (Stop mitm attacks)。
12. 清理环境
  • 关闭所有相关的工具和服务,恢复网络环境至初始状态,防止潜在的安全风险。

结论

通过上述步骤,你可以在合法授权和受控环境下,使用Ettercap成功监听并捕获同一网段内两台主机之间的HTTP流量,包括登录信息。务必遵守相关法律法规,并仅在获得明确授权的情况下进行此类操作。

额外提示

  • 学习资源:阅读官方文档和其他权威资料,了解Ettercap的更多高级功能和最佳实践。
  • 实践练习:利用虚拟机环境搭建小型网络拓扑结构,进行更深入的学习和实验。

http://www.ppmy.cn/devtools/144865.html

相关文章

Flutter将应用打包发布到App Store

使用Flutter将应用打包发布到App Store的详细步骤及流程图: 流程图 #mermaid-svg-X09iOP2FtRxwKsWw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-X09iOP2FtRxwKsWw .error-icon{fill:#552222;}#mermai…

C语言经典100例

文章目录 前言123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525355565859606162636465 前言 以下题目大部分来自于C语言经典100例 1 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的…

【BUG记录】Apifox 参数传入 + 号变成空格的 BUG

文章目录 1. 问题描述2. 原因2.1 编码2.2 解码 3. 解决方法 1. 问题描述 之前写了一个接口,用 Apifox 请求,参数传入一个 86 的电话,结果到服务器 就变成空格了。 Java 接收请求的接口: 2. 原因 2.1 编码 进行 URL 请求的…

在THREEJS中加载3dtile模型

前言 3D Tiles 是一种用于高效传输和渲染大规模三维场景数据的开放规范。 它通过将复杂的三维场景分解成小块(tiles),并根据用户的视角动态加载和渲染这些小块,从而实现了对大规模三维数据的有效管理和显示。 3D Tiles 格式具有…

[Unity Shader]【游戏开发】【图形渲染】Shader数学基础7-矩阵变换概览及其几何意义

矩阵在计算机图形学中的重要作用在于描述和执行几何变换,例如旋转、缩放和平移。这篇文章将概述变换矩阵的核心概念,尤其是它们的几何意义和常见类型,同时对比它们的数学特性。 1. 矩阵的几何意义:变换 变换(Transform)是将一些数据(如点、方向矢量、颜色等)按照一定规…

CMake的INSTALL FILES和INSTALL DIRECTORY有什么区别

在 CMake 中,install() 命令用于安装构建的目标文件、头文件、库等到指定的目标路径。install(FILES ...) 和 install(DIRECTORY ...) 都是 install() 命令的具体用法,它们的功能和适用场景不同。 以下是两者的详细区别和用法说明: 1. insta…

(2024.12自用存档)Ubuntu20.04——DynSLAM运行命令

前面忘记记录了,大概记一下后面 看了很多大佬的文章(感谢!),包括但不限于以下参考文章: Ubuntu16.04编译dynslam总结-CSDN博客 ubuntu14.04 CUDA8.0 DynSLAM编译与运行-CSDN博客 【视觉SLAM十四讲】Pan…

JS进阶-面向对象-搭建网站-HTML与JS交互

JS进阶 文章目录 JS进阶大纲作用域和闭包作用域块级作用域语句作用域全局作用域 闭包调用闭包的方法全局变量返回值 面向对象实例化构造函数添加对象的成员prototypeproto和prototype理解原型和实例 对象原型的误解原型链this指向浏览器环境Node JS环境 JS逆向常见方法call和ap…