使用ss命令

默认情况下,在Ubuntu上并未安装NetStat。
而是安装了替代命令SS。
与NetStat一样,SS命令用于在Linux系统上显示网络信息。

netstat和ss命令的选项几乎相同的。

要使用SS命令查看Ubuntu上的所有侦听端口,请运行以下命令:

sudo ss -tunlp

输出示例

NetidState  Recv-Q Send-Q  Local Address:Port   Peer Address:Port                                            
udp  UNCONN 0      0       127.0.0.53%lo:53          0.0.0.0:*     users:(("systemd-resolve",pid=486,fd=12)) 
udp  UNCONN 0      0             0.0.0.0:68          0.0.0.0:*     users:(("dhclient",pid=782,fd=6))         
udp  UNCONN 0      0             0.0.0.0:631         0.0.0.0:*     users:(("cups-browsed",pid=2853,fd=7))    
udp  UNCONN 0      0             0.0.0.0:5353        0.0.0.0:*     users:(("avahi-daemon",pid=632,fd=12))    
udp  UNCONN 0      0             0.0.0.0:38568       0.0.0.0:*     users:(("avahi-daemon",pid=632,fd=14))    
udp  UNCONN 0      0                [::]:34687          [::]:*     users:(("avahi-daemon",pid=632,fd=15))    
udp  UNCONN 0      0                [::]:5353           [::]:*     users:(("avahi-daemon",pid=632,fd=13))    
tcp  LISTEN 0      128     127.0.0.53%lo:53          0.0.0.0:*     users:(("systemd-resolve",pid=486,fd=13)) 
tcp  LISTEN 0      128           0.0.0.0:22          0.0.0.0:*     users:(("sshd",pid=25538,fd=3))           
tcp  LISTEN 0      5           127.0.0.1:631         0.0.0.0:*     users:(("cupsd",pid=2851,fd=7))           
tcp  LISTEN 0      128              [::]:22             [::]:*     users:(("sshd",pid=25538,fd=4))           
tcp  LISTEN 0      5               [::1]:631            [::]:*     users:(("cupsd",pid=2851,fd=6))
在Ubuntu 上查找所有打开的端口

使用netstat命令

NetStat是一个命令行工具,可以提供有关网络连接的信息,包括在这些端口通信的IP地址,端口和服务。

如果未安装NetStat工具,请使用下面的命令安装它。

sudo apt install net-tools

如果要列出服务器上可用的所有端口,请运行以下命令:

sudo netstat -tunlp

有关详细命令选项:

  • -T显示TCP端口。
  • -u显示UDP端口。
  • -n显示数字地址而不是解析主机。
  • -L仅显示侦听端口。
  • -p显示侦听器进程的PID和名称。

输出示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      486/systemd-resolve 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2851/cupsd          
tcp6       0      0 ::1:631                 :::*                    LISTEN      2851/cupsd          
udp        0      0 127.0.0.53:53           0.0.0.0:*                           486/systemd-resolve 
udp        0      0 0.0.0.0:68              0.0.0.0:*                           782/dhclient        
udp        0      0 0.0.0.0:631             0.0.0.0:*                           2853/cups-browsed   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           632/avahi-daemon: r 
udp        0      0 0.0.0.0:38568           0.0.0.0:*                           632/avahi-daemon: r 
udp6       0      0 :::34687                :::*                                632/avahi-daemon: r 
udp6       0      0 :::5353                 :::*                                632/avahi-daemon: r

如果我们只想看到特定的服务名称或者端口,则可以使用Grep过滤。

sudo netstat -tnlp | grep :22

输出示例:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      25538/sshd          
tcp6       0      0 :::22                   :::*                    LISTEN      25538/sshd

使用lsof命令

LSOF命令是Linux系统中另一个允许我们显示网络信息的功能。

使用LSOF命令列出所有侦听TCP端口:

sudo lsof -nP -iTCP -sTCP:LISTEN

输出示例:

COMMAND     PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r   486 systemd-resolve   13u  IPv4  15733      0t0  TCP 127.0.0.53:53 (LISTEN)
cupsd      2851            root    6u  IPv6  36958      0t0  TCP [::1]:631 (LISTEN)
cupsd      2851            root    7u  IPv4  36959      0t0  TCP 127.0.0.1:631 (LISTEN)
sshd      25538            root    3u  IPv4  77978      0t0  TCP *:22 (LISTEN)
sshd      25538            root    4u  IPv6  77980      0t0  TCP *:22 (LISTEN)
日期:2020-07-07 20:55:12 来源:oir作者:oir