 |
ARP静态绑定批处理文件脚本详细讲解 |
|
|
| ARP静态绑定批处理文件脚本详细讲解 |
|
| 作者:未知 文章来源:赛迪网 点击数: 更新时间:2007-10-19 1:08:35 |
|
[zt] OgLQnn4a 网上流传了很多对付ARP欺骗的批处理脚本,本文是对比较流行的一个脚本加以注释和讲解,希望对广大网友和网管员有用。原批处理文件如下: iAP!1 u1y 5\M;Bw @echo off _h1ah8/[ if exist ipconfig.txt del ipconfig.txt D*Bj"f ipconfig /all >ipconfig.txt +c8ye4^aB if exist phyaddr.txt del phyaddr.txt (yI|Ec find "Physical Address" ipconfig.txt >phyaddr.txt g/ 7 qk4 for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M |)Ji)1B3 if exist IPAddr.txt del IPaddr.txt e.%5{;O find "IP Address" ipconfig.txt >IPAddr.txt v4f{q.2s for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I eCf#N. arp -s %IP% %Mac% <f4>$m L,$F0?{ del ipaddr.txt ( wfk{;t del ipconfig.txt ~COB(: del phyaddr.txt Q\:33 r22_\tY, exit 8`PEV^N+ ,{j?.wUv !\;Ve-k 现在以//开头的为我的解释 Q!X@Gf(3 3u L[H| 0 @echo off 1VS@Nj*%*w //关闭命令回显 )QB9=qP<sc 'Q**onb> if exist ipconfig.txt del ipconfig.txt /yS1}mdm //如果存在 ipconfig.txt 这个文件就对其进行删除 _KR=Gx O$ZWSYK ipconfig /all >ipconfig.txt BmfuEn# //把 ipconfig /all 命令的显示结果写入 ipconfig.txt Z#|_pB /"c"xkP if exist phyaddr.txt del phyaddr.txt Ya/N}cD //如果存在 phyaddr.txt 这个文件就对其进行删除 M GQuM>v AdOV 1 k find "Physical Address" ipconfig.txt >phyaddr.txt M=ruEz //在 ipconfig.txt 文件里查找 Physical Address 字段的内容并将其字段内容写入 phyaddr.txt 2G!5E:{ ~>eTK8Q9 for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M ] ^$n^o //在 phyaddr.txt 文件中从第一行象下跳两行,也就是从第三行开始,从第12个符号处取值,并把该值设置成 MAC 变量,举个例子:Physical Address. . . . . . . . . : 00-E0-FC-0C-A8-4F,每一个连续的数值为一个符号 $cKo94b*^ 符号1:Physical 1H+8Jhu 符号2:Address. T"78C{80e 符号3:. zRUJ.?rR 符号4:. _tlky,QBi 符号5:. [#.rI#$ 符号6:. IAFs?1r5 ` 符号7:. 0.[|F& 符号8:. pl7UVfK{] 符号9:. !S~|h/| 符号10:. Gnah@@!~;. 符号11:: Lo!`[fVi 符号12:00-E0-FC-0C-A8-4F +Zcsx6+w6A tokens=12 的意思现在大家该明白了吧,但是说明一点,FOR 命令中的变量在批处理中是用 %%X 表示,但是在 命令提示符 下输入却是用 %X 表示的,切记 x}LxWod*{ )!LdQ8O if exist IPAddr.txt del IPaddr.txt 'IXIl xNM find "IP Address" ipconfig.txt >IPAddr.txt Y<;nH'mS#] for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I a.Rj<3ru arp -s %IP% %Mac% %B8<^*^ //以上这些对照我前面的讲解很容易理解 @fG nt$ :9f!'hL del ipaddr.txt 4+R!}1k f del ipconfig.txt Ab,o3pm del phyaddr.txt 3k3=BmEK8 |":no5T exit kK #M_ //这几句还看不懂的话就未免太`````` b2y rXH 上面的脚本是绑定本机IP和MAC的。 hzKL4iT 下面的是绑定 网关IP和MAC的。 Xd=1FN I 3#WTREew @echo OFF mmggvs if %~n0==arp exit qVP if %~n0==Arp exit g2s#)#?E if %~n0==ARP exit `zH5,9K echo 正在获取本机信息..... 47n -X|: :IP KLl{I:|$ FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i && GOTO MAC wPZ-<"rE :MAC Q(F5J1Nv echo IP:%IP% \o1|y+R FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i && GOTO GateIP L)+t Sm: :GateIP wXP3*T;+M echo MAC:%MAC% G1P \8ah G arp -s %IP% %MAC% ;9B^} 2q echo 正在获取网关信息..... 6H/0^g)Y5 FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set GateIP=%%i && GOTO GateMac o#^?DQEv :GateMac 7 ix; echo IP:%GateIP% |[4.:R *: FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set GateMAC=%%i && GOTO Start 9ZV0hVIs :Start $.*OBM| 6 echo MAC:%GateMAC% >f%+U5vD arp -d Z<.U]Yt arp -s %GateIP% %GateMAC% (9*j dI} echo 操作完成!!! 'I;YZ7{qw exit
|
|
| 文章录入:郝丽 责任编辑:郝丽 |
|
|
上一篇文章: 用林登脚本语言实现第二人生脚本编程 下一篇文章: 没有了 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|