例如:Firefox 使用随机本地端口号连接到网站。(任何给定时间都可以使用数十个不同的本地端口。)是否可以强制程序仅使用特定的本地端口?(仅强制使用本地端口,目标端口可以是任何端口。)
答案1
除了修改源代码之外,我不知道还有什么方法可以做到这一点,即使这样,Firefox 也可能正在 Windows 上调用封闭的网络代码(即,它可能正在使用 Visual C++ 库)。
我很困惑你为什么要这么做。大多数防火墙对传出和传入连接都有不同的规则,限制传出端口的情况很少见,因为它们只监听来自特定 TCP 会话的流量。目标端口对安全性更加敏感,因为它们是开放的并且监听没有建立会话。
答案2
编写一个库来拦截并重写bind(2)
调用并使用$LD_PRELOAD
将其加载到所选应用程序下方。