centos怎么查看端口是否被占用
1、利用netstat 命令
Linux netstat 命令用于显示网络状态。
利用 netstat 指令可让你得知整个 Linux 系统的网络情况。
使用命令:
netstat -tunlp
会显示所有端口和所有对应的程序,用grep管道可以过滤出想要的关键字段。
有关22端口占用的程序:
代码示例:
[root@leiwan tmp]# netstat -tunlp |grep 22
tcp 0 0 0.0.0.0:42957 0.0.0.0:* LISTEN 2230/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2443/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2292/cupsd
tcp 0 0 :::22 :::* LISTEN 2443/sshd
tcp 0 0 ::1:631 :::* LISTEN 2292/cupsd
tcp 0 0 :::57609 :::* LISTEN 2230/rpc.statd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 2211/avahi-daemon
udp 0 0 0.0.0.0:631 0.0.0.0:* 2292/cupsd
udp 0 0 0.0.0.0:37167 0.0.0.0:* 2230/rpc.statd
udp 0 0 0.0.0.0:52291 0.0.0.0:* 2211/avahi-daemon
udp 0 0 0.0.0.0:68 0.0.0.0:* 2207/dhclient
udp 0 0 0.0.0.0:710 0.0.0.0:* 2230/rpc.statd
udp 0 0 :::39834 :::* 2230/rpc.statd
2、利用lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。
查看某一端口的占用情况:
lsof -i:端口号
代码示例:
[root@www ~]# lsof -i:21
3 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
4 pure-ftpd 2651 root 4u IPv4 7047 TCP *:ftp (LISTEN)
5 pure-ftpd 2651 root 5u IPv6 7048 TCP *:ftp (LISTEN)
这里显示出21号端口正在被pure-ftpd使用,状态是listen。