0

在 Windows 和 Linux 上,如何找出哪个进程正在侦听哪个端口?是否有一些应用程序明确监控?

4

5 回答 5

1

一些很棒的工具是由现在归微软所有的 Sysinternals 制作的。

你想要的是 Tcpview,它会显示端口和打开它们的应用程序,以及 PID 和其他好东西。Tcpview 是基于 Windows 的,但它们也有命令行版本。所有这些工具都是免费的。

这是微软 sysinternals 下载的链接

于 2012-11-05T08:59:45.520 回答
1

Windows 和 Linux 都netstat内置了 -command,尽管它们的使用方式不同。

在 Windows 上:(netstat -a -b列出侦听和连接的端口)

在 Linux 上:(netstat -l -p仅列出监听端口)

于 2012-11-05T09:09:42.313 回答
0

不确定 stackoverflow 是否适合这个问题,也许http://www.superuser.com会是一个更好的选择。

虽然从我的头顶:

  • Linux 具有提供此信息的命令lsofnetstat
  • WindowsProcessExplorer应该提供此信息。
于 2012-11-05T09:00:01.140 回答
0

在 Linux 中,您可以使用该ss命令转储套接字信息。它还提供有关客户端活动端口号的信息。更多细节可以在这里找到 http://linux.die.net/man/8/ss

于 2012-11-05T09:04:45.253 回答
0

在 Windows 7 上,您可以使用

netstat -b -a

netstat /?

-b      Displays the executable involved in creating each connection or
          listening port. In some cases well-known executables host
          multiple independent components, and in these cases the
          sequence of components involved in creating the connection
          or listening port is displayed. In this case the executable
          name is in [] at the bottom, on top is the component it called,
          and so forth until TCP/IP was reached. Note that this option
          can be time-consuming and will fail unless you have sufficient
          permissions.
-o      Displays the owning process ID associated with each connection.

在 Linux 上使用,-p需要 root 权限。

#netstat -p

#netstat -h
-p, --programs           display PID/Program name for sockets
于 2012-11-05T09:06:18.797 回答