oracle arp绑定mac地址,使用ARP命令来绑定IP和MAC地址

使用ARP命令来绑定IP和MAC地址

前言:我本来没有想过写关于ARP绑定的文章,坦白的说一句,在你理解ARP工作的原理时,这其实比较简单。只是看到最近论坛很多人在问关于绑定IP和MAC地址的问题,

所以才决定写这个文章,希望能一劳永逸

作为企业级的路由防火墙,ISA Server并没有提供对于MAC地址的控制功能。不过,你可以使用Windows的命令ARP来实现IP地址和MAC地址的绑定。这篇文章介绍了Windows下ARP协议工作的原理,以及如何使用ARP命令来静态绑定IP地址和MAC地址。

ISA Server中没有提供对于MAC地址的控制功能,Why?这是因为MAC地址只能在本地网络中使用,当数据包跨越路由器时,数据包中主机的源MAC地址就会被路由器的出站接口的MAC地址所代替,这个时候,使用MAC地址来进行控制就不适用了。所以只要是企业级的硬件或者软件防火墙,都基本没有提供对MAC地址的控制功能。

不过微软也早就考虑到了这点,在Windows中,如果你安装了TCP/IP网络协议组件,那么你就可以执行命令ARP。ARP命令的作用是查看本机的ARP缓存、静态绑定IP地址和MAC地址和删除静态绑定项。其实绑定IP地址和MAC地址的本意是为了减少ARP广播流量,只是可以利用这一功能来控制IP地址的使用。

在这里我还是先简单的f描述一下Windows下ARP协议的工作原理。ARP协议(Address Resolve Protocol,地址解析协议)工作在TCP/IP协议的第二层-数据链路层,用于将IP地址转换为网络接口的硬件地址(媒体访问控制地址,即MAC地址)。

无论是任何高层协议的通讯,最终都将转换为数据链路层硬件地址的通讯。

每台主机都具有一个用于缓存MAC地址的ARP缓存列表,你可以使用命令ARP -a或ARP -g来查看当前的ARP缓存列表。此ARP缓存列表是动态更新的,默认情况下,当其中的缓存项超过两分钟没有活动时,此缓存项就会超时被删除。你可以使用ARP -s来静态绑定IP地址和MAC地址,不过在Windows server 2003和XP以前的Windows系统中,就算你设置了静态MAC地址绑定项,同样会通过接收其他主机的数据包而更新已经绑定的项。

在Windows server 2003和XP中,静态绑定的项不会被动态更新,直到TCP/IP协议终止为止,例如重启计算机

。如果要创建永久的静态MAC地址绑定项,你可以写一个脚本文件来执行ARP静态绑定,然后使用计划任务在启动计算机时执行该脚本即可。

例如A主机的IP地址为192.168.0.1,它现在需要与IP为192.168.0.8的主机(主机B)进行通讯,那么将进行以下动作:

A主机查询自己的ARP缓存列表, 如果发现具有对应于目的IP地址192.168.0.8的MAC地址项,则直接使用此MAC地址项构造并发送以太网数据包,如果没有发现对应的MAC地址项则继续下一步;

A主机发出ARP解析请求广播,目的MAC地址是FF:FF:FF:FF:FF:FF,请求IP为192.168.0.8的主机回复MAC地址;

B主机收到ARP解析请求广播后,回复给A主机一个ARP应答数据包,其中包含自己的IP地址和MAC地址;

A接收到B主机的ARP回复后,将B主机的MAC地址放入自己的ARP缓存列表,然后使用B主机的MAC地址作为目的MAC地址,B主机的IP地址(192.168.0.8)作为目的IP地址, 构造并发送以太网数据包;

如果A主机还要发送数据包给192.168.0.8, 由于在ARP缓存列表中已经具有IP地址192.168.0.8的MAC地址,所以A主机直接使用此MAC地址发送数据包,而不再发送ARP解析请求广播;当此缓存地址项超过两分钟没有活动(没有使用)后,此ARP缓存将超时被删除。

默认情况下ARP缓存的超时时限是两分钟,你可以在注册表中进行修改。可以修改的键值有两个,都位于

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

修改的键值:

键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120

键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600

注意:这些键值默认是不存在的,如果你想修改,必须自行创建;

修改后重启计算机后生效

如果ArpCacheLife的值比ArpCacheMinReferencedLife的值大,那么ARP缓存的超时时间设置为ArpCacheLife的值;如果ArpCacheLife的值不存在或者比ArpCacheMinReferencedLife的值小,那么对于未使用的ARP缓存,超时时间设置为120秒;对于正在使用的ARP缓存,超时时间则设置为ArpCacheMinReferencedLife的值。

下图是我们的试验网络结构,ISA Server作为一个边缘防火墙,内部局域网(192.168.0.0/24)通过ISA Server接入Internet。在这个试验中,我将在ISA Server上绑定内部客户True的IP地址192.168.0.8和MAC地址,这样,当True不在线时,另外一个内部客户Fake就算修改自己的IP地址为True的IP地址192.168.0.8,也不能通过ISA Server来上网。

22785432_1.jpg

各计算机的TCP/IP设置如下,本次试验不涉及DNS解析,各服务器的DNS服务器设置为空,在试验之前已经确认了网络连接工作正常:

ISA 2004 Firewall:

LAN Interface:

IP:192.168.0.1/24

DG:None

MAC:00:03:47:F4:FC:E7

True(将离线):

IP:192.168.0.8/24

DG:192.168.0.1

MAC:00:0D:60:C3:05:34

Fake(将修改IP地址为192.168.0.8):

IP:192.168.0.8/24

DG:192.168.0.1

MAC:00:06:D0:06:05:47

首先,我在ISA Server上使用ARP -S来绑定True的IP地址和MAC地址,运行命令:

ARP -s 192.168.0.8 00-0D-60-C3-05-34

然后执行ARP -a来查看ARP缓存列表,结果如下图所示。你可以看到在ARP缓存列表中IP地址192.168.0.8的类型为static,这表明它是静态项。此时,我们在ISA Server上的绑定就成功了。

22785432_2.jpg

现在我们在客户机Fake上,将自己的IP地址修改为192.168.0.8,然后Ping ISA Server:

C:\Documents and Settings\admin>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : anonymous

Primary Dns Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Unknown

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection

Physical Address. . . . . . . . . : 00-06-D0-06-05-47

Dhcp Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.0.8

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 192.168.0.1

DNS Servers . . . . . . . . . . . : 192.168.0.1

C:\Documents and Settings\admin>ping 192.168.0.1 -n 2

Pinging 192.168.0.1 with 32 bytes of data:

Request timed out.

Request timed out.

Ping statistics for 192.168.0.1:

Packets: Sent = 2, Received = 0, Lost = 2 (100% loss),

Ping超时,Why?从Sniffer上捕获的数据包可以更清楚的进行说明:

下图是捕获的数据包,它描述了Fake(192.168.0.8) Ping 192.168.0.1的全部过程:

22785432_3.jpg

由于Fake(00:06:D0:06:05:47)没有192.168.0.1的MAC地址,所以Fake发送ARP地址解析请求广播,询问192.168.0.1的MAC地址是什么;

ISA Server(00:03:47:F4:FC:E7)使用ARP应答回复Fake(00:06:D0:06:05:47),告诉Fake自己的IP地址(192.168.0.1)和MAC地址;

获得192.168.0.1的MAC地址后,Fake(192.168.0.8)向192.168.0.1发送PING请求数据包;

192.168.0.1向192.168.0.8回复PING回复数据包;

Fake(192.168.0.8)再次向192.168.0.1发送PING请求数据包;

192.168.0.1再次向192.168.0.8回复PING回复数据包;

这一切看起来没有任何问题?那为什么Fake的Ping会超时呢?

这一切从表明上看是没有任何问题,但是仔细看捕获的数据包的以太网头部,你就会发现问题所在:

首先,我们看第三个数据包,Fake(192.168.0.8)向192.168.0.1发送的Ping请求,如下图所示,Fake以自己的MAC地址为源MAC地址、192.168.0.1的MAC地址(00:03:47:F4:FC:E7)为目的MAC地址发送数据包,这没有任何问题。

那么看看第四个ISA Server回复的Ping回复数据包呢,源MAC地址是ISA Server的MAC地址(00:03:47:F4:FC:E7),这也没有问题,但是注意看目的MAC地址,00:0D:60:C3:05:34是离线的客户机True的MAC地址。还记得我们在ISA Server上做的IP地址(192.168.0.8)和MAC地址绑定吗?

ISA Server直接使用自己ARP缓存中的静态绑定项来发送数据,而不是使用收到的Ping请求数据包中的源MAC地址来作为目的地址。

因此,Fake认为此数据包不是发给自己的,不会处理此数据包,所以认为没有Ping回复数据包,自然就是超时了。

最后说一下,

我不推荐大家使用静态IP地址和MAC地址的绑定,这会带来更多的管理负荷。你可以利用ISA Server强大的身份验证功能,结合IP地址来进行管理,这样具有更好的效果

。也请不要在论坛问我ARP命令是如何使用的,Windows的帮助是最好的老师。

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

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

相关文章

阿里巴巴2013年实习生笔试题A

一、单项选择题 1.下列说法不正确的是:(B) A.SATA硬盘的速度速度大约为500Mbps/s B.读取18XDVD光盘数据的速度为1Gbps C.前兆以太网的数据读取速度为1Gpbs D.读取DDR3内存数据的速度为100Gbps 解析:有说B的,有说D的&am…

linux之间安全传输文件,使用SCP安全地传输文件[Linux] | MOS86

终端访问远程Linux机器的最常见方法是使用安全Shell(SSH)。要工作,Linux服务器需要运行SSH服务器(OpenSSH),另一端需要一个SSH客户端,像Windows中的PuTTy,或者Linux上的ssh命令行工具,或者其他类似Unix的操作系统&…

putty远程登录linux有啥用,putty 自动远程登录linux

在实际的开发和学习中我们会频繁的使用某些远程登录工具,通过网络登录到linux系统中进行程序编写和调试。Putty是比较流行的工具,但是在putty下每次链接到远端linux都要重新输入用户名和密码,就显得有些麻烦了。那么,有没有什么方…

eclipse中对单独JS文件取消报错的处理

eclipse中对单独JS文件取消报错的处理 eclipse中js文件报错的情况,或许大家早已习以为常了,那么有什么好的方法可以将其忽略掉呢?如果你也在寻找此问题,那么本文或许可以帮助到你 - 忽略某个js文件报错的方法: Project…

c语言方向变量,C语言,变量与内存

一、数在计算机中的二进制表示符号位:最高位为符号位,正数该位为0,负数该位为1;原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值反码:正数的反码是其本身;负数的反码是…

新距离

1、这是个现实的社会,感情不能当饭吃,贫穷夫妻百事哀。不要相信电影里的故事情节,那只是个供许多陌生人喧嚣情感的场所。只有不理智和不现实的人才相信。  2、给自己定目标,一年,两年,五年,也…

android开发 文件分享到应用,Android开发之——7.0适配之应用之间共享文件(FileProvider)...

前言Android 7.0强制启用了被称作StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriException异常。官方给出解决这个问题的方…

android涂鸦板保存功能,android实现涂鸦,保存涂鸦后的图片,清屏

自定义view的类,代码如下:[html]package com.xy.tuya;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android…

浏览器与服务器响应流程-----(转)

一. 解析域名地址为IP地址 浏览器DNS缓存:以Chrome为例,在浏览器窗口中输入chrome://net-internals/#dns,就可以查看当前浏览器DNS缓存记录,chrome的DNS缓存过期时间还是比较短的,大约为1分钟。 本机DNS缓存&#xff1…

Pc-98 android,PC安卓多功能搞机助手3.98

V3.98版本更新日志:1.全新多设备检测机制,底层代码重写;2.新增支持检测安卓用户是否允许当前电脑调试设备;3.软件冻结#卸载中新增清除指定应用数据;4.小米线刷检测功能优化,修复之前版本不能正确识别设备是…

拼接路径的两种方式

//本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3490669.html https://www.evernote.com/shard/s227/sh/1401e497-899e-4b04-9ff6-e1d9638e9f25/f6b722ed5cb2c5f603a9b242ee7fe230转载于:https://www.cnblogs.com/ChenYilong/p/3490669.html

android像素鸟,像素鸟Flappy Bird

Flappy Bird是最近非常热门的一款像素游戏,Flappy Bird 的游戏规则异常简单:和Frogmind Games的成名作品BADLAND类似,玩家只需要点击屏幕就可以操作游戏,控制角色通过各种障碍。看似简单的规则下是让人抓狂的游戏难度。首先&#…

Android是什么 之三手机之硬件形态

手机硬件形态  本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好&…

品味性能之道十一:JAVA中switch和if性能比较

通常而言大家普遍的认知里switch case的效率高于if else。根据我的理解而言switch的查找类似于二叉树,if则是线性查找。按照此逻辑推理对于对比条件数目大于3时switch更优,并且对比条件数目越多时switch的优势越为明显。一、测试目的最近与开发同学对于前…

miniblink载入html,winform使用miniblink展示html(全屏)

【实例简介】使用miniblink 展示html的例子,miniblink基于chromium的浏览器控件【实例截图】点击下图中的百度,即可 实现全屏访问 百度网页 ,如下图:其实是winform嵌入的这个网页,打开即是 全屏效果【核心代码】using …

html设置照片模糊效果,CSS如何实现照片模糊?

在开发网页时,照片模糊处理会经常被使用,比如当我们背景图的模糊,当我们不想背景图片过于突出影响美观时,就可以设置将照片模糊处理,突出文字部分。那么 CSS 如何实现照片模糊呢?这篇文章 w3cschool 小编告…

女生学计算机未来出路,计算机真的已经烂大街了吗,女生学计算机没出路吗?...

假的。先说第一个问题:情况是,现在程序员是很多,但多半是中低端程序员,高端程序员供不应求,薪资一涨再涨。现在的程序员门槛一高再高,就是为了淘汰掉那些半吊子的程序员。如果你是靠从网上复制粘贴代码的“…

这些快捷键要学会使用啊

史上最全苹果键盘及Xcode快捷键整理 它们分别是command、option、control、shift以及esc除了command键上有标志之外其余四个可以通过这四个键对比比较出来。 谢谢原文作者提供较详细的快捷键说明。 常用的Xcode快捷键,工欲善其事,必先利其器。mac的键盘和…

关机计算机专业,电脑关机后自动重启怎么回事

日常生活中,大部分的网友朋友们都碰到过电脑在正常使用时,突然电脑自动重启了,并且多次尝试强制关机都无效,令人费神。下面小编针对此问题的原因给出了几种方法,希望对大家有所帮助,快来看看吧!…

计算机无法打开打印机ip端口,讲述Win10电脑上无法选择打印机端口的解决方法...

我们在Win10电脑上使用打印机,进行打印材料是很平常的一件事,但是有用户在Win10电脑上,操作打印机时,出现了打印机端口无法选择的问题,不知道该怎么办?如果打印机端口无法正常选择的话,就代表我…