Board logo

标题: [原创]网络监听之P处理 [打印本页]

作者: xlong     时间: 2007-3-19 04:22    标题: [原创]网络监听之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