Powershellisfun网络工具:创建TCP/UDP端口监听器的简易方法
2026/8/7 21:20:17 网站建设 项目流程

Powershellisfun网络工具:创建TCP/UDP端口监听器的简易方法

【免费下载链接】PowershellisfunRepository with the scripts that I have used in my blogs on https://powershellisfun.com. If you like these, please sponsor this project using the Sponsor button below or buy me a coffee :) https://www.buymeacoffee.com/powershellisfun项目地址: https://gitcode.com/gh_mirrors/po/Powershellisfun

Powershellisfun是一个实用的PowerShell脚本集合,其中包含了许多网络管理工具,本文将重点介绍如何使用其中的New-Portlistener.ps1脚本快速创建TCP或UDP端口监听器,帮助网络管理员和开发者轻松调试网络连接。

为什么需要端口监听器?

在网络调试和应用开发中,端口监听器是一个非常实用的工具。它可以帮助你:

  • 测试网络服务是否正常运行
  • 验证防火墙规则是否生效
  • 调试客户端与服务器之间的通信
  • 监控特定端口的网络流量

Powershellisfun提供的端口监听器工具支持TCP和UDP两种协议,使用简单且功能完善。

准备工作

首先,你需要获取Powershellisfun项目的代码:

git clone https://gitcode.com/gh_mirrors/po/Powershellisfun

端口监听器脚本位于以下路径:Create TCP or UDP listener/New-Portlistener.ps1

创建TCP端口监听器的步骤

使用Powershellisfun创建TCP端口监听器非常简单,只需几个步骤:

1. 打开PowerShell终端

以管理员身份打开PowerShell终端,这是因为创建端口监听器可能需要管理员权限。

2. 导航到脚本目录

使用cd命令导航到脚本所在的目录:

cd "Create TCP or UDP listener"

3. 运行TCP监听器命令

使用以下命令创建TCP端口监听器(以端口8080为例):

.\New-Portlistener.ps1 -TCPPort 8080

如果端口可用,你将看到类似以下的输出:

TCP port 8080 is available, continuing... Now listening on TCP port 8080, press Escape to stop listening

4. 测试监听器

你可以使用telnet或Test-NetConnection命令测试监听器是否正常工作:

Test-NetConnection -ComputerName localhost -Port 8080

如果连接成功,将显示TcpTestSucceeded: True。

5. 停止监听器

当你完成测试后,只需按Escape键即可停止监听器:

Stopped listening on TCP port 8080

创建UDP端口监听器的方法

创建UDP端口监听器的步骤与TCP类似:

1. 运行UDP监听器命令

使用以下命令创建UDP端口监听器(以端口53为例):

.\New-Portlistener.ps1 -UDPPort 53

如果端口可用,你将看到类似以下的输出:

UDP port 53 is available, continuing... Now listening on UDP port 53, press Escape to stop listening

2. 测试UDP监听器

你可以使用以下命令测试UDP监听器:

$udpClient = New-Object System.Net.Sockets.UdpClient $udpClient.Connect("localhost", 53) $bytes = [System.Text.Encoding]::ASCII.GetBytes("Test message") $udpClient.Send($bytes, $bytes.Length) $udpClient.Close()

在监听器窗口中,你将看到接收到的消息。

脚本的高级特性

Powershellisfun的端口监听器脚本具有一些实用的高级特性:

端口可用性检查

脚本会在创建监听器之前自动检查端口是否已被占用,避免冲突:

$testtcpport = Test-NetConnection -ComputerName localhost -Port $TCPPort -WarningAction SilentlyContinue -ErrorAction Stop if ($testtcpport.TcpTestSucceeded -ne $True) { Write-Host ("TCP port {0} is available, continuing..." -f $TCPPort) -ForegroundColor Green } else { Write-Warning ("TCP Port {0} is already listening, aborting..." -f $TCPPort) return }

优雅的退出机制

脚本支持通过Escape键优雅地停止监听器,确保资源被正确释放:

if ($key.VirtualKeyCode -eq 27 ) { $listener.stop() Write-Host ("Stopped listening on TCP port {0}" -f $TCPPort) -ForegroundColor Green return }

UDP消息显示

对于UDP监听器,脚本会显示发送者的IP地址、端口和消息内容:

$content = $udpclient.Receive( [ref]$endpoint ) Write-Host "$($endpoint.Address.IPAddressToString):$($endpoint.Port) $([Text.Encoding]::ASCII.GetString($content))"

常见问题解决

权限问题

如果运行脚本时出现权限错误,请以管理员身份运行PowerShell。

端口被占用

如果端口已被占用,脚本会显示警告信息并退出。你可以选择其他端口或关闭占用该端口的程序。

防火墙设置

如果无法从远程计算机连接到监听器,请检查防火墙设置,确保相应的端口已开放。

总结

Powershellisfun的New-Portlistener.ps1脚本为网络调试提供了一个简单而强大的工具。无论是开发人员测试网络应用,还是系统管理员排查网络问题,这个工具都能派上用场。通过本文介绍的方法,你可以在几分钟内创建一个功能完善的TCP或UDP端口监听器,大大提高你的工作效率。

除了端口监听器,Powershellisfun项目还包含了许多其他实用的网络工具,如Test-MicrosoftEndpoints.ps1用于测试Microsoft服务的TCP端口,Get-MACIPVendor.ps1用于获取IP和MAC地址的厂商信息等。如果你经常需要处理网络相关的任务,不妨深入探索这个项目,相信你会发现更多有用的工具。

记住,使用PowerShell脚本可以让许多复杂的网络任务变得简单,而Powershellisfun项目正是这一理念的完美体现。开始使用它,体验PowerShell带来的便利吧!

【免费下载链接】PowershellisfunRepository with the scripts that I have used in my blogs on https://powershellisfun.com. If you like these, please sponsor this project using the Sponsor button below or buy me a coffee :) https://www.buymeacoffee.com/powershellisfun项目地址: https://gitcode.com/gh_mirrors/po/Powershellisfun

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询