在Linux中,如何检查端口是否在使用?

时间:2019-11-20 08:53:33  来源:igfitidea点击:

在Linux中,如何检查进程正在监听哪些端口?

在Linux中,网口使用端口号来确定数据包是发送给哪个进程的。

Linux中的常用端口号

  • HTTP TCP 80
  • HTTPS TCP 443
  • POP3 TCP 110
  • SMTP TCP 25
  • SSH TCP 22
  • DNS /域TCP/UDP 53

可以在/etc/services中查看常用服务对应的默认端口号:

cat /etc/services
grep -w 80 /etc/services
egrep -w '53/(tcp|udp)' /etc/services

如何检查Linux是否正在打开某个端口

执行下面命令

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo netstat -tulpn | grep :443
sudo ss -tulpn | grep LISTEN
sudo ss -tulpn | grep ':22'

如何找出打开某个端口对应的进程

要查看哪个进程打开了端口,可以使用ss命令或netstat命令

sudo netstat -tulpn | grep :443
sudo ss -tulpn | grep :443

如果端口是打开的,可以看到类似下面的信息:

tcp    0  0 0.0.0.0:443    0.0.0.0:*      LISTEN      438/nginx -g daemo

查看Linux系统中所有打开的端口号

只需运行:

sudo lsof -i -P -n | grep LISTEN
sudo ss -tulpn
sudo netstat -tulpn

输出示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1119/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1414/master         
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      680/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1728/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1122/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1119/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1414/master         
tcp6       0      0 :::111                  :::*                    LISTEN      680/rpcbind         
tcp6       0      0 :::22                   :::*                    LISTEN      1122/sshd           
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           743/avahi-daemon: r 
udp        0      0 0.0.0.0:34807           0.0.0.0:*                           743/avahi-daemon: r 
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1728/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1728/dnsmasq        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           680/rpcbind         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           775/chronyd         
udp        0      0 0.0.0.0:842             0.0.0.0:*                           680/rpcbind         
udp6       0      0 :::111                  :::*                                680/rpcbind         
udp6       0      0 ::1:323                 :::*                                775/chronyd         
udp6       0      0 :::842                  :::*                                680/rpcbind