1. Linux查看端口的简介
port,也就是端口,用于标识数据在网络中的传输目的地。Linux系统下有多种命令可以查看当前开放的端口以及相应的网络连接情况。在本篇文章中,我们将会介绍几种比较常用的命令。
2. netstat命令
2.1 netstat命令简介
netstat是一款非常常见的网络工具,它用于显示Linux系统中网络相关的信息,包括网络连接数、网络接口状态等。
2.2 查看所有监听状态的端口
使用下面的命令可以列出所有监听状态的端口:
netstat -tuln
示例输出:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp6 0 0 :::546 :::*
其中,-t表示只显示TCP协议的连接信息;-u表示只显示UDP协议的连接信息;-l表示只显示监听状态的连接信息;-n表示不要将IP地址和端口号转换为对应的服务名。
2.3 查看特定端口的监听状态
使用下面的命令可以查看特定端口的监听状态:
netstat -tunlp | grep 80
示例输出:
tcp6 0 0 :::80 :::* LISTEN 1745/nginx
其中,-p表示显示端口号所对应的进程信息,grep用于筛选端口号为80的连接信息。
3. ss命令
3.1 ss命令简介
ss是一款网络套接字分析工具,它可以用来替换netstat命令。ss命令支持的参数和输出格式比netstat更加简洁。
3.2 查看所有监听状态的端口
使用下面的命令可以列出所有监听状态的端口:
ss -tuln
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
其中,-t表示只显示TCP协议的连接信息;-u表示只显示UDP协议的连接信息;-l表示只显示监听状态的连接信息;-n表示不要将IP地址和端口号转换为对应的服务名。
3.3 查看特定端口的监听状态
使用下面的命令可以查看特定端口的监听状态:
ss -tunlp | grep 80
示例输出:
LISTEN 0 128 :::80 :::* users:(("nginx",pid=1745,fd=6))
其中,-p表示显示端口号所对应的进程信息,grep用于筛选端口号为80的连接信息。
4. lsof命令
4.1 lsof命令简介
lsof是一个可以列出当前系统打开文件和网络连接的命令行工具。它能够列出系统当前打开的所有文件、目录以及用于网络连接的端口。
4.2 查看所有监听状态的端口
使用下面的命令可以列出所有监听状态的端口:
lsof -iTCP -sTCP:LISTEN
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 980 root 3u IPv4 19768 0t0 TCP *:22 (LISTEN)
sshd 980 root 4u IPv6 19770 0t0 TCP *:22 (LISTEN)
其中,-i选项表示限制结果为网络相关信息;-TCP选项表示只显示TCP协议相关的信息;-s选项表示只显示监听状态的端口信息。
4.3 查看特定端口的监听状态
使用下面的命令可以查看特定端口的监听状态:
lsof -iTCP:80 -sTCP:LISTEN
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1745 root 6u IPv6 10792 0t0 TCP *:http (LISTEN)
nginx 1746 www-data 6u IPv6 10792 0t0 TCP *:http (LISTEN)
其中,-i选项表示限制结果为网络相关信息;-TCP选项表示只显示TCP协议相关的信息;:80表示只显示端口号为80的连接信息;-s选项表示只显示监听状态的端口信息。
5. 总结
以上三个命令都可以用于查看当前系统中所有网络连接的状态以及相应的端口信息。在使用时可以根据自己的需求选用适当的命令以及参数。