找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27421|回复: 7

[网络连接] 批处理BAT如何检测端口是否ESTABLISHED(连接)?

[复制链接]
发表于 2014-2-13 15:17:00 | 显示全部楼层 |阅读模式
本帖最后由 咒夜坠 于 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
复制代码
发表于 2014-2-13 16:56:46 | 显示全部楼层
报错信息是什么?
 楼主| 发表于 2014-2-14 10:13:07 | 显示全部楼层
回复 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.     )
复制代码
发表于 2014-2-14 11:18:03 | 显示全部楼层
你测试的是哪个端口?
直接执行这个命令有结果吗?
netstat -an | find "你要测试的端口"
 楼主| 发表于 2014-2-17 13:13:06 | 显示全部楼层
回复 4# DAIC


    随便填写一个端口 为了测试方便我一般填80端口
发表于 2014-2-17 13:40:54 | 显示全部楼层
回复 5# 咒夜坠


    我测试了3楼的代码,没有发现问题。你检查一下.bat文件是不是ANSI编码。
 楼主| 发表于 2014-3-24 15:33:39 | 显示全部楼层
回复 6# DAIC


    最后是测试通过了
但是不知道如果检测到ESTABLISHED要怎么触发,另外的操作
发表于 2014-3-25 10:29:07 | 显示全部楼层
回复 7# 咒夜坠


    需要触发什么操作?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:42 , Processed in 0.030534 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表