1. 使用netstat命令查看当前监听端口
netstat是一个用于查看网络状态和统计的命令工具,我们可以使用它来查看当前正在监听的端口。
在Linux系统中,打开终端,运行以下命令:
netstat -tunl
参数说明:
-t
:仅显示TCP协议
-u
:仅显示UDP协议
-n
:以数字形式显示网络地址和端口号
-l
:仅显示监听状态的端口
运行命令后,会列出当前正在监听的端口号和对应的服务。
示例输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
从输出中可以看到,当前正在监听的端口分别是22、80和68。
使用Netstat的优缺点:
Netstat是一种简单易用的工具,可以快速查看正在监听的端口。但是,输出的信息相对比较简单,不够详细。如果需要更详细的信息,可以使用其他工具。
2. 使用lsof命令查看监听端口
lsof是一个类Unix系统下的命令行工具,可以用来查看打开的文件和进程信息,也可以用于查看当前正在监听的端口。
在Linux系统中,打开终端,运行以下命令:
lsof -i :端口号
或者运行以下命令查看所有监听的端口:
lsof -i -P
参数说明:
-i
:指定要查看的是网络相关的内容
-P
:以端口号显示结果,而不是使用服务名
运行命令后,会列出当前正在监听的端口以及对应的进程信息。
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 123 root 3u IPv4 4567 0t0 TCP *:22 (LISTEN)
nginx 456 nginx 3u IPv6 7890 0t0 TCP *:80 (LISTEN)
dhclient 789 root 7u IPv4 1234 0t0 UDP *:68
从输出中可以看到,当前正在监听的端口分别是22、80和68,同时列出了对应的进程信息。
使用lsof的优点:
相比于netstat命令,lsof提供了更详细的信息,包括对应的进程信息等,更加方便用户查看。
使用lsof的缺点:
相比于netstat命令,lsof的语法较为复杂,对于新手来说可能不够友好。
3. 使用ss命令查看监听端口
ss是一个用于查看网络连接、接口统计和Sockets状态的命令行工具,可以用于查看当前正在监听的端口。
在Linux系统中,打开终端,运行以下命令:
ss -ltn
参数说明:
-l
:仅显示监听状态的端口
-t
:仅显示TCP协议
-n
:以数字形式显示网络地址和端口号
运行命令后,会列出当前正在监听的TCP端口号和对应的服务。
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
从输出中可以看到,当前正在监听的TCP端口是22。
使用ss的优点:
相比于netstat和lsof命令,ss命令执行速度更快,并且输出的信息更为简洁。
使用ss的缺点:
ss命令的语法对于新手来说可能不够友好,需要一定的学习和了解。
4. 使用nmap命令扫描开放端口
nmap是一个用于网络探测和安全评估的开源工具,可以用于扫描目标主机的端口。
在Linux系统中,打开终端,运行以下命令:
nmap -p 端口号 目标主机
参数说明:
-p
:指定要扫描的端口号
运行命令后,nmap会扫描目标主机上指定的端口,并输出扫描结果。
示例输出:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
从输出中可以看到,目标主机上开放的端口分别是22和80,而443端口是关闭状态。
使用nmap的优点:
nmap是一个非常强大的网络扫描工具,可以对目标主机进行深入的端口扫描,并提供了丰富的选项和功能。
使用nmap的缺点:
nmap的使用稍微复杂一些,对于新手来说可能需要一定的学习和了解。
总结
本文介绍了多种方法来查看Linux系统中正在监听的端口。
netstat、lsof和ss是常用的命令行工具,可以查看当前监听的端口号和对应的服务。netstat使用简单,但输出信息相对简洁;lsof提供了更详细的信息,但使用语法较为复杂;ss执行速度快,输出信息简洁。根据个人需要选择合适的工具。
此外,nmap是一款功能强大的端口扫描工具,可以对目标主机进行深入扫描,提供更详细的端口状态信息。
希望本文能够帮助您更好地了解和使用Linux系统中的端口监听相关命令。