当前位置:首页 > 其他 > 正文内容

windows下实现统计某个端口的连接数命令及统计端口段连接数脚本

23vps1年前 (2023-10-06)其他538

windows下实现统计某个端口的连接数命令:

netstat -an|find "127.0.0.1:218" |find "ESTABLISHED" /c

阿里云限量代金券 | 此广告位出租25元/月

备注:

1、find命令搜索的字符串要用双引号括起

2、ESTABLISHED是已经建立起的连接,过滤了关闭的,等待的状态的

3、127.0.0.1是本地网卡IP的意思,218是你要统计的端口,根据实际情况修改

脚本1、统计某个端口的连接数脚本:

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off

:input_port
cls
set /p "port=请输入要检测的端口 (格式:端口号): "

:: 检测指定端口的连接数
set "ip_address=127.0.0.1"
set "target=%ip_address%:%port%"
set "connection_count=0"

for /f %%i in ('netstat -an ^| find /c "%target%"') do set "connection_count=%%i"

echo 端口 %port% 的连接数为: %connection_count%

:: 等待用户按下回车键继续检测另一个端口或按 'q' 键退出
set /p "choice=按下回车键继续检测另一个端口,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_port
)

脚本2、统计多个端口的连接数脚本:

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off
setlocal enabledelayedexpansion

:input_ports
set "ports="
set /p "ports=请输入要检测的端口列表(用空格分隔):"

if "%ports%"=="" (
    echo 请输入有效的端口列表。
    goto input_ports
)

:count_connections
for %%p in (%ports%) do (
    set /a "count=0"
    for /f %%i in ('netstat -an ^| find "127.0.0.1:%%p" ^| find "ESTABLISHED" /c') do (
        set /a "count+=%%i"
    )
    echo 端口 %%p 的连接数为: !count!
)

:end

:: 等待用户按下回车键以重新执行或按 'q' 键退出
set /p "choice=按下回车键重新执行,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_ports
)

脚本3、统计端口段连接数脚本(此版本即使连接数为0时也显示结果)

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off
setlocal enabledelayedexpansion

:input_ports
set "ports="
set /p "ports=请输入要检测的端口范围 (格式:起始端口-结束端口):"

if "%ports%"=="" (
    echo 请输入有效的端口范围。
    goto input_ports
)

:count_connections
for /f "tokens=1,2 delims=-" %%a in ("%ports%") do (
    set "start_port=%%a"
    set "end_port=%%b"
)

for /l %%p in (!start_port!, 1, !end_port!) do (
    set /a "count=0"
    for /f %%i in ('netstat -an ^| find "127.0.0.1:%%p" ^| find "ESTABLISHED" /c') do (
        set /a "count+=%%i"
    )
    echo 端口 %%p 的连接数为: !count!
)

:end

:: 等待用户按下回车键以重新执行或按 'q' 键退出
set /p "choice=按下回车键重新执行,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_ports
)

脚本4、统计端口段连接数脚本(此版本只会显示有连接数的结果,而忽略没有连接的端口)

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off
setlocal enabledelayedexpansion

:input_ports
set "ports="
set /p "ports=请输入要检测的端口范围 (格式:起始端口-结束端口):"

if "%ports%"=="" (
    echo 请输入有效的端口范围。
    goto input_ports
)

:count_connections
for /f "tokens=1,2 delims=-" %%a in ("%ports%") do (
    set "start_port=%%a"
    set "end_port=%%b"
)

for /l %%p in (!start_port!, 1, !end_port!) do (
    set /a "count=0"
    for /f %%i in ('netstat -an ^| find "127.0.0.1:%%p" ^| find "ESTABLISHED" /c') do (
        set /a "count+=%%i"
    )
    if !count! gtr 0 (
        echo 端口 %%p 的连接数为: !count!
    )
)

:end

:: 等待用户按下回车键以重新执行或按 'q' 键退出
set /p "choice=按下回车键重新执行,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_ports
)

脚本5、从txt文件中读取端口列表统计多个端口的连接数脚本(此版本即使连接数为0时也显示结果):

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off
setlocal enabledelayedexpansion

:input_ports
set "ports="
set /p "ports=请输入要检测的端口列表文件名(例如:port.txt):"

if "%ports%"=="" (
    echo 请输入有效的端口列表文件名。
    goto input_ports
)

if not exist "%ports%" (
    echo 文件 "%ports%" 不存在,请确保文件存在。
    goto input_ports
)

:count_connections
for /f %%p in (%ports%) do (
    set /a "count=0"
    for /f %%i in ('netstat -an ^| find "127.0.0.1:%%p" ^| find "ESTABLISHED" /c') do (
        set /a "count+=%%i"
    )
    echo 端口 %%p 的连接数为: !count!
)

:end

:: 等待用户按下回车键以重新执行或按 'q' 键退出
set /p "choice=按下回车键重新执行,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_ports
)

脚本6、从txt文件中读取端口列表统计多个端口的连接数脚本(此版本只会显示有连接数的结果,而忽略没有连接的端口):

将下面代码用记事本另存为"检查连接数.bat",编码要采用ANSI保存,否则会出现中文乱码

@echo off
setlocal enabledelayedexpansion

:input_ports
set "ports="
set /p "ports=请输入要检测的端口列表文件名(例如:port.txt):"

if "%ports%"=="" (
    echo 请输入有效的端口列表文件名。
    goto input_ports
)

if not exist "%ports%" (
    echo 文件 "%ports%" 不存在,请确保文件存在。
    goto input_ports
)

:count_connections
for /f %%p in (%ports%) do (
    set /a "count=0"
    for /f %%i in ('netstat -an ^| find "127.0.0.1:%%p" ^| find "ESTABLISHED" /c') do (
        set /a "count+=%%i"
    )
    if !count! gtr 0 (
        echo 端口 %%p 的连接数为: !count!
    )
)

:end

:: 等待用户按下回车键以重新执行或按 'q' 键退出
set /p "choice=按下回车键重新执行,按 'q' 键退出: "
if /i "%choice%"=="q" (
    exit /b 0
) else (
    goto input_ports
)

此代码将提示您输入包含端口列表的文件的名称(例如,“port.txt”),然后它将从该文件中读取端口并检查每个端口的连接计数。确保文件“port.txt”存在并包含用空格分隔的端口列表。

txt内容示例:

12000
12001
12087
12061
12055
12093

注意:

如果扫描不出来连接数,就需要将脚本中的127.0.0.1替换成服务器上的IP地址


参考链接:https://blog.csdn.net/GGSDhkn/article/details/126482661

本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/82.html

标签: windows命令
分享给朋友:

“windows下实现统计某个端口的连接数命令及统计端口段连接数脚本” 的相关文章

用户访问nginx网站任意目录或者文件自动跳转到网站根目录方法

用户访问nginx网站任意目录或者文件自动跳转到网站根目录方法

主机哥最近网站需要维护,导致用户访问不到之前的页面,需要统一跳转到根目录显示维护提示,网上找到了301和302跳转这两种方法大多会出现重定向次数过多的情况最后找到一种方法就是修改nginx配置文件实现了用户访问nginx网站任意目录或者文件自动301或者302跳转到根目录宝塔站点修改nginx配置文...

Windows系统镜像下载网站

提到原版的Windows系统,各位老司机熟知的都是MSDN,但是这个网址里只能下载到Win10 1909以前的系统,后面的系统都要在新网站下载而且还得登录。而且这个对新手很不友好,当我发给装机小白的时候,他们都看不懂该选哪个。再给大家推荐一个下载Windows系统的地方,网址:https://hel...

curl和wget忽略证书错误教程

curl和wget是我们常用的Linux下载测试工具如果遇到下载报错可以按下面方法操作如果是curl ssl证书错误其实只要在url地址后面加上 -k,就可以忽略证书校验了(不验证证书)。具体就是这样操作:curl  'https://下载地址' -k如...

syncthing文件同步软件

syncthing文件同步软件

这是一款可以满足办公、文件共享、团队协作、家庭存储等文件同步需求的开源软件,不依赖中心服务器,完全由自己掌握数据,安全可靠。Syncthing是免费且开源的,而且跨平台支持windows、mac、linux、android等主流平台,除了PC、手机以外,在部分路由器、树莓派等硬件上都能轻松运行,听说...

网络测压小工具webBenchmark

这是一个HTTP基准测试工具,可以用来耗尽服务器带宽或流量限额。特点:每个请求都有随机的 User-Agent可自定义请求参数中的 Referer并发线程取决于您的服务器性能。项目地址:https://github.com/maintell/webBenchmark/ 起源这个起源于MJJ论坛刷“剑...

parsec串流远程桌面神器,用远程桌面可以玩游戏

parsec串流远程桌面神器,用远程桌面可以玩游戏

主机哥最近发现一款不错的国外远程桌面工具,可以内网穿透直连,甚至可以流畅玩游戏看视频不卡顿,都说很厉害,自己台式机电脑上装了一下,但是用我自己笔记本电脑连接台式机时提示-15000错误:点击Read More弹出链接:https://support.parsec.app/hc/en-us/artic...