ARP欺骗

MAC地址

一般我们称为物理地址,它是以太网或网络适配器的唯一标识符,MAC地址能够区分不同的网络接口,并使用多种网络技术,

MAC地址长48bit,在使用网卡(NIC)的情况下,MAC地址一般都会输入到ROM中,所以任何一个网卡的MAC地址都是唯一的。

ARP协议

又叫做地址解析协议 ,用来实现ip地址到物理地址的映射,即询问目标ip对应的MAC地址的一种协议。

一般使用于IPV4中,而IPV6中使用的是Neighbor。

简单来讲就是利用ip地址定位下一个应该接收数据分包的主机MAC地址,如果目标主机不在同一个链路上,那么查找下一个路由器的MAC地址。

ARP的工作机制

上图中的主机A与主机B位于同一个链路,不需要经过路由器的转换。

主机A向主机B发送一个ip分组,A的地址为192.168.1.2,B的地址为192.168.1.3,互相不知道对方的MAC地址,C和D是同一链路的其它主机。

如果A想获取B的MAC地址,A会通过广播的方式向以太网的所有主机发送一个ARP请求包,

而A发送的ARP请求包会被同一链路上的所有主机或路由器接收并解析。就是每个主机/路由器都会检查ARP请求包中的信息,如果ARP请求包中的目标ip地址和自己的相同,就会将自己主机的MAC地址写入响应包返回主机A。

通过ARp从ip地址获取MAC地址,实现同一链路内的通信

如果是不同链路的话该怎么办?

这就需要代理ARP,通常ARP会被路由器隔离,但是采用代理ARP的路由器的路由器可以将ARP的请求转发给临时的网段,使网段中的节点像是在同一个网段内通信。

ARP缓存

发送ip分组前通过发送一次ARP请求就能确定MAC地址,而ARP高效运行的关键就是维护每个主机和路由器上的ARP缓存,通过每一次ARP获取的MAC地址作为ip对MAC的映射关系到一个ARP缓存表中,下一次在向这个地址发送数据包时就不再需要发送新的ARP请求,直接利用这个缓存表的MAC地址进行数据包的发送,每发送一次ARP请求,缓存表中对应的映射关系都会被清除。MAC地址的缓存有一定的期限,超过该期限,缓存的内容会被清除

在Windows中对arp缓存的查询:

在Windows中使用"-"进行分隔,在Linux中用":"分隔

ARP结构

发送的ARP请求,一般包含着以下的信息,

(在以太网中转换IPV4的地址常用的ARP请求或响应的报文格式)

前面的14个字节构成标准以太网的首部,前面两个字HE段DST

和SRC分别表示以太网的目的地址和以太网的原地址,后面紧跟着ARP请求的长度或类型,ARP请求和ARP应答的值为:0x0806

ARP欺骗

顾名思义,ARP欺骗是针对以太网地址解析协议的一种攻击技术,通过欺骗局域网

内访问者PC的网关MAC地址,使访问者PC误以为攻击更改后的MAC地址是网关的MAC,导致网络不通。

攻击主机kali与被攻击主机CentOS

根据以上可以知道都在同一个链路

192.168.161.130和192.168.161.133

测试一下能否互通

网关ip(看CentOS):192.168.161.2

看CentOS能否上网,ping www.baidu.com观察后发现可以上网

在kali中开启Apache,并观察它的状态

扫描局域网内存在哪些主机,确定攻击的ip地址,如果不知道CentOS的ip地址时,

进行攻击需要再攻击机上使用arpspoof工具进行伪装网关

而arpspoof是dsniff的一个附属工具,所以需要下载一下

安装异常时,更换镜像并进行实时更新

进入/etc/apt路径,输入:

复制代码
cat sources.list <<EOF

输入新的镜像地址之后

进行镜像更新:apt-get update

进行断网攻击:

一般来说在实战中,我们要进行ARP欺骗前要打开ip转发,否则断网之后对方会被察觉

但是我们这里为了确认是否成功欺骗,没有开启

打开ip转发:

复制代码
  sysctl -w net.ipv4.ip_forward=1  或者 echo 1 > /proc/sys/net/ipv4/ip_forward

而kali中为了安全是没有ip转发功能的,配置文件写在了:

/proc/sys/net/ipv4的ip_forward,它的默认为0,修改为1

命令:

arpspoof -i 你的网卡名称 -t 攻击目标的ip地址 攻击目标的网关地址

现在看看CentOS中是否能够上网,不能上网,还有观察网关的mac和kali的mac此时相同,就能成功了

按Ctrl+c 停止,攻击机不在伪装,返回自己的MAC地址,CentOS又可以上网了。

但是arp欺骗存在局限性,仅能在局域网中进行,无法对外网进行攻击。

现在打开ip转发

使用相同的方法进行攻击,

ping一下百度,发现还可以上网,但是网速很慢,

如果正在浏览图片,也可以获取,但是要使用driftnet工具,监测网络流和获取TCP中的图片

drifnet工具可以获取http协议下传输的图片,因为http是明文传输,可以获取http流量中的图片数据,并将它解码为jpg格式的图片,储存在终端上,但是https就不可以了,尝试其他攻击SSLspli

一般命令:

复制代码
drifnet -i 自己的网卡名 -a 需要储存的目录 -d指定目录 -s 抓取声音

,这个在kali里面自带了。

打开方式: sudo ettercap -G

主要有两种方式

UNIFIED :以中间人方式嗅探,比较常用

BRIDGED :在双网卡的情况下,嗅探两块网卡之间的数据包

查看嗅探主机:

发起断网攻击并窃取数据包

加载插件:remote_broser插件

就可以进行远程攻击了,其实可以利用它来进行arp欺骗,但一般被攻击机时win系统

还可以利用它来进行http账户密码的获取,

复制代码
ettercap -Tq -i eth0

利用:sudo ip neigh flush all 在kali里面清除arp缓存

如何防范ARP欺骗?

主要通过:

主机绑定MAC地址和ip地址为静态,arp -s 网关ip 网关MAC;

网关绑定Mac地址和ip地址;

使用arp防火墙;

相关推荐
网络研究院2 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest2 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_961845152 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序猿阿伟2 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
InHand云飞小白2 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G2 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
江华森2 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒2 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php