Linux 下查看那个 TCP port 被占用很实用, 以下列出 3 种在 Linux 下查看那些 port 已经被占用, 及那些程式占用这些 port 的方法。
Linux 查到 TCP Port 有开启, 但是不知道是什么程式占用的, 要怎么查出是被哪只程式使用呢?
注: netstat -tln # 可以看到有哪些 IP:Port 开启
1. lsof 指令
RHEL 及 CentOS 默认没有安装 lsof, 执行以下指令用 yum 安装:
# yum install lsof
安装好后, 使用方法如下:
$ lsof -i -P -n | grep LISTEN
要查看某一个 port 是否被占用, 在 grep 后面加上 port 即可:
$ lsof -i -P -n | grep :80
2. netstat 指令
用 netstat 的好处是多数系统默认已经安装好, 使用方法如下:
$ netstat -tulpn | grep LISTEN
查询 port 80 的语法:
$ netstat -tulpn | grep :80
3. nmap 指令
RHEL 及 CentOS 默认没有安装 nmap, 执行以下指令用 yum 安装:
# yum install nmap
安装好后, 使用方法如下:
$ sudo nmap -sT -O localhost
输出类似这样的结果:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 990 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
89/tcp open su-mit-tg
110/tcp open pop3
143/tcp open imap
587/tcp open submission
783/tcp open spamassassin
993/tcp open imaps
995/tcp open pop3s
Host is up (0.00012s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 990 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
89/tcp open su-mit-tg
110/tcp open pop3
143/tcp open imap
587/tcp open submission
783/tcp open spamassassin
993/tcp open imaps
995/tcp open pop3s