扫描一系列可用端口

扫描一系列可用端口

开发使用相机的应用程序。

摄像机控制器在网络上有一个 IP 地址(我可以定义该 IP),每个摄像机都使用该 IP 加上端口进行访问。控制器最多可以控制 250 个摄像机。

目前有三个摄像头,我希望能够批量分配端口,例如......6510,(接待处)6520,(码头)6530(停车场),这样我就可以添加额外的摄像头并分配适合摄像头物理位置的端口,例如......6510 和 6511 将在物理上彼此靠近,6520、6521 和 6522 也将靠近。

我如何才能找到可用端口的范围?我搜索了互联网并找到了几个列出常用端口号的网站,但我想为安装软件的单个 PC 找到一个可用范围。

我如何扫描未使用的端口?

答案1

除非你注册您的端口号使用 IANA,其他程序可能会尝试绑定到同一端口(该端口可能已被其他应用程序使用)。即使您注册了端口号,其他不遵守标准的程序仍可能会尝试绑定到同一端口。

由于您需要大量端口并且端口数量不是特定数目,因此您可能无法在 IANA 注册这些端口。

因此,您应该使用 >= 49151 的端口。标准做法是尝试绑定到某个端口,如果该端口正在使用中,则绑定将失败。您捕获异常并尝试下一个端口。

没有列出免费端口,但你可以获取正在使用的端口。端口范围从 1 到 65535,因此您可以通过正在使用的端口列表找出空闲端口列表。我发现正​​在使用的端口列表经常会显示误报。例如,端口可能显示为正在使用,但实际上已不再使用,但随着时间的推移,它们最终会清除。

因此,如果您需要空闲端口块,您可以从正在使用的端口中获取该列表。

您的服务器可能希望通过已知端口 80 上的 Web 服务器托管其正在使用的端口列表。客户端/服务器通信依赖于至少一个已知端口,客户端可以使用该端口连接到服务器。

相关内容