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

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

23vps2年前 (2023-10-06)其他596

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配置文...

IP可用性检测工具

IP可用性检测工具

有些时候我们要检测vps的端口可用性,这是一个可以从国内检测也可以从国外检测的端口检测工具这个工具是以网页形式的,网址是:https://www.toolsdaquan.com/ipcheck/ 备用https://www.vps234.com/ipchecker/...

windows vps批量下载测速工具

windows vps批量下载测速工具

主机哥不是有很多服务器么,一般都放在那吃灰,昨天就突发奇想,能不能弄个工具可以给所有服务器测试下下载速度?在loc论坛问了下,没人知道那么只好自己慢慢找了,功夫不负有心人,还是找到了,这是一款Windows版软件:DownTesters。软件名称:DownTesters官方网站:https://ww...

MobaXterm配置SSHTunnel

MobaXterm配置SSHTunnel

MobaXterm作为一款良心的SSH工具,它支持SSHTunnel隧道功能,网上的教程讲的并不详细,所以主机哥写个教程:由于主机哥买了台NAT服务器,由于NAT服务器只有SSH端口没有其他公网端口,安装宝塔后要访问8888端口进行面板设置才能用,这时候SSHTunnel就可以用上了点击Tunnel...

syncthing文件同步软件

syncthing文件同步软件

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

windows server 2019 Hyper-V 开nat小鸡学习笔记

windows server 2019 Hyper-V 开nat小鸡学习笔记

主机哥开了台16-16的云主机,恰巧支持嵌套虚拟化,于是拿来测试下开小鸡,做个笔记。主机哥后来用windows server 2019物理机安装hyper-v然后给小鸡开启嵌套虚拟化后也成功小鸡生小鸡(俗称套娃)。教程准备:windows server 2019 服务器英文版改成中文由于主机哥的主机...