日常维护我们经常会遇到某个程序使用了哪些端口,某个端口被哪个程序占用,如何查看呢,下面介绍如下:
对windows系统:通过windows任务管理器找到应用程序,右击“转到进程”,查看进程pid号(如无此列,请在“查看”-“选择列”中添加该列),然后在 cmd命令行下面输入netstat -an -o 然后找到对应的PID号 就能找到端口了。同理,某个端口被哪个程序占用,反查便可。注:有时netstat -na -o查出内容太多,不易找到pid,可通过重定向到txt文件(>pid.txt)查找。
对linux系统:查看某程序使用端口,在控制台输入netstat -na -p |grep pid/program name,便可;查看某端口被程序占用,在控制台输入lsof -i tcp:port或netstat -na -p |grep port便可。
当然,以上也可以通过cport或sv等端口查看工具查看。
查看端口使用情况,使用netstat命令。
查看已经连接的服务端口(ESTABLISHED
netstat -a
查看所有的服务端口(LISTEN,ESTABLISHED)
netstat -ap
查看8080端口,则可以结合grep命令:netstat -ap | grep 8080
如查看8888端口,则在终端中输入:lsof -i:8888
#netstat -antp | grep 服务名或端口号
如:
#netstat -antp | grep httpd
#netstat -antp | grep :80
这个是最常用的组合:
-a all,所有被监听的连接
-n number,把能以数字表示的用数字表示
-t tcp,tcp协议的
-p programs,输出进程名
另外一个命令:
netstat -anp 或者ps -aux