是否有可能某个程序 B 可以占用程序 A 已在使用(监听)的端口。程序 A(监听某个端口的服务器)在打开该端口后是否应该实际检查端口状态?
我认为所有与端口相关的操作(打开、监听、关闭)都是由操作系统(在本例中为 Windows Server 08)实现的。因此,如果端口被其他程序占用,操作系统将不允许对端口进行任何操作。我说得对吗?
答案1
不,这是不可能的。不过你可以终止其他进程。
答案2
旧的 zonealarm 程序就是这样做的。该程序可能需要某种 Windows 内核权限 + 驱动程序代码。Linux 的 SeLinux/AppArmor 也做同样的事情来限制应用程序对网络资源的访问。
答案3
只要拥有足够的操作系统权限root
或Administrator
同等权限,几乎可以做任何事情。