gpt4 book ai didi

tcp - 检查 TCP 端口是否连接/建立?

转载 作者:可可西里 更新时间:2023-11-01 02:43:29 27 4
gpt4 key购买 nike

我想做的是指定几个端口,然后检查它们是否已建立连接。我找到了以下脚本并运行了,但它只列出了 3 个端口,我不明白为什么。我验证了相关端口的事件规则(以及下面输出中未列出的许多其他端口)。

Set objFirewall = CreateObject("HNetCfg.FwMgr")
Set objPolicy = objFirewall.LocalPolicy.CurrentProfile

Set colPorts = objPolicy.GloballyOpenPorts

For Each objPort in colPorts
Wscript.Echo "Port name: " & objPort.Name
Wscript.Echo "Port number: " & objPort.Port
Wscript.Echo "Port protocol: " & objPort.Protocol
Wscript.Echo "Port enabled: " & objPort.Enabled
Next

我想我找到了 the object对于 objPort 但我什至没有看到状态属性,所以我认为无论如何这是错误的方向。

最佳答案

这很好用。但是,我决定使用 netstat-b 参数而不是端口来查找可执行文件名称中的字符串(在本例中为“vnc”)。

strCommand = "cmd /C ""netStat -n -b | find ""vnc"""""
Set StdOut = WScript.StdOut
Set objShell = CreateObject("WScript.Shell")
found = 0
wscript.echo "Waiting for connection..."

Do Until found = 1
set objScriptExec = objShell.Exec (strCommand)

strResults = LCase(objScriptExec.StdOut.ReadAll)

if len (strResults) > 0 then
MsgBox "Found VNC connection!"
found = 1
else
WScript.Sleep(5000)
End if
Loop

这是一个将监视特定端口的 bat 文件。遗憾的是,您必须使用提升的权限从命令提示符运行它。

@echo off
SET "strPort=1972"
:LOOP
cls
netStat -n | find ":%strPort%"
ping -n 5 127.0.0.1 > nul
GOTO LOOP

关于tcp - 检查 TCP 端口是否连接/建立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com