Linux 查询端口被占用命令

linux中如何查看某个端口是否被占用

之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下:

1.netstat  -anp  |grep   端口号

如下,我以3306为例,netstat  -anp  |grep  3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看),如下图1:

图1

图1中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。

2.netstat   -nultp(此处不用加端口号)

该命令是查看当前所有已经使用的端口情况,如图2:

图2

图中可以看出我的82端口没有被占用

3.netstat  -anp  |grep  82查看82端口的使用情况,如图3:

图3
可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

参数介绍

-a (all) 显示所有选项,默认不显示LISTEN相关。
-t (tcp) 仅显示tcp相关选项。
-u (udp) 仅显示udp相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态。

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

LISTEN和LISTENING的状态只有用-a或者-l才能看到。

参考:https://www.cnblogs.com/hindy/p/7249234.html
参考:https://blog.csdn.net/dongl890426/article/details/86981901

原文地址:https://www.cnblogs.com/treasury/p/13022151.html