如何列出 Ubuntu 机器上运行的服务器及其端口号?

如何列出 Ubuntu 机器上运行的服务器及其端口号?

在我的 Ubuntu 系统中安装的其他一些服务器中,有一个是服务器dictd。文档说它使用端口2628。运行

sudo nmap 192.168.1.74 -p 0-9000

结果是:

Nmap scan report for 192.168.1.74
Host is up (0.000010s latency).
Not shown: 8995 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3128/tcp open  squid-http

它没有列出服务器2628使用的端口dictd(已启动,我已检查过ps)。我不知道我使用的命令出了什么问题!

我的问题是如何列出所有服务器(例如dictd和其他服务器,包括一些游戏服务器)及其端口号?(最好使用控制台工具)

答案1

这项任务就是netstat工具的用途。Nmap 是一款出色的端口扫描器,但内核更具权威性,因为防火墙可以阻止端口扫描。

答案2

您可以看到正在运行的进程列表:

netstat -nltp

输出:

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
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:27017         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:37261         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:46624         0.0.0.0:*               LISTEN      44178/kited         
tcp6       0      0 ::1:631                 :::*                    LISTEN      -    

查看netcat --help所使用的每个标志。

相关内容