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

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

23vps7个月前 (10-06)其他294

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下实现统计某个端口的连接数命令及统计端口段连接数脚本” 的相关文章

小众技术工具库

小众技术工具库

主机哥今天给大家分享一个非常有用的网站,里面非常好用的网站实在是太多了,废话不多说,贴图上链接!网址:https://www.xiaozhongjishu.com/...

强大无数据库图床2.0PHP程序

强大无数据库图床2.0PHP程序

项目地址:https://github.com/icret/EasyImages2.0 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 演示地址:https://png.cm/ 之前一直用的图床程序是:PHP多图长...

MobaXterm配置SSHTunnel

MobaXterm配置SSHTunnel

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

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

实验系统:debian10/ubuntu/CentOS7 64位用putty或者其他ssh工具连上服务器,然后用wget命令下载Syncthing的Linux 64位版,版本号对应官网上的最新版,请自行选择:wget https://github.com/syncthing/syncthi...

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

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

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

搭建Syncthing发现和中继服务器和配置Syncthing客户端

搭建Syncthing发现和中继服务器和配置Syncthing客户端

折腾借口Syncthing好是挺好的,但就是同步不给力,公共网络服务其质量参差不齐,网络也说不清。最好的解决方案还是自己搭建发现服务器Syncthing Discovery Server和中继服务器Syncthing Relay Server,有效解决网络连接差,非局域网连接慢的问题。不同于Resi...