ARP欺骗分析
(作者原创,欲转载请说明出处)
1.arp介绍
arp:地址解析协议;将IP地址映射为MAC地址。
2.为什么要有arp
平时上网我们都知道要有一个IP地址才能上网,那arp用来干嘛的呢?如果我们学习过计算机网络,就应该知道,上网需要网络协议-》TCP/IP协议(抽象上)有四层,上三层传输数据需要IP地址传输,最底一层数据传输则需要ARP解析成MAC地址进行传输。
3.简单介绍局域网中两台电脑之间数据传输
假设:
源主机 A ip:192.168.1.1
目标主机 B ip:192.168.1.2
A要向B发送数据,A如何发给B呢?
A先通过软件编写好要发送的内容,点击发送 -》解释:此时,电脑将要发送的内容,从软件中(或者可以理解为:软件界面中的文本框中)读取数据,将数据从内存中复制到网卡缓存中,在这期间电脑软件自动将要发送到的目标主机地址(这里的目标主机地址是指IP地址)写好。
注意:网卡发送到的目标地址是MAC地址(只能发送到MAC地址,网卡属于网络接口层,即最下层,只能接触MAC地址,并不接触IP),但现只知道IP如何知道MAC呢?
这时就要用arp协议了,这时,网卡向整个局域网发送一个广播:谁是 192.168.1.2?把他的MAC地址告诉192.168.1.1。如果B在局域网中,收到该条广播将自己的IP 地址和广播的IP地址进行比对,如果相同则向A发送一个响应包:我的IP是192.168.1.2,我的MAC 地址是BB-BB-BB-BB-BB-BB。其他主机收到后比对IP,IP不同则忽略广播包。如果B不在局域网中,则广播后无响应,则向该局域网连接的路由器发送请求,得到路由器的MAC地址,将刚才的广播信息发给路由器,路由器再进行转发(这里已经不属于局域网的范畴了,我们不在讨论)。
为什么要用arp转发?答:局域网由交换机组成(不考虑其他原因,这里仅是为了讲解问题),交换机中存储的MAC地址,A->B发送信息,两台主机如果在一个局域网中,且AB都互相知道对方的IP和MAC,这时,消息从网卡发出(包括地址信息)-》到交换机,交换机从MAC表中查找目标主机的MAC,查找到MAC->端口(端口指的主机网线连接到交换机上的口),将消息转发给这个端口,B网卡收到该消息比对MAC->比对ip->交给软件.(传输层的端口用来表示给那个软件(进程),这里不讨论),最终从A发出的消息被B收到。
4.arp欺骗
假设:C 攻击者
这里可以看出在A发送广播的时候,如果C冒充B,则可以将自己MAC告诉A,说我就是192.168.1.2,我的MAC是CC-CC-CC-CC-CC-CC(其实这个MAC地址是C的)。如何伪造这份信息呢?这就要用到内核编程了(之前我也很好奇,如果做到伪造,比如说伪造IP,冒充网关进行DNS欺骗)在我慢慢看书积累的过程中,《Linux网络编程》(第二版)宋敬彬P492,写道在linux内核中的netfilter框架(自行百度这个框架的信息吧),框架中有5个钩子点(钩子:程序在系统处理之前,先让用户程序处理一遍,这个用户程序就是钩子程序),在IP层(arp协议属于ip层)最后一个钩子点处,即数据包即将要通过网卡出去的包,这里进行伪装,发送虚假信息给A。
这里读者可能又问了,我怎么知道A什么时候发消息给B呢?地址解析协议ARP是有一定时间的,即需要不停的发送,指出,其实每台主机都要维护一个ARP表,这个表就是缓解网络压力,刚发的IP对应的MAC我们先放到这个表中,不需要每次都要发送ARP广播,但不是一直都是固定的ARP信息,因为这里有很多情况出现,比如A关机了/换网卡了等,所有这里虽然有ARP表进行记录,但也是要经常更新滴。所以我们可以主动向A主机发送虚假的ARP信息,A就会以为B-IP对应的MAC就是B的(其实C已经欺骗了A)。A-》B发送信息,其实是发送给了B,这样就完成了ARP欺骗。
当然ARP欺骗只是打个前站,欲知后事如何且听下回分解!
笔者能力有限,如有不对,还请大牛不吝指导。邮箱:aq_ss@qq.com
ARP欺骗分析的更多相关文章
- arp协议分析&python编程实现arp欺骗抓图片
arp协议分析&python编程实现arp欺骗抓图片 序 学校tcp/ip协议分析课程老师布置的任务,要求分析一种网络协议并且研究安全问题并编程实现,于是我选择了研究arp协议,并且利用pyt ...
- Arp欺骗和DNS投毒的实验性分析
1.中间人攻击之Arp欺骗/毒化 本文涉及网络安全攻击知识,随时可能被永久删除.请Star我的GitHub仓库 实现原理: 这种攻击手段也叫做中间人攻击MITM(Man-in-the-Middle) ...
- ARP欺骗病毒,网页“篡改”,注入iframe代码!
---------------权威资料看这里--------------- 清华大学信息网络工程研究中心-中国教育和科研计算机网应急响应组<ARP 欺骗网页劫持攻击分析>PDF文件,直接I ...
- 防止ARP欺骗的方法!!!
防止ARP欺骗的方法!!! 根据鄙人上网经常掉线,怀疑可能是某人使用网络剪刀手,网络执行官,局域网终结者等工具.经过搜索有关资料,有了一点点防范经验,借以参考~! 一 首先我们来了解下这类攻击工具的原 ...
- 中间人攻击之arp欺骗 科普ARP欺骗
中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的M ...
- ARP欺骗攻击
一.ARP攻击概述 ARP攻击主要是存在于局域网中,通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机 ...
- ARP协议分析(Wireshark)
一.说明 1.1 背景说明 以前学网络用的谢希仁的<计算机网络原理>,一是网开始学不太懂网络二是ARP协议是没有数据包格式的(如果没记错应该是没有).学完只记得老师说:ARP很简单的,就是 ...
- 【转】如何判断ARP欺骗?该怎么防护?
因为在进行通信的时候,数据是通过MAC地址与IP地址的对应关系来进行转发的.若其中MAC地址与IP地址对应的关系出错,就会导致数据错误转发,影响正常通信.通过某种手段,来更改MAC与IP地址的对应关系 ...
- ARP欺骗与MITM(中间人攻击)实例
ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析 ...
随机推荐
- SMD晶振发展和智能手机的普及总是惊人的相似!
其实触屏手机在2002年前后就已经出现了,但那个时候的触屏手机不算是现在的这种智能手机,有人说最早发行触屏手机的是诺基亚,也有人说是苹果还有人认为摩托罗拉.总之众说纷纭,小编那里还太小也并不是很了解, ...
- CentOS7下配置网络yum源(附带下载地址)
一.查看外网是否通畅 配置网络yum源(需要保证外网开通,我这里是使用网易163提供开源镜像站) 二.下载repo文件 cd /etc/yum.repos.dwget http://mirrors.1 ...
- git使用简易指南
安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库. 检出仓库 执行如 ...
- js实现选项卡切换的效果
效果图: css 代码: <style type="text/css"> *{margin: 0;padding: 0;list-style: none;} .demo ...
- SQL注入攻击[详解]
SQL注入攻击是黑客对数据库进行攻击的常用手段之一.随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候, ...
- Unity3d: 资源释放时存储空间不足引发的思考和遇到的问题
手机游戏第一次启动基本上都会做资源释放的操作,这个时候需要考虑存储空间是否足够,但是Unity没有自带获取设备存储空间大小的 接口,需要调用本地方法分别去android或ios获取,这样挺麻烦的.而且 ...
- 推荐xamlspy
xamlspy(http://xamlspy.com/) 如果在win32时代用过spy++的,都应该在silverlight/wpf时代用一下xamlspy,让你重新找到用spy++看别人程序的UI ...
- javaCV开发详解之技术杂烩:javaCV能帮我们做什么?能实现什么功能?ffmpeg和openCV能实现功能,javaCV如何做到更快、更简单的实现相应的功能?等等一堆实用话题
前言: 该篇文章旨在帮助刚接触javaCV的盆友系统的认识音视频.javaCV.图像处理相关的体系知识和一些实用的知识. 序: javaCV早期因为内置了openCV库,所以常用来做图像识别应用,现在 ...
- iter迭代器的应用
迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 用户不用关心迭代器的内部结构,仅需通过next方法不断去读取下一个内容 不能随机访问任意一个内容,只 ...
- 信号处理——卷积(convolution)的实现
作者:桂. 时间:2017-03-07 22:33:37 链接:http://www.cnblogs.com/xingshansi/p/6517301.html 前言 信号时域.频域对应关系,及其D ...