网络安全基础之arp
ARP(Address Resolution Protocol),中文解释为地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。
ARP大致工作流程如下:
- 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。
- 收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
- 地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存(重点来了,我们要利用的就是这个点!)
那么 我们如何利用ARP协议来进行断网攻击呢?大致思路如下:
首先,ARP是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷:
ARP地址转换表(ARP缓存)是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。这就是所谓的APR欺骗攻击。
ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患,这里我们是使目标主机通信失败,之后的教程会介绍重定向的方法。
ARP攻击大致流程如下:

第一步:假设主机A访问某网站,那么要告知某网站我的IP和MAC地址,但这是以广播的方式告知的。
第二步,由于是广播方式告知,猥琐的B主机也知道了A的IP和Mac地址,于是猥琐的B主机把自己伪装成某网站,给A发送回复,A误以为B就是某网站,因此更新了自己本机的ARP缓存。
第三步,两者建立连接,A不断将自己的请求发给B,可怜的某网站被挂在一遍了。如果B转发A的请求给某网站,再转发给A,那相当于A的流量都从B经过,这就是步骤4,因此可以会话劫持;如果B给A的是一个假地址,那么可怜的A永远上不了网了。
如何进行伪造地址的详细资料在参考资料里有详细说明,读者可以自己仔细了解下原理。
下面讲解如何在Kali下进行ARP断网攻击:
攻击方需要与被攻击方在同一个内网,攻击者需要知道被攻击者的IP。由于本文的目的是学习研究ARP,所以这里如何获取被攻击者的IP我们不做详细介绍,有兴趣的自己找资料。我们把本机作为被攻击者,虚拟机上运行Kali作为攻击者
先在本机访问网页,看一下是否可以顺利访问
arpspoof -i eth0 -t 192.168.106 192.168.1.1
命令行方式
接下来,我们尝试ARP欺骗,获取被攻击者的用户名和密码。
首先,我们要使用的工具还是ARPSpoof,因为我们此次攻击方式是欺骗,同时,我们还是用Eteercap去嗅探目标靶子的流量,来获取目标的重要信息。
但是,首先要开始IP转发功能,linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1
此时欺骗成功,接下来我们使用ettercap嗅探。
ettercap -Tq -i eth0
网络安全基础之arp的更多相关文章
- 网络基础三 ARP 地址分类 NAT技术
第1章 OSI回顾 1.1 TCP/IP协议族组成 应用层 主机到主机层 互联网层 网络接入层 1.2 总结应用层掌握的协议与端口号对应关系 http(80) telnet(23) ftp(2 ...
- Linux基础命令---arp
arp arp指令用来管理系统的arp缓冲区,可以显示.删除.添加静态mac地址.ARP以各种方式操纵内核的ARP缓存.主要选项是清除地址映射项并手动设置.为了调试目的,ARP程序还允许对ARP缓存进 ...
- 20165218 《网络对抗技术》 Exp9 网络安全基础
Exp9 网络完全基础 基础问题回答 SQL注入攻击原理,如何防御 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. ...
- 网络基础:ARP 协议、IP协议、路由协议 均属于网络层协议
ARP协议 ARP--地址解析协议(Address Resolution Protocol),实现通过 对方的IP地址(域名) 寻找对方的 MAC地址 ARP的功能 本地电脑查看 IP 和 MAC 对 ...
- 【网络基础】ARP地址解析协议
ARP(Address Rssolution Protocol) 地址解析协议 用于将IP地址解析为MAC地址. MAC地址是设备的物理地址,是被分配给每一个网络接口卡的全球唯一序号. 全球唯一:理论 ...
- Python黑帽编程 3.1 ARP欺骗
Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...
- Python黑客编程ARP欺骗
Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...
- 从微观到宏观,遍历网络安全这幅有向图——By Me
“可视化”是网络安全领域的前沿技术与可靠保障.笔者所在的西电捷通是一家领先的网络安全基础技术国际研究机构.一直从事网络安全基础技术研发与技术转移.笔者在2011年底入职典型技术之上的西电捷通公司,那时 ...
- 网络安全-安全散列函数,信息摘要SHA-1,MD5原理
-----------------------------------------------欢迎查看网络安全连载博客-----------------------------------[网络安全] ...
随机推荐
- Python xlrd、xlwt、xlutils修改Excel文件-OK
一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件. 首先,打开workbook: import xlrdwb = ...
- POJ2080:Calendar(计算日期)
Calendar Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12842 Accepted: 4641 Descrip ...
- MD5 校验文件
https://blog.csdn.net/wudishine/article/details/42466831 MD5.h #ifndef MD5_H #define MD5_H #include ...
- docker-machine create --driver virtualbox myvm1 创建失败
1. 问题描述 docker-machine create --driver virtualbox myvm1 安装完 virtualbox 后,无法创建. 输出内容为: Running pre-cr ...
- <正则吃饺子> :关于使用pd创建表时需要注意的地方
公司项目使用pd设计数据库表.之前用过,但是年代比较久远了,有些细节忘记了,今天重新使用时候,生疏了,现在稍微记录下吧. 1.pd创建表的使用,可以直接从网上搜索,博文比较多,如 “pd 设计数据库表 ...
- CentOS 7 搭建 LAMP
一.安装httpd 1.yum install httpd -y 2.启动服务:systemctl start httpd 3.设置开机启动:systemctl enable 二.安装mariadb ...
- HTTP 400 错误 编译器错误消息: CS0016
问题:运行程序时提示http 400错误 解决方法: 去掉勾 尝试将网页发布到本地IIS上,发现出现以下错误: 编译器错误消息: CS0016 解决编译器错误消息: CS0016:方法如下: 一般都是 ...
- GIT URI
https://u3shadow@code.google.com/p/myandorid/
- 树莓派 Learning 003 --- GPIO 000 --- GPIO引脚图
树莓派 Learning 003 - GPIO 000 - GPIO引脚图 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 Raspberr ...
- Spring入门第三十课
基于XML的方式配置事务 直接看代码: package logan.study.spring.tx.xml; public interface BookShopDao { //根据书号获取书的单价 p ...