如何通过getaddrinfo限制建议端口的数量

时间:2012-07-11 11:54:58

标签: c linux tcp

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

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

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

感谢

3 个答案:

答案 0 :(得分:0)

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

  

的/ proc / SYS /净/的IPv4 / ip_local_port_range

您可以修改它们。或者可能utilities可用于同一目的。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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