Board logo

标题: [网络连接] 批处理BAT如何检测端口是否ESTABLISHED(连接)? [打印本页]

作者: 咒夜坠    时间: 2014-2-13 15:17     标题: 批处理BAT如何检测端口是否ESTABLISHED(连接)?

本帖最后由 咒夜坠 于 2014-2-14 11:17 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p sc=请输入要监看的端口
  3. set ss=ESTABLISHED
  4. for /f "eol=: tokens=1,2,3,4" %%i in ('netstat -an^|find "%sc%"') do (
  5. if %ss% EQU %%l (
  6. echo %%i %%j %%k %%l %date% %time% >>log.txt
  7. ) ELSE (
  8. ECHO 无连接
  9. )
  10. ) echo %%i %%j %%k %%l
复制代码
判断某端口是否连接 连接就输出到文本log


代码二
下面这个代码是我改良后的
但是最后还是会提示
'TCP' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
  1. echo off&setlocal enabledelayedexpansion
  2. ::批处理文件 请将文件名改成.bat后缀
  3. set /p sc=请输入要监看的端口
  4. for /f "delims=" %%a in ('netstat -an^|find "ESTABLISHED"') do echo %%a
  5. for /f "eol=: tokens=1,2,3,4" %%i in ('netstat -an^|find "ESTABLISHED"') do (
  6. set ss=%%i %%j %%k %%l
  7. echo %ss%|find "%sc%"
  8. )
  9. pause
复制代码
代码三 功能完善 使用转换软件就可以不显示窗口了
  1. echo off&setlocal enabledelayedexpansion
  2. ::批处理文件 请将文件名改成.bat后缀
  3. set /p sc=请输入要监看的端口
  4. :dk
  5. for /f "eol=: tokens=1,2,3,4" %%i in ('netstat -an^|find "ESTABLISHED"') do (
  6. echo %date% %time% %%i %%j %%k %%l|find "%sc%">>log.txt
  7. )
  8. ping 127.1>nul
  9. goto dk
复制代码

作者: DAIC    时间: 2014-2-13 16:56

报错信息是什么?
作者: 咒夜坠    时间: 2014-2-14 10:13

回复 2# DAIC


    此时不应有 echo。
应该是最后一个ceho那个错了
我改进了之后没有报错但不输出
  1.     @echo off&setlocal enabledelayedexpansion
  2.     set /p sc=请输入要监看的端口
  3.     set ss=ESTABLISHED
  4.     for /f "eol=: tokens=1,2,3,4" %%i in ('netstat -an^|find "%sc%"') do (
  5.                     if %ss% EQU %%l (
  6.                             echo %%i %%j %%k %%l %date% %time% >>log.txt
  7.                     ) ELSE (
  8.                             ECHO 无连接
  9.     )
  10.     )
复制代码

作者: DAIC    时间: 2014-2-14 11:18

你测试的是哪个端口?
直接执行这个命令有结果吗?
netstat -an | find "你要测试的端口"
作者: 咒夜坠    时间: 2014-2-17 13:13

回复 4# DAIC


    随便填写一个端口 为了测试方便我一般填80端口
作者: DAIC    时间: 2014-2-17 13:40

回复 5# 咒夜坠


    我测试了3楼的代码,没有发现问题。你检查一下.bat文件是不是ANSI编码。
作者: 咒夜坠    时间: 2014-3-24 15:33

回复 6# DAIC


    最后是测试通过了
但是不知道如果检测到ESTABLISHED要怎么触发,另外的操作
作者: DAIC    时间: 2014-3-25 10:29

回复 7# 咒夜坠


    需要触发什么操作?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2