![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 21:42 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 帮我改进一下这个批处理!!! |
| 可打印版本 2,095 / 16 |
| 第1楼 lovehack2006 | 发表于 2006-12-23 14:52 |
| 初级用户 发帖 64 积分 135 | |
|
帮我改进一下这个批处理!!! 各位大哥们,小弟初来,问大哥们点问题!!! (双绑批处理)
下面一个批处理是网吧客户机绑定 IP和MAC的,,也可以绑定网关的MAC和IP 但是现在有一个问题就是这个批处理只能实现客户机的IP与MAC绑定。 如果我在客户机上运行过arp -d 删了ARP表的话,或者如果 这个机子上ARP表是空的话。这个批就不能再绑定 客户机的网关的MAC与IP了。。。arp -a %GateIP% >GateMac.txt 写入到gatemac.txt里的就只是这个了-----No ARP Entries Found 兄弟们能改进一下这个批处理吗? 这个批不是我写的,我也不会写这个东西。。我连for都还不会用。。 希望和位能帮我一下。。。 我自己想过方法的: 在这个批前面加一个ping 网关IP 这样在 ARP表中就可以找到网关的MAC了。。。。。或者在后面加一个 arp -s 网关IP 网关MAC也可以,但是我想有没有其它更好的方法实现? @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 ::读取网关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% exit [ Last edited by lovehack2006 on 2006-12-25 at 01:41 AM ] |
|
| 第2楼 lovehack2006 | 发表于 2006-12-23 17:39 |
| 初级用户 发帖 64 积分 135 | |
|
顶起来!!!
|
|
| 第3楼 lovehack2006 | 发表于 2006-12-24 04:11 |
| 初级用户 发帖 64 积分 135 | |
|
不是吧,没有人回?
|
|
| 第4楼 lxmxn | 发表于 2006-12-24 09:59 |
| 版主 发帖 4,938 积分 11,386 | |
|
应该可以,测试行的话,把最后两句前面的echo 去掉即可。不行在跟贴讨论。 |
|
| 第5楼 lovehack2006 | 发表于 2006-12-25 14:30 |
| 初级用户 发帖 64 积分 135 | |
|
谢谢楼上的大哥,,不过只是可以绑定本地IP和MAC
网关的话就不行了。 'getmac /nh /s %local_ip%' 我直接在CMD中运行的话,可以得到的是这样的。。。 C:\WINDOWS\system32>getmac /nh /s 10.0.0.14 00-14-78-37-51-BD \Device\Tcpip_{C9058030-7FD6-4855-8753-443BBFD6A661}, \Device\NwlnkIpx 得不到网关的 mac地址,不知道是为什么? 在显示的时候是这样的! arp -s 10.0.1.1 \Device\NwlnkIpx 就是这里错了。。 其它的都对的,可以正确搞定!!!1 [ Last edited by lovehack2006 on 2006-12-25 at 01:40 AM ] |
|
| 第6楼 lovehack2006 | 发表于 2006-12-25 14:40 |
| 初级用户 发帖 64 积分 135 | |
|
我的网关IP为10。0。1。1
我现在的测试机子是10。0。0。14 |
|
| 第7楼 lovehack2006 | 发表于 2006-12-25 14:43 |
| 初级用户 发帖 64 积分 135 | |
|
直接在CMD下C:\WINDOWS\system32>getmac
物理地址 传输名称 =================== ========================================================== 00-14-78-37-51-BD \Device\Tcpip_{C9058030-7FD6-4855-8753-443BBFD6A661}, \Device\NwlnkIpx 得到的就是楼上的。。 |
|
| 第8楼 everest79 | 发表于 2006-12-26 01:08 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
我这有一个也是写给网吧动态绑定ARP的 楼主需要知道你在本地绑定两个ARP并不是所谓的双绑 双向绑定是指网关绑定本地,本地绑定网关 再者安全的本地绑定应加载于开机脚本才对,动态绑定并不是一个好办法 |
|
| 第9楼 lovehack2006 | 发表于 2006-12-27 07:32 |
| 初级用户 发帖 64 积分 135 | |
|
谢谢楼上的大哥,我做的就是开机执行的脚本的,呵呵!!
谢谢你的批处理,,正在测试中…… |
|
| 第10楼 lxmxn | 发表于 2006-12-27 07:40 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by lovehack2006 at 2006-12-25 01:30: 不会吧? 我得到了正确的啊。看我操作: 证明得到的是正确的MAC. |
|
| 第11楼 lovehack2006 | 发表于 2006-12-28 00:13 |
| 初级用户 发帖 64 积分 135 | |
|
我也不知道为什么呀!!
在显示的时候是这样的! arp -s 10.0.1.1 \Device\NwlnkIpx 就是这里错了。。 其它的都对的,可以正确搞定!!!1 其它的兄弟帮忙一下! |
|
| 第12楼 lxmxn | 发表于 2006-12-28 01:32 |
| 版主 发帖 4,938 积分 11,386 | |
|
再试试这个,看行么? |
|
| 第13楼 everest79 | 发表于 2006-12-28 05:39 |
| 金牌会员 发帖 1,127 积分 2,564 | |
Originally posted by lxmxn at 2006-12-26 06:40 PM: |
|
| 第14楼 tao0610 | 发表于 2006-12-28 06:53 |
| 高级用户 发帖 218 积分 579 | |
|
绑定本机网卡MAC根本没什么实际意义。
真正需要绑定的就是网关MAC,而这个需要手写而不是动态获取。 开机脚本里加入 |
|
| 第15楼 lovehack2006 | 发表于 2007-01-01 03:20 |
| 初级用户 发帖 64 积分 135 | |
Originally posted by lxmxn at 2006-12-27 12:32 PM: |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |