Board logo

标题: 求一个屏蔽IP的批处理 [打印本页]

作者: lkfeiyu     时间: 2007-11-16 15:27    标题: 求一个屏蔽IP的批处理
求个屏蔽病毒网站IP的批处理!!!可以随便加IP!! 下面是屏蔽IP的批处理,我用着非常好用。我现在想用远程调用的方法开机运行这个批处理,问题是客户机不能让顾客输入被屏蔽的IP啊,能不能在批处理中加上被屏蔽的多个IP,而且不用按任何键就可以自动执行。 @echo off && setlocal enabledelayedexpansion call :getip ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::屏蔽指定的IP/当前连接中的所有IP :block set /p site=请输入屏蔽的地址(0为添加当前连接的所有IP): echo 处理中,请稍候... if "!site!"=="0" ( @for /f "tokens=4 skip=4 delims=: " %%i in ('netstat -n') do ( call :add %%i ) ) else ( echo !site! | findstr [0-9]*\.[0-9]*\.[0-9]*\.[0-9]* >nul if !errorlevel!==1 ( for /f "tokens=2 delims=[]" %%i in ('ping -n 1 -w 1 !site!') do ( set site=%%i ) echo !site! | findstr [0-9]*\.[0-9]*\.[0-9]*\.[0-9]* >nul if !errorlevel!==1 exit /b ) call :add !site! ) pause exit /b ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::添加IP或域名(%1)到路由表,将被映射到!ip!以屏蔽 :add set site=%1 if "!site!"=="127.0.0.1" exit /b @for /f "tokens=1,3 delims= " %%i in ('route print') do ( if "%%j"=="!ip!" ( if "%%i"=="!site!" exit /b ) ) echo 正在屏蔽!site! route add !site! !ip! if 2 exit /b ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::得到本机ip将最后一位转换为0,然后作为路由表映射 :getip for /f %%i in ('hostname') do set host=%%i for /f "tokens=2 delims=[]" %%i in ('ping -n 1 -w 1 !host!') do set ip=%%i for /f "tokens=1,2,3 delims=." %%i in ('echo !ip!') do set ip=%%i.%%j.%%k.0 exit /b [ Last edited by lkfeiyu on 2007-11-16 at 06:46 PM ]

作者: trying     时间: 2007-11-24 20:35    标题:
发这么多

作者: nomyself     时间: 2007-12-19 00:05
搞的好复杂啊 还不如这样简单,以屏蔽baidu为例 要屏蔽什么加就行了!! cd %WINDIR%\system32\Drivers\ETC ren hosts hosts.txt echo 127.0.0.1 www.baidu.com #同志们,注意拉!该打烊了!>>hosts.txt ren hosts.txt hosts

作者: would2008     时间: 2007-12-19 10:59
3楼的 不行啊! 不能屏蔽baidu啊