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 listening4. 测试监听器
你可以使用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 listening2. 测试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),仅供参考