在 Windows 和 Linux 上,如何找出哪个进程正在侦听哪个端口?是否有一些应用程序明确监控?
问问题
4937 次
5 回答
1
一些很棒的工具是由现在归微软所有的 Sysinternals 制作的。
你想要的是 Tcpview,它会显示端口和打开它们的应用程序,以及 PID 和其他好东西。Tcpview 是基于 Windows 的,但它们也有命令行版本。所有这些工具都是免费的。
于 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 具有提供此信息的命令
lsof
。netstat
- Windows
ProcessExplorer
应该提供此信息。
于 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 回答