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

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

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

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

Windows系统镜像下载网站

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

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

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

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

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

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

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

网络测压小工具webBenchmark

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

魔方财务迁移教程

魔方财务迁移教程

主机哥的魔方财务需要迁移到新的服务器压缩打包所有网站文件备份下载数据库文件在新服务器上安装宝塔添加网站设置伪静态location / { if (!-e $request_filename) { rewrite ^(.*)$ ...

Notpad++编辑器下载

Notepad++是一款免费的文本编辑器,是Windows系统上最受欢迎的文本编辑器之一。它支持多种编程语言,包括C、C++、Java、JavaScript、HTML、CSS等等,同时也支持多种文件格式,包括ANSI、UTF-8、UTF-16等等。Notepad++具有语法高亮、自动完成、括号匹配、...