Windows CMD下指定源IP端口向目标IP端口批量发ping的方法咨询
端口连通性批量探测方案
首先明确:系统自带的传统ping命令走的是ICMP协议,属于网络层协议,本身没有端口的概念,没法满足你指定源/目的端口的探测需求,你需要的是TCP/UDP层面的端口探测工具,以下是Windows CMD环境下可直接实现的两种方案:
方案1:无需额外安装工具,直接调用系统内置PowerShell实现
你可以直接在CMD窗口中执行以下命令,把命令里的<你指定的源端口>替换成你要用的实际源端口号即可:
powershell -Command "$sourceIP = '1.1.1.1'; $sourcePort = <你指定的源端口>; $destIP = '2.2.2.2'; $destPort = 12345; $count = 1000; $success=0; $fail=0; for($i=1; $i -le $count; $i++) { $tcpClient = New-Object System.Net.Sockets.TcpClient($sourceIP, $sourcePort); try { $tcpClient.Connect($destIP, $destPort); $success++; Write-Host "第$i次探测:成功" } catch { $fail++; Write-Host "第$i次探测:失败" } finally { $tcpClient.Close() } }; Write-Host '探测完成:成功'$success'次,失败'$fail'次'"
这个命令是调用Windows自带的.NET网络库实现TCP端口探测,每次探测会主动从你指定的源IP+源端口发TCP握手包到目标地址的12345端口,握手成功就算探测通。
方案2:用轻量第三方工具tcping,命令格式和你预期的完全匹配
如果你想要更接近你给出的ping DIP D.Port SIP S.Port -count 1000的命令格式,可以下载免安装的tcping工具放到C:\Windows\System32目录下,之后直接在CMD中执行:
tcping -s 1.1.1.1 -p <你指定的源端口> -n 1000 2.2.2.2 12345
参数对应关系:
-s后接源IP-p后接源端口-n后接探测次数- 最后两个参数分别是目标IP、目标端口
注意事项:指定的源IP必须是你Windows客户端上某块网卡的实际绑定IP,否则会出现绑定失败的错误,没法正常发送探测包。
内容的提问来源于stack exchange,提问作者Software Fan
相关产品推荐
相关产品推荐

