0

我的一个独立 java 应用程序(没有可用的资源)选择随机可用的端口来监听。
在这个阶段,我假设它使用getaddrinfo系统调用来获取要绑定的地址。

由于我正在维护数百个具有分配端口的各种服务器,因此黑色应用程序有时会启动并选择“分配”端口之一,这会导致我的小型服务器在启动时失败......

我想知道有没有办法限制操作系统提出的端口数量?
对系统配置解决方案最感兴趣,
但如果没有其他解决方案,我也可以破解bind()/getaddrinfo(这也需要一些点击......)

谢谢

4

3 回答 3

0

您必须能够从 proc 条目中控制它 - 例如,这是一个系统范围的设置:

/proc/sys/net/ipv4/ip_local_port_range

您可以修改它们。或者可能有用于相同目的的实用程序。

于 2012-07-11T13:01:43.880 回答
0

如果操作系统范围的更改不是您的想法,请配置 JVM 的 Java 安全管理器,以便为您要保留的任何端口号SecurityManager.CheckListen(NNN)抛出异常。SecurityException

于 2012-07-12T06:48:55.093 回答
0

看看: http ://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec70.html

这是我的问题的解决方案,而不是我可以限制端口范围

于 2016-07-27T21:10:45.623 回答