如何嗅闻交换网络和ARP骗子-ARP解释的原则
在嗅探以太网(一般指嗅探器可以对流经的网络数据包窃听)(sniff)不为网络安全是好事,虽然网络管理员能够跟踪数据包,发现 互联网问题,但前提是,如果破坏者使用。在整个网络带来了严重的安全威胁。
至于嗅探(一般指嗅探器可以对流经的网络数据包窃听
以太网内的嗅探(一般指嗅探器可以窃听网络上流经的数据包)(sniff)对于网络安全来说并非什么好事。尽管对于网络管理员可以跟踪数据包而且发现
网络问题,可是假设被破坏者利用的话,就对整个网络构成严重的安全威胁。至于嗅探(一般指嗅探器能够窃听网络上流经的数据包)的优点和坏处就不罗嗦了。
ARP缓存表
如果这样一个网络:
――――――――――
| HUB |
――――――――――
| | |
| | |
| | |
HostA HostB HostC
当中
A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
如果B是属于一个嗅探(一般指嗅探器能够窃听网络上流经的数据包)爱好者的,比方A机器的ARP缓存:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
这是192.168.10.1机器上的ARP缓存表,如果。A进行一次ping 192.168.10.3操作。PING主机C,会查询本地的
ARP缓存表,找到C的IP地址的MAC地址。那么就会进行传输数据,目的地就是C 的MAC地址。假设A中没有C的ARP记
录。那么A首先要广播一次ARP请求。当C接收到A 的请求后就发送一个应答,应答中包括有C的MAC地址,然后A接
收到C的应答。就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。
因此,本地快速缓存的这个ARP表是本地网络流通的基础,并且这个缓存是动态的。
集线器网络(Hub-Based)
非常多网络都是用Hub进行连接的。
数据包经过Hub传输到其它计算机的时候,Hub仅仅是简单地把这个数据包广播
到Hub的全部port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)上。
这就是上面举例中的一种网络结构。
如今A须要发送TCP数据包给C。首先,A须要检查本地的ARP 缓存表。查看是否有IP为192.168.10.3即C的ARP记
录。假设没有那么A将要广播一个ARP请求。当C接收到这个请求后,就作出应答。然后A更新自己的ARP缓存表。并
且获得与C的IP相相应的MAC地址。这时就传输这个TCP数据包,Ethernet帧中就包括了C的MAC地址。当数据包传输
到HUB的时候,HUB直接把整个数据包广播到全部的port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的),然后C就行接收到A发送的数据包。
正由于HUB把数据广播到全部的port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的),所以计算机B也可以收到A发送给C的数据包。这正是达到了B嗅探的目的。
因此,Hub-Based的网络基本没有安全可言。嗅探(一般指嗅探器能够窃听网络上流经的数据包)在这种网络中很easy。
交换网络(Switched Lan)
交换机用来取代HUB,正是为了可以解决HUB的几个安全问题,当中就是可以来解决嗅探(一般指嗅探器可以窃听网络上流经的数据包)问题。Switch不是把数
据包进行port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)广播。它将通过自己的ARP缓存来决定数据包传输到那个port(网络中的一对端其一端输入的电流与还有一端输出的电流是相等的)上。因此。在交换网络上。假设把上面
样例中的HUB换为Switch,B就不会接收到A发送给C的数据包。即便设置网卡为混杂模式。也不能进行嗅探(一般指嗅探器能够窃听网络上流经的数据包)。
ARP欺骗( ARP spoofing)
ARP协议并不仅仅在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存
进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此。在上面的如果网络中,B向A发送一个自己伪造的ARP应
答。而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址)。MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地
址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不
知道被伪造了)。
如今A机器的ARP缓存更新了:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
这可不是小事。
局域网的网络流通可不是依据IP地址进行。而是依照MAC地址进行传输。如今192.168.10.3的
MAC地址在A上被改变成一个本不存在的MAC地址。
如今A開始Ping 192.168.10.3,网卡递交的MAC地址是
DD-DD-DD-DD-DD-DD。结果是什么呢?网络不通。A根本不能Ping通C!!
这就是一个简单ARP骗子。
本文来源于 中国的网络协议分析|www.cnpaf.net 原文链接:http://www.cnpaf.net/Class/arp/201111/26040.html
如何嗅闻交换网络和ARP骗子-ARP解释的原则的更多相关文章
- ARP/代理ARP
1.ARP首先讲到ARP,ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表.转发数据的时候根据ARP缓存表来进行传输.下图详细说明数据传输 ...
- ARP协议具体解释之Gratuitous ARP(免费ARP)
ARP协议具体解释之Gratuitous ARP(免费ARP) Gratuitous ARP(免费ARP) Gratuitous ARP也称为免费ARP.无故ARP.Gratuitous ARP不同于 ...
- 【转】busybox分析——arp设置ARP缓存表中的mac地址
[转]busybox分析——arp设置ARP缓存表中的mac地址 转自:http://blog.chinaunix.net/uid-26009923-id-5098083.html 1. 将arp缓存 ...
- ARP协议具体解释之ARP动态与静态条目的生命周期
ARP协议详细解释之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自己主动加入和删除. q 每一个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉 ...
- Linux 命令 - arp: 操作系统的 ARP 缓存
arp 命令可以查看 ARP 缓存或者手动添加.删除缓存中的条目. 命令格式 arp [-evn] [-H type] [-i if] -a [hostname] arp [-v] [-i if] - ...
- ICMP,ARP协议
ICMP ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制 ...
- arp协议简单介绍
1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供 ...
- Python黑帽编程 3.1 ARP欺骗
Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...
- Python黑客编程ARP欺骗
Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...
随机推荐
- IIS架构与HTTP请求处理流程
IIS架构与HTTP请求处理流程 Windows操作系统中的IIS负责提供互联网服务,一台运行了IIS的计算机可以看成是一台Web服务器. Windows XP SP2 中IIS主版本号为5,Wind ...
- 一位同学3年通过CPA, CFA, ACCA的经验
3 年从 ACCA!!! 今天收到 ACCA,只去考了一门,因为要下 field,可恶的 H R 和 manager 都不批准我的假.不过还好,功夫不负有心人,CPA 了,也是本科毕业那年. 本科结束 ...
- MVC的DependencyResolver组件
MVC的DependencyResolver组件 一.前言 DependencyResolver是MVC中一个重要的组件,从名字可以看出,它负责依赖对象的解析,可以说它是MVC框架内部使用的一个IOC ...
- ecshop加广告出现广告位的宽度值必须在1到1024之间的解决方法
ecshop加广告出现广告位的宽度值必须在1到1024之间,这点是非常郁闷的,因为现在宽屏网站逐渐成为主流,越来越多的宽屏网站进入了我们的视线,比如京东啊,一号店啊. 但是ecshop的广告位却不能超 ...
- c# 通过解析mp3规范命名并上传服务器
引用using Shell32; private void Open_Click(object sender, RoutedEventArgs e) { OpenFileDialog ofd = ne ...
- AndroidUI的组成部分GridView
java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...
- 设计模式(一)工厂模式Factory(创建类型)
设计模式一 工厂模式Factory 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.可是在一些情况下, new操作符直接生成对象会带来一些问题. ...
- Android源码及SDK国内镜像下载
Android源码及SDK国内镜像下载Android源码下载: 今天发现,清华大学提供AOSP镜像,以前都是从Google的站点下载同步更新的,但是现在有了国内的镜像站点就好多了,下载Androidd ...
- js调用百度地图接口
原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...
- Cocos2d-x学习笔记(五岁以下儿童) 精灵两种方式播放动画
这几天在看控件类,临时没有想好实际运用的方向.单纯的创建网上已经有非常多这方面的样例,我就不写了.接下来是学习精灵类.精灵类若是单独学习也是非常easy.于是我加了一些有关动画方面的知识点与精灵 ...