中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 16:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮帮手ARP的绑定批处理 查看 1,034 回复 6
楼 主 帮帮手ARP的绑定批处理 发表于 2007-11-06 20:06 ·  中国 广东 广州 白云区 电信
新手上路
积分 8
发帖 3
注册 2007-11-03 23:19
UID 101623
性别 男
状态 离线
我的网吧常有ARP病毒,我在论坛中搞了几个批处理都有一个问题,就是批处理完了网卡都还没有打开,我用ARP -A去测它,只能绑定本机,没有绑定网关,请各位高手想想办法,谢谢!
2 发表于 2007-11-06 20:16 ·  中国 江苏 无锡 宜兴市 电信
中级用户
★★
积分 487
发帖 212
注册 2007-04-01 08:22
UID 83597
性别 男
状态 离线
通过ping网关三次得到了网关的MAC其实以上的批都可以通过这个来搞定网关的IP和MAC,但是如果开机的时候正在发生ARP欺骗的话 这样你绑的IP和MAC就是错的,不能上网了。

@echo off
  :::::::::::::清除所有的ARP缓存
  arp -d
  :::::::::::::读取本地连接配置
  ipconfig /all>ipconfig.txt
  :::::::::::::读取内网网关的IP
  for /f "tokens=13" %%I in (find "Default Gateway" ipconfig.txt) do set GatewayIP=%%I
  ::::::::::::ING三次内网网关
  ping %GatewayIP% -n 3
  :::::::::::::读取与网关arp缓存
  arp -a|find "%GatewayIP%">arp.txt
  :::::::::::::读取网关MAC并绑定
  for /f "tokens=1,2" %%I in (find "%GatewayIP%" arp.txt) do if %%I==%GatewayIP% arp -s %%I %%J
  :::::::::::::读取本机的 IP+MAC
  for /f "tokens=15" %%i in (find "IP Address" ipconfig.txt) do set ip=%%i
  for /f "tokens=12" %%i in (find "Physical Address" ipconfig.txt) do set mac=%%i
  :::::::::::::绑定本机的 IP+MAC
  arp -s %ip% %mac%
  :::::::::::::删除所有的临时文件
  del ipconfig.txt
  del arp.txt
  exit
3 发表于 2007-11-06 21:00 ·  中国 广东 广州 白云区 电信
新手上路
积分 8
发帖 3
注册 2007-11-03 23:19
UID 101623
性别 男
状态 离线
不行啊大哥
4 发表于 2007-11-06 21:55 ·  中国 广东 广州 白云区 电信
新手上路
积分 12
发帖 5
注册 2007-11-03 23:18
UID 101622
性别 男
状态 离线
你能加上个延时的批处理,看看行不行呀
5 发表于 2007-11-06 22:28 ·  中国 广东 广州 白云区 电信
新手上路
积分 8
发帖 3
注册 2007-11-03 23:19
UID 101623
性别 男
状态 离线
延时的批处理怎样啊,我好菜
6 发表于 2007-11-07 00:27 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
更改注册表的权限为只读就可以了,不过这样会影响一些软件运行
7 发表于 2007-11-07 10:45 ·  中国 甘肃 兰州 电信
初级用户
积分 49
发帖 20
注册 2007-10-23 11:47
UID 100538
性别 男
状态 离线
自己写的:

@ECHO OFF
title=绑定本机-网关MAC地址自动运行版,BY Shtcool
color 0b
mode con cols=30 lines=5
echo.
echo %date%
arp -d >nul 2>nul
echo 正在绑定本机MAC地址,请稍后....
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| find "IP Address"') do set IP=%%a
for /f "tokens=2 delims=:" %%b in ('ipconfig /all ^| find "Physical Address"') do set MAC=%%b
arp -s %IP% %MAC%
cls
echo.
echo %date%
echo 本机MAC地址绑定成功.....
ping 127.0.0.1 -n 2 >nul

cls

echo.
echo %date%
echo 正在绑定网关MAC地址,请稍后....
for /f "tokens=2 delims=:" %%C in ('ipconfig/all ^|find "Default Gateway"') do set getwayaddr_ip=%%C
ping -n 2 %getwayaddr_ip% >NUL
for /f "tokens=2 delims= " %%D in ('arp -a ^|find "%getwayaddr_ip% "') do set getwayaddr_mac=%%D
arp -s %getwayaddr_ip% %getwayaddr_mac%
cls
echo.
echo %date%
echo 网关MAC地址绑定成功.....
ping 127.0.0.1 -n 2 >nul
goto :eof

[ Last edited by shtcool on 2007-11-9 at 09:47 AM ]
论坛跳转: