为了预防 ARP 病毒的攻击,一般都建议 Windows 用户把本机和网关实现 IP 与物理地址的绑定。
Windows 下的绑定命令格式为: ARP -s [IP地址] [MAC地址]
尽管命令很简单,但是对于初级用户仍然是一件困难的事情,特别是还要通过运行 ipconfig.exe、ping、arp -a 等命令获取网关和本机的 MAC 地址就更是一件难事。即使是有经验的网管,敲这些命令,再获取数据,再完成绑定,也是一件单调乏味的事情。为了简化操作、提高效率,有必要发挥程序的作用,写一段代码来完成这项工作。那些 VC++、Delphi、C# 之流的大型编程自然能完成编程任务,但是总给人大动干戈的味道。其实,充分发挥 DOS 批处理的威力,只用写一些“脚本”就可以完成这些事情了。
只要把以下代码保存成一个扩展名为 .bat 的批处理文件,需要的时候用鼠标双击一下,一切事情就全部搞定了。
程序的流程如下:
带参数 /all 运行 ipconfig.exe 程序,运行结果保存到生成的 ipconfig.txt 文本文件里。
运行 find.exe 程序,在 ipconfig.txt 文件里搜索字符串 "Physical Address"。find.exe 程序的运行结果,保存到生成的文本文件 phyaddr.txt 里。在我的机器上,phyaddr.txt 内容为(实际文件没有行号):
1,
2,---------- IPCONFIG.TXT
3, Physical Address. . . . . . . . . : 00-00-E2-89-9E-BD
4,
语句 for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M 是取得本地物理 MAC 地址的语句,结果临时保存在 %Mac% 变量里。“for ...”语句的意思是,phyaddr.txt 文件的内容,跳过前面 2 行,余下的行取第 12 列,每列之间的分隔符为默认的"空格"。注意本行的列包括单词和所有的“.”字母。这样 Mac=00-00-E2-89-9E-BD,就是本机网卡的物理地址了。
下面取本机 IP 地址的道理也类似。绑定命令是 arp -s %IP% %Mac%。
再后面获取网关的 MAC 和 IP 地址的方法也与前边类似。注意运行一次 ping %GateIP% -n 1 命令,是为了取得网关 Arp 信息在本机的缓存,确保 arp -a %GateIP% 命令能取得网关的信息,否则只能得到文本:No ARP Entries Found。
然后生成 GateMac.txt 文件,从中取到网关的 MAC 地址。最终网关也获得了 arp 绑定。
注意以冒号“:”开头的语句是批处理文件的注释语句。批处理脚本的语句(例如 for 语句)的更多信息,请在网上搜索相关资料。
从这里可以看到,DOS 命令行程序,包括批处理文件,并不是作为摆设存在的,更没有过时,合理利用,作用还是非常大的。譬如 NET、NETSH、NETASAT 等等命令,在网管工作中都是经常用到的,可以完成几乎所有图形界面程序能完成的工作,但有时更方便一些。
附:
@echo off
:::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
:::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
:::绑定本机IP地址和MAC地址
arp -s %IP% %Mac%
:::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G
ping %GateIP% -n 1
:::读取网关Mac地址
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H
:::绑定网关Mac和IP
arp -s %GateIP% %GateMac%
:::删除临时文件
del GateIP.txt
del GateMac.txt
del IPAddr.txt
del ipconfig.txt
del phyaddr.txt
:::测试绑定结果
arp -a
:::exit
张庆(网眼) 网眼视界:
http://blog.why100000.com 2008-3-8
分享到:
相关推荐
ARP绑定DOS批处理程序是一种在网络管理中常用的技术,用于防止ARP欺骗或中间人攻击。在了解这个批处理程序之前,我们首先需要理解ARP(地址解析协议)的基础知识。 ARP是TCP/IP协议栈中的一个重要组成部分,它负责...
对于网络管理员来说,这样的批处理文件特别有用,因为它可以分发给局域网内的所有用户,帮助他们快速、一致地设置静态ARP绑定,从而增强网络安全。同时,由于文件本身不包含过多的解释,它假设用户已经具备一定的...
2. **静态ARP绑定**:通过设置静态的IP-MAC对应关系,防止ARP欺骗。在路由器或交换机上进行配置,或者在每台电脑上手动配置,使得系统只信任预先设定的MAC地址。 3. **使用ARP免疫工具**:如标题中提到的“ARP病毒...
"常用50个P处理(arp绑定、xp优化等)"这个压缩包文件包含了一系列与批处理相关的脚本,旨在解决日常计算机操作中的各种问题。下面,我们将详细探讨这些知识点。 1. **ARP绑定**:ARP(Address Resolution Protocol)...
通过批处理,可以实现ARP静态绑定,防止ARP欺骗,提高网络安全性。 8. **查看网关的MAC地址**: 网关的MAC地址是网络设备之间通信的关键。使用`arp -a`命令,批处理可以快速显示本地网络接口卡(NIC)和其对应网关的...
可以创建一个批处理文件,如`rarp.bat`,内容为`@echo off arp -d arp -s 192.168.1.1 00-01-02-03-04-05`,将其添加到启动项,这样每次开机都会自动执行绑定,确保安全。 然而,手工绑定的缺点是重启后会...
在这个压缩包中,包含的是常用批处理文件,主要用于清理系统垃圾和绑定ARP等任务。 首先,让我们来理解一下批处理文件的工作原理。批处理文件本质上是文本文件,包含了DOS命令或者Windows命令解释器(cmd.exe)能够...
4. 执行批量绑定:最后,只需在服务器端的DOS环境下运行生成的批处理文件,就可以一次性完成所有MAC地址与IP地址的绑定。 这种方法巧妙地结合了工具软件和办公软件的功能,大大提高了工作效率,降低了网络管理的...
ARP本机绑定.bat Autorun 病毒清除工具.CMD C盘转换为NTFS格式.cmd dir.bat dos下重启.bat guest.bat IE不能打开新链接修复.cmd IE及系统限制修复器.CMD IIS最小权限分配.CMD sxs.exe 的查杀.bat sz.reg...
在服务器端,只需打开命令提示符(DOS模式),运行“Mac.bat”批处理文件,系统就会自动执行所有的ARP绑定命令,极大地简化了网管员的工作,提高了工作效率,同时也减少了手动操作带来的错误可能性。 总的来说,...
本文将详细介绍如何通过“MAC扫描器”与Excel结合使用,实现快速批量绑定MAC与IP地址的过程。 #### 步骤/方法: 1. **问题的提出** 在校园网或其他封闭网络环境中,为了统一管理和降低安全隐患,通常需要在...
ARP本机绑定.bat C盘转换为NTFS格式.cmd demo.gif dir.bat dos下重启.bat guest.bat sxs.exe 的查杀.bat sz.reg转换成reg.bat.bat temp.txt win2000关机命令.bat WIN2003 IIS最小权限分配.bat winxp修改...
- **批处理文件**:创建批处理文件保存上述命令,每次启动时自动执行,以维持静态绑定。 2. **利用防ARP攻击软件**: - **安装杀毒软件**:如360安全卫士,它包含ARP防火墙功能。在“功能大全”中启用360木马...
绑定网关的批处理及预留维护提到.bat 结束进程.bat 给每个盘添加卷标.cmd 维护版.bat 网络PING包查询.bat 自动改回主页.bat 自定义配置网络ip、网关、dns.bat 解锁注册表.BATbat 计算机名DNS网关IP(用来学习。不见...
在客户端做对网关的arp绑定,具体操作步骤如下: 步骤一: 查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的...