我正在开发通过套接字与外部程序通信的Firefox插件。当此插件需要时,此程序在指定端口上创建本地套接字服务器。我想从这个插件中知道这个应用程序是否已经打开了这个端口。
在没有创建服务器的Win7上我收到nsIRequestObserver :: onStopRequest中的插件NS_ERROR_CONNECTION_REFUSED创建的套接字但是如果我在收到此错误时觉得某个端口没有打开?
答案 0 :(得分:3)
您尝试连接并查看连接是否成功。 如果没有,则端口无法访问(打开)。 这是最明显和最简单的答案。
其他低级解决方案需要以某种方式轮询操作系统本身。这将是特定于跨平台的(因此您需要为每个平台编写一个实现)并且还没有现成的API,因此您必须使用C / C ++或至少js-ctypes,或者将丑陋的“执行这个程序并检查输出”的东西。所有这些都不值得模糊。
答案 1 :(得分:2)
如果您想了解Windows中使用的“入站端口”,可以使用cmd,
如果你不知道如何打开cmd - 按下windows-key + r打开运行对话框。输入cmd并按Enter键
键入netstat -a
并按Enter键,它将列出所有“侦听”端口。
更多信息 - http://www.techrepublic.com/blog/it-security/list-open-ports-and-listening-services/