中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [原创]网络监听之P处理 上一主题 | 下一主题
xlong
新手上路





积分 6
发帖 2
注册 2007-3-19
状态 离线
『楼 主』:  [原创]网络监听之P处理

;)
最近编了一可以监听网络连接的P处理供大家参考、指正与完善:

@ECHO OFF
setlocal enabledelayedexpansion
COLOR 2A & TITLE 编辑 & set /p Expr=地址:
:gleep

rem 如果输入指定主机名简称则跳转LPL或LPS,如果输入为其它主机名或IP则转至LEEP

IF /I NOT %Expr:~0,7% == L IF /I NOT %Expr:~0,7% == S GOTO LEEP
goto lp%Expr%
:LPl
set Expr=Lxq&goto leep
:LPs
set Expr=Ssh

:LEEP

REM 输入为IP时变量设置为2(可参考PING IP的输出),如输入为主机名则设为3(可参考PING ComputerName的输出),
REM 用FOR取出主机名的IP,并且FOR行可判断主机名或IP是否存在,其中172为本人局域网的前部分

IF %Expr:~0,3%==172 (SET AA=2) ELSE (SET AA=3)
for /f "usebackq tokens=%AA% delims=[] " %%i in (`PING %Expr%`) do (IF NOT %%i==could (SET AAA=%%i&GOTO LLP) ELSE (echo.&echo 找不到此地址&echo.&GOTO PPP))

:LLP

rem 显示结果,其中%AAA%为FOR提取的IP,%Expr%为输入值

netstat -a | find "%AAA%"||netstat -a | find "%Expr%"
IF %ERRORLEVEL% EQU 0 GOTO LLP

REM 如果没指定的连接,则显示输入值,有侧显示主机名与其IP

IF %Expr:~0,3%==172 ECHO.&ECHO 未发现%Expr%的连接!
IF NOT %Expr:~0,3%==172 ECHO.&ECHO 未发现%Expr%:%AAA%的连接!
:PPP
ECHO.&set /p Expr=新地址(EXIT,CLS,CMD):
IF /I %Expr%==EXIT EXIT
IF /I %Expr%==CMD %COMSPEC%
IF /I %Expr%==CLS CLS&GOTO PPP
GOTO gleep

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

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


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



论坛跳转: