中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求一个屏蔽IP的批处理 上一主题 | 下一主题
lkfeiyu
新手上路





积分 10
发帖 4
注册 2007-11-16
状态 离线
『楼 主』:  求一个屏蔽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 ]

2007-11-16 15:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
trying
新手上路





积分 2
发帖 1
注册 2007-11-24
状态 离线
『第 2 楼』:  晕

发这么多

2007-11-24 20:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nomyself
新手上路





积分 10
发帖 4
注册 2007-12-12
状态 离线
『第 3 楼』:  

搞的好复杂啊
还不如这样简单,以屏蔽baidu为例
要屏蔽什么加就行了!!

cd %WINDIR%\system32\Drivers\ETC
ren hosts hosts.txt

echo 127.0.0.1  www.baidu.com  #同志们,注意拉!该打烊了!>>hosts.txt
ren hosts.txt hosts

2007-12-19 00:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
would2008
初级用户





积分 21
发帖 11
注册 2007-8-21
状态 离线
『第 4 楼』:  

3楼的 不行啊!
不能屏蔽baidu啊

2007-12-19 10:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: