ARP缓存表ARP缓存表维护工具ARP协议全面实战手册大学霸

ARP缓存表ARP缓存表维护工具ARP协议全面实战手册大学霸

ARP协议全面实战手册——协议详解、攻击与防御大学霸

ARP协议全面实战手册——协议详解、攻击与防御大学霸

1.4  ARP缓存表ARP缓存表ARP缓存表维护工具ARP协议全面实战手册大学霸

ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址。在ARP缓存中的每个表又被称为ARP缓存表。本节将介绍ARP缓存表的由来、构成及生命周期等。

1.4.1  ARP缓存表的由来

前面介绍了ARP协议的概念,该协议是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能记住对方电脑网卡的MAC地址,以便数据的发送呢?所以,这里就有了ARP缓存表。

1.4.2  ARP缓存表维护工具——arp命令

在计算机中,提供了一个ARP命令。该命令用于查询本机ARP缓存中的IP地址和MAC地址的对应关系、添加或删除静态对应关系等。用户也可以通过使用arp命令验证ARP缓存条目的生命周期。首先介绍下该命令的语法格式。

1.ARP命令格式

ARP命令的语法格式如下所示:

arp [-s inet_addr eth_addr [if_addr]] [-d inet_addr [if_addr]] [-a [inet_addr] [-N if_addr]] [-g] [-v]

以上参数含义如下所示:

-s inet_addr eth_addr [if_addr]:向ARP缓存表中添加可将IP地址inet_addr解析成物理地址eth_addr的静态条目。要向指定接口的表添加静态ARP缓存条目,使用if_addr参数,此处的if_addr代表指派给该接口的IP地址。

-d inet_addr if_addr:删除指定的IP条目,此处的inet_addr代表IP地址。对于指定的接口,要删除表中的某项,使用if_addr,此处的if_addr代表指派给该接口的IP地址。要删除所有条目,使用星号(*)通配符代替inet_addr。

-a inet_addr [-N if_addr]:显示所有接口的当前ARP缓存表。要显示特定IP地址的ARP缓存项,使用带有inet_addr参数的arp -a,此处的inet_addr代表IP地址。如果未指定inet_addr,则使用第一个适用的接口。要显示特定接口的ARP缓存表,将-N if_addr与-a参数一起使用,此处的if_addr代表指派给该接口的IP地址。-N参数区分大小写。

-g:与-a相同。

-v:查看帮助信息。

在以前的Windows系列系统中,都可以直接执行arp -s命令绑定IP地址和MAC地址。但是在Windows 7下,如果不是以管理员身份运行时会提示:“ARP项添加失败:请求的操作需要提示”。但是有时候就算以管理员身份运行也会提示错误信息“ARP项添加失败:拒绝访问。”这时候就需要使用Netsh命令了。

2.Netsh实用程序

Netsh实用程序是一个外壳,它通过附加的“Netsh帮助DLL”,可以支持多个Windows 2000组件。“Netsh帮助DLL”提供用来监视或配置特定Windows 2000网络组件的其他命令,从而扩展了Netsh的功能。每个“Netsh帮助DLL”都为特定的网络组件提供了一个环境和一组命令。每个环境中都可以有子环境。下面将介绍下Netsh的使用及用法格式。

Netsh命令的语法格式如下所示:

netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [Command] [-f ScriptFile]

以上命令中,各选项含义如下所示:

-a Alias File:指定使用一个别名文件。别名文件包含Netsh命令列表和一个别名版本,所以可以使用别名命令行替换netsh命令。可以使用别名文件将其他平台中更熟悉的命令映射到适当的netsh命令。

-c Context:指定对应于已安装的支持DLL的命令环境。

-r RemoteMachine:指定在远程计算机上运行netsh命令,由名称或IP地址来指定远程计算机。

command:指定要执行的netsh命令。

-f ScriptFil:指定运行ScriptFile文件中所有的netsh命令。

使用netsh绑定IP和MAC地址。具体操作如下所示:

(1)查看接口的Idx号。执行命令如下所示:

C:\Users\Administrator>netsh i i show in

Idx          Met       MTU      状态                  名称

—-      ———-  —————-  ————  ———————————————

1          50  4294967295  connected     Loopback Pseudo-Interface 1

12          20        1500  connected     本地连接

从输出的结果中可以看到本地连接的Idx为12(Idx号用在下面命令中neighbors后面)。

(2)添加IP-MAC地址绑定。执行命令如下所示:

C:\Users\Administrator>netsh -c “i i” add neighbors 12 “192.168.1.3” “00-23-8b-c4-05-bf”

执行以上命令没有任何输出信息。

(3)使用arp -a查看绑定的ARP条目。执行命令如下所示:

C:\Users\Administrator>arp -a

接口: 192.168.1.2 — 0xc

Internet 地址         物理地址                  类型

192.168.1.3           00-23-8b-c4-05-bf            静态

看到以上输出结果,表示IP-MAC地址已被绑定ARP缓存表ARP缓存表维护工具ARP协议全面实战手册大学霸。

Comments are closed.