ARP中间人

文章目录

        • ARP中间人
          • ARP协议介绍
          • 使用kali进行ARP毒化
          • 使用kali进行ARP中间人
          • 使用kali进行ARP钓鱼
          • ARP攻击防御
          • ARP总结

ARP中间人
ARP协议介绍

维基百科ARP介绍

ARP(地址解析协议)在网络通信中扮演着至关重要的角色,它通过将网络层地址(比如IPv4地址)映射到数据链路层地址
MAC地址来实现通信。ARP的基本功能是解析目标主机的IP地址以获取其对应的MAC地址,以便在局域网中正确地发送
数据包。当一台主机想要与另一台主机通信时,它需要知道目标主机的MAC地址,而ARP就是用来获取这个信息的协议。
ARP的工作过程大致如下:
1.主机A需要与主机B通信,但不知道主机B的MAC地址。
2.主机A向局域网中的所有主机发送一个ARP请求,请求中包含了它要通信的目标主机B的IP地址。
3.所有收到这个ARP请求的主机都会检查请求中的目标IP地址是否与自己的IP地址匹配,如果匹配,
则回复一个ARP响应,将自己的MAC地址发送给主机A。
4.主机A收到主机B的MAC地址后,就可以将数据包封装在以太网帧中,并将其发送到局域网中,以
太网帧中包含了目标主机B的MAC地址,确保数据包被正确地传送到目标主机B。
ARP协议利用方式
利用ARP协议的工作机制,欺骗目标主机,使其将数据发送到攻击者控制的主机上,而不是真正的目标主机,
可以进行ARP钓鱼与ARP毒化。
ARP窃取数据:通过ARP广播欺骗目标主机以为攻击机为路由器,获取HTTP的泄露信息比如账号密码,以及改变请求网址内容实现钓鱼。
ARP毒化:通过ARP广播欺骗大量主机,以为攻击机为路由器发起的请求经过攻击机,而攻击机丢弃了请求造成大量主机断网。
使用kali进行ARP毒化
简介:ARP毒化是指对局域网内的机器实现ARP表路由更新为非路由MAC地址导致机器无法使用路由功能从而断网。
使用:
需要安装disniff工具安装命令:
apt-get update
apt-get install dsniff
使用命令
netstat -rn 查看路由

在这里插入图片描述

arpspoof -i eth0 -t 毒化IP 路由IP

在这里插入图片描述

毒化前arp表信息

在这里插入图片描述

毒化后arp表查看192.168.80.2的物理地址变化

在这里插入图片描述

现在查看kali的物理地址发现一直说明ARP攻击成功造成计算机断网。

在这里插入图片描述

使用kali进行ARP中间人
简介:ARP中间人数据窃取是指将攻击目标ARP的路由表更新为攻击机的MAC地址,以为攻击机是路由器,攻击机开启路由功能使其能够正常访问互联网,被攻击目标没有任何感知因为以为攻击机是路由器因此所有流量都会转发到攻击机器上面只要开启抓包功能就可以窃取到攻击目标与网址通讯的流量,可以窃取如账号密码cookie等重要内容。
使用ARP中间人攻击需要确保访问的网站能够正常,所以要从断网变成正常的访问网址,因此实现类似于路由的功能。
使用:
使用kali开启路由
echo 1 > /proc/sys/net/ipv4/ip_forward
之前是0关闭路由功能限制开启,操作还是跟之前一样使用ARP攻击命令
arpspoof -i eth0 -t 毒化IP 路由IP
192.168.80.222 是劫持机器
192.168.80.2是路由

在这里插入图片描述

现在开始劫持了192.168.80.222的所有流量都会通过攻击机转发可以使用wireshark进行内容获取,如果是HTTP协议
将可能获取里面的账号密码造成数据泄露,也可以替换文件造成钓鱼攻击。
为了方便测试使用Python开启登录模块
from http.server import BaseHTTPRequestHandler, HTTPServer
import cgi# 创建一个自定义的请求处理类
class MyHTTPRequestHandler(BaseHTTPRequestHandler):# 处理 GET 请求def do_GET(self):self.send_response(200)self.send_header('Content-type', 'text/html')self.end_headers()self.wfile.write(b'''<html><body><form method="post"><label for="username">Username:</label><br><input type="text" id="username" name="username"><br><label for="password">Password:</label><br><input type="password" id="password" name="password"><br><input type="submit" value="Submit"></form></body></html>''')# 处理 POST 请求def do_POST(self):content_length = int(self.headers['Content-Length'])post_data = self.rfile.read(content_length)form = cgi.parse_qs(post_data.decode('utf-8'))username = form['username'][0]password = form['password'][0]self.send_response(200)self.send_header('Content-type', 'text/html')self.end_headers()self.wfile.write(f'<html><body>Username: {username}<br>Password: {password}</body></html>'.encode('utf-8'))# 启动 HTTP 服务器
def run_server():server_address = ('192.168.80.1', 8000)httpd = HTTPServer(server_address, MyHTTPRequestHandler)print('Server running...')httpd.serve_forever()if __name__ == '__main__':run_server()
下面劫持机器进行登录

在这里插入图片描述

	网卡的选择与ARP发包的网卡一致,为eth0

在这里插入图片描述

进行提交后可以看到成功捕获到了HTTP协议在数据包中成功找到账号123和密码pass666

在这里插入图片描述

使用kali进行ARP钓鱼
简介:ARP钓鱼是指修改攻击目标对域名的解析,解析自己搭建的钓鱼IP上让被攻击者认为是在正常访问网站,实际上访问的是由攻击者搭建的钓鱼网站,当目标输入账号密码等信息的时候钓鱼网站将记录这些内容。
命令:
利用ettercap工具进行ARP钓鱼使用kali启动ettercap已GUI的方式。
命令:ettercap -G
选择网卡为eth0

在这里插入图片描述

单机搜索查询局域网内所有机器显示结果如下:

在这里插入图片描述

现在咱们要进行ARP钓鱼劫持,首先选择要钓鱼的攻击右键选择IP192.168.80.222为Target1,192.168.80.12为路由为Target2.

在这里插入图片描述

选择完成后单击圆球选择ARP poisoning进行ARP攻击。

在这里插入图片描述

点击OK

在这里插入图片描述

现在查看被ARP攻击机器MAC地址是否改变,下面看到发生改变说明成功。

在这里插入图片描述

下面将进行DNS劫持将baidu.com修改为192.168.80.223的解析地址,这样当被攻击机器访问百度的时候实际上,
访问的是192.168.80.223实现劫持对页面内容进行任意修改实现钓鱼效果。
首先需要编辑Ettercap的配置文件内容如下:
vi /etc/ettercap/etter.dns
里面内容填写
baidu.com A 192.168.80.223

在这里插入图片描述

编辑完成后回到Ettercap选择单机Plugins。

在这里插入图片描述

继续单击Manage plugins

在这里插入图片描述

可以看到dns_spoof这个就是咱们需要的双击它会增加*说明成功

在这里插入图片描述

在这里插入图片描述

现在回到被攻击机ping baidu.com发现已经解析到192.168.80.223中,说明成功。

在这里插入图片描述

通过浏览器访问已经成功劫持。

在这里插入图片描述

ARP攻击防御
有攻击也就有防御,ARP攻击的本质是污染ARP表那么就有一种简单粗暴的方式来进行防御就是使用启用静态ARP条目
命令如下:
1.清除可疑的ARP缓存条目
arp -d *
2.启用静态ARP条目
arp -s <IP地址> <MAC地址>
例子:arp -s 192.168.1.1 00-11-22-33-44-55
ARP总结
从上述内容可以看到ARP攻击的危害非常大,然而在实际场景中使用往往不尽人意因为现在主流杀毒软件
已经对ARP攻击做了十足的防御只有在没有任何杀软的情况下才可以使用这种方式,因此除非在不得已的
情况下否则不会使用ARP欺骗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/836842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.1-17.2

目录 第 10 周 17、 大规模机器学习(Large Scale Machine Learning)17.1 大型数据集的学习17.2 随机梯度下降法 第 10 周 17、 大规模机器学习(Large Scale Machine Learning) 17.1 大型数据集的学习 如果我们有一个低方差的模型&#xff0c;增加数据集的规模可以帮助你获得更…

大模型LLM 结合联网搜索增强isou

参考&#xff1a; https://isou.chat/ https://github.com/yokingma/search_with_ai 安装github下载&#xff0c;运行docker compose 如果一直报下面错误&#xff1a; 解决方法https://github.com/yokingma/search_with_ai/pull/7 默认打开&#xff1a; http://192.16***…

系统网络基础知识介绍

1.路由 路由是指从原地址到目的地时&#xff0c;决定端到端路径的网络范围的进程&#xff0c;是工程术语。路由工作在OSI参考模型的第三层&#xff08;网络层&#xff09;&#xff0c;是数据包转发设备。12 路由是把数据从一个网络转发到另一个网络的过程&#xff0c;这个…

教练预约管理小程序开发源码现成案例(小程序、APP、H5圆源码搭建)

随着人们对身体健康越来越重视&#xff0c;对强身健体、健康个性化生活的需求日益增加&#xff0c;健身已成为时尚生活的标志。 然而&#xff0c;没有时间去健身房却成了很多上班族的痛点。健身房作为一项既能缓解工作压力又能缓解学业压力的运动&#xff0c;正好满足了当代人…

每日OJ题_贪心算法四⑦_力扣1054. 距离相等的条形码

目录 力扣1054. 距离相等的条形码 解析代码 力扣1054. 距离相等的条形码 1054. 距离相等的条形码 难度 中等 在一个仓库里&#xff0c;有一排条形码&#xff0c;其中第 i 个条形码为 barcodes[i]。 请你重新排列这些条形码&#xff0c;使其中任意两个相邻的条形码不能相等…

绝地求生PUBG初版艾伦格回归 初版艾伦格和新版有什么区别

PUBG终于迎来了经典的旧版艾伦格地图的回归&#xff01;我们希望通过本次经典艾伦格的回归为大家带回记忆中那一幕幕熟悉的场景&#xff0c;并让大家好好回味一番当年与好友们共同冒险的峥嵘岁月&#xff01;还怀念从前为了抢到自己最爱的武器而飞奔的日日夜夜吗&#xff1f;那…

如何对公司的重要文件进行保护以防止被误删或恶意删除呢?

企业数据是宝贵的资产&#xff0c;尤其是那些涉及核心竞争力和客户隐私的重要文件&#xff0c;一旦丢失或被恶意删除&#xff0c;可能会给企业带来不可估量的损失。 因此&#xff0c;如何对公司的重要文件进行保护以防止被误删或恶意删除&#xff0c;是每个企业都需要认真考虑的…

Java 常见的垃圾回收算法以及它们的优缺点(总结版)

在Java中&#xff0c;常见的垃圾回收&#xff08;Garbage Collection, GC&#xff09;算法主要有以下几种&#xff0c;每种都有其独特的优缺点&#xff1a; 引用计数算法&#xff08;Reference Counting&#xff09; 优点&#xff1a;实现简单&#xff0c;执行效率高&#xff0…

使用非官网购买Chatgpt的api调用

测试代码 from openai import OpenAI client OpenAI(api_key用户密钥) import json import os import timeclass ChatGPT:def __init__(self, user):self.user userself.messages [{"role": "system", "content": "Agent"}]def as…

【算法基础】简单的动态规划!你没见过的全新视角!

文章目录 动态规划导论使用动态规划加速斐波那契数列&#xff08;记忆化&#xff09;自底向上的动态规划经典的动态规划问题 动态规划导论 动态规划的关键是避免重复的计算。通常情况下&#xff0c;动态规划算法解决的问题可以用递归的方法解决。可以先尝试将问题写出最朴素的…

js图片回显的方法

直接上代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body>// HTML部分<input type"file" id"fileInput"><button onclick"show…

SSH常用功能介绍-高级功能

一、介绍 SSH&#xff08;Secure Shell&#xff09;是一种用于远程登录和执行命令的网络协议&#xff0c;它提供了加密的连接&#xff0c;保证了数据的安全性。除了基本的远程登录功能外&#xff0c;SSH还提供了许多高级功能&#xff0c;以下是一些常用的高级功能介绍&#xf…

神经网络笔记:感知机+激活函数+全连接神经网络简介

神经网络 单层神经网络 感知机模型 激活函数输出 感知机 MP模型 激活函数 把神经网络模型线性输出变为非线性输出 常用激活函数 sigmoid sigmoid(x) 1 / (1 exp(-x))适用于预测概率作为输出的模型优点 把输入值压缩到0-1之间物理意义上最接近生物神经元 缺点 存在梯…

OpenBayes 一周速览|SegmentAnything 分割万物教程上新、MiniGemini 多模态模型天花板一键 input

公共资源速递 This Weekly Snapshots &#xff01; 5 个数据集&#xff1a; * SAOKE 人工标注数据集 * AG News 新闻文章数据集 * VQA-HAT 智能问答数据集 * EQA 问答数据集 * HotpotQA 问答数据集 1 个模型&#xff1a; * MiniGemini-34B-HD 2 个教程&#xff1a; …

什么是 RAG,大模型微调,向量数据库的应用场景

原来向量数据库的应用场景是这样的&#xff01;按照我的理解&#xff0c;大模型其实是没有学习能力的&#xff0c;它就相当于一个真值表或者矩阵&#xff0c;给它输入&#xff0c;它就输出&#xff0c;在使用它的过程中它不会自己训练自己&#xff0c;改变既有的参数&#xff0…

IPC通信中间件综述

IPC通信中间件综述 DBus&#xff08;Desktop Bus&#xff09;FDBusDDS&#xff08;Data Distribution Service&#xff09;Fast DDS&#xff08;Fast Data Distribution Service&#xff09;OpenDDS&#xff08;Open Data Distribution Service&#xff09;IceoryxCyberRTZeroM…

亲测-原生android 跳转到flutter页面

当前状态: 原生android 和flutter都能跑通 android studio 版本2023.3.1 解决方式 1.新建flutter项目 点击new flutter 点next 点project type 选module 2&#xff08;如果快速的话&#xff0c;此处将 flutter的lib和assets考过来&#xff09;也可以后面在搞 且将pubspec.yaml …

3W 3KVAC隔离 宽电压输入 AC/DC 电源模块——TP03AL系列

TP03AL系列产品具有交直流两用、输入电压范围宽、高可靠性、低功耗、安全隔离等优点。广泛适用于工控和电力仪器仪表、智能家居等对体积要求苛刻、并对EMC 要求不高的场合&#xff0c;如果需要应用于电磁兼容恶劣的环境下必须添加EMC 外围电路。

栈结构(详解)

1.栈的概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&am…

java super关键字

在Java中&#xff0c;super是一个关键字&#xff0c;用于引用父类的成员&#xff08;字段、方法、构造方法&#xff09;。主要有两种用法&#xff1a; 1. 调用父类的构造方法&#xff1a;在子类的构造方法中&#xff0c;使用super()调用父类的构造方法。如果子类没有显式地调用…