linux中查看端口号使用情况
linux中查看端口号使用情况使用netstat命令
命令如下:
netstat -tunpl | grep 端口号
例:查看9999端口的使用情况
$ netstat -tunpl | grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 2003/java
说明:
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)的意思是:(不是所有的进程都可以被识别,非拥有的进程信息不会显示,你必须是root才能看到这一切。)
状态为LISTEN的,表示该端口号已经被占用,处于监听中
2003/java 表示的是被进程号为2003的java程序占用
得到进程号之后,我们就可以使用ps -ef|grep 进程号来查看是什么程序占用了该端口号
例:
ps -ef|grep 2003
netstat
Linux netstat 命令用于显示网络状态。
利用 netstat 指令可以让你知道 Linux 系统的网络情况。
netstat 参数说明:
-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示FIB。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistics 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。
一些实例:
找出程序运行的端口
#找出mysql的运行端口
netstat -ap | grep mysql
显示 TCP连接信息
netstat -pt
显示UDP端口号的使用情况
netstat -apu
查看进程下开启线程数
netstat -anp | grep pid (可加 |wc -l 统计行数)
说明:netstat -p 可以与其它参数一起使用,就可以显示 “PID/进程名称”