这里强调的DIY的能力, 用自己写出来的东西才有满足感。
有效的ARP防护软件包含两个文件, 一个是ARP批处理文件, 另一个是批处理文件里要调用的CHOICE命令的CHOICE.EXE
1.新建一个文本文档
2.依次输入:
@echo. @echo. @echo. @echo. @echo. @echo. ARP 软件 @echo. @echo. 程序正在进行对ARP欺骗的防御,要结束请直接关闭本窗口. @echo. 如有任何使用上的问题, 请访问 @echo. 祝你好运... @echo. :defend @arp -d @arp -s 192.168.134.254 00-04-96-00-6a-60 @choice /c y /t 1 /d y /m BB文提醒你, 程序将继续执行, 请稍候。 。 。 @goto defend
代码解释: echo 表示显示此命令后的字符, echo off 表示在此语句后所有运行的命令都不显示命令行本身, @与echo off相象, 但它是加在每个命令行的最前面, 表示运行时不显示这一行的命令行(只能影响当前行)。 所以我们用@echo.(注意后面一个有".")结合排版来个性化我们的欢迎界面, 详见效果图。
:defend标号一个命令的开始 @arp -d表达清除ARP 信息, 如果电脑已经受到ARP攻击, 这个命令就能起到作用了。 @arp -s 192.168.134.254 00-04-96-00-6a-60 , 这个命令是将你的电脑的ARP信息发送对象绑定到服务器。
@choice /c y /t 1 /d y /m 使用choice 此命令可以让用户输入一个字符(用于选择), 从而根据用户的选择返回不同的errorlevel, 然后于if errorlevel配合, 根据用户的选择运行不同的命令。 注意:choice命令为DOS或者Windows系统提供的外部命令, 不同版本的choice命令语法会稍有不同, 请用choice /?查看用法。 choice的命令语法(该语法为Windows 2003中choice命令的语法, 其它版本的choice的命令语法与此大同小异):CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]。 如果是非2003用户, 可以到压缩包里面得到附加的CHOICE.EXE命令文件。
@goto defend表示重新执行defend命令流程。
欢迎试用及指教。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
arp -d
'if %~n0==arp exit
'if %~n0==Arp exit
'if %~n0==ARP exit
echo 正在获取本机信息.....
:IP
FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i && GOTO MAC
:MAC
echo IP:%IP%
FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i && GOTO GateIP
:GateIP
echo MAC:%MAC%
arp -s %IP% %MAC%
echo 正在获取网关信息.....
FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set GateIP=%%i && GOTO GateMac
:GateMac
echo GateIP:%GateIP%
ping %GateIP% -t -n 1
FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set GateMAC=%%i && GOTO Start
:Start
echo GateMAC:%GateMAC%
arp -s %GateIP% %GateMAC%
echo 操作完成!!!
……