Linux查看网络端口的命令大全
在 Linux 中,可以使用多种工具来检查网络端口。以下是详细的命令和用法:
一. 使用前提
命令 | 端口必须被监听才能检测 | 端口未使用时是否能检测 |
---|---|---|
telnet | 是 | 否 |
nc | 是(-z 模式) | 否(仅检测监听端口) |
curl | 是 | 否 |
nmap | 否 | 是 |
ss | 是 | 否 |
lsof | 是 | 否 |
ping | 否 | 是 |
traceroute | 否 | 是 |
iptables | 否 | 是 |
如果需要检测未使用的端口,推荐使用 nmap
或检查防火墙配置(如 iptables
)。
二. 命令详解
1. telnet
用途: 用于检查远程主机指定端口是否可以建立TCP
连接。
命令格式:
telnet <IP地址或主机名><端口号>
示例:
telnet 192.168.118.200 22 telnet 192.168.118.200 80
输出解释:
如果连接成功,会进入一个交互式终端,显示类似 Connected to ...
。 如果失败,显示类似 Connection refused
或超时。
注意:
需要安装 telnet
工具(部分系统默认不安装)。 适用于 TCP
协议。
安装命令:
sudo apt install telnet # Debian/Ubuntu 系 sudo yum install telnet # RHEL/CentOS 系
2. nc(netcat)
用途:nc
是功能强大的网络工具,可以检查TCP
和UDP
端口的可达性。
命令格式:
nc -zv <IP地址或主机名><端口号>
示例:
nc -zv 192.168.118.200 22 nc -zv 192.168.118.200 80
输出解释:
Connection to...
表示端口可用。Connection refused
表示端口不可用。
注意:
-z
表示扫描模式,-v
表示显示详细信息。- 支持
TCP
和UDP
(加-u
参数)。
3. curl
用途: 检查 HTTP
或 HTTPS
服务是否运行,适用于 80、443 等 Web 端口。
命令格式:
curl -I <URL>
示例:
curl -I http://192.168.1.100
输出解释:
返回 HTTP 响应头表示端口正常。 如果超时或无响应,端口可能不可用。
4. nmap
用途:nmap
是强大的网络扫描工具,可以扫描主机的开放端口。
命令格式:
nmap -p <端口号><IP地址或主机名>
示例:
nmap -p 22192.168.118.200 nmap -p 80192.168.118.200
输出解释:
open
表示端口开放。closed
表示端口关闭。
扫描多个端口:
nmap -p 20-22 192.168.118.200
注意:
需要安装 nmap
工具:
sudo apt install nmap # Debian/Ubuntu sudo yum install nmap # RHEL/CentOS
5. ss
用途:ss
是现代Linux
中的网络连接状态工具,可以检查本地端口是否在监听。
命令格式:
ss -ltn
输出解释:
LISTEN
表示端口正在监听。输出中包含本地地址和端口号,例如:
LISTEN 0 128 *:22 *:* LISTEN 0 128 [::]:22 [::]:*
** 检查特定端口:**
ss -ltn |grep':22' ss -ltn |grep':80'
6. lsof
用途: 列出当前系统中正在使用的端口。
命令格式:
lsof -i:<端口号>
示例:
lsof -i:22 lsof -i:80
输出解释:
显示使用该端口的进程信息。 如果无输出,表示端口未被占用。
列出所有监听的端口:
lsof -i -P -n |grep LISTEN
7. ping
用途: 用于检测目标主机是否可达,但不能直接检查端口。
命令格式:
ping <IP地址或主机名>
示例:
ping 192.168.118.200
输出解释:
如果有响应,表示目标主机网络连通。 如果无响应,主机可能不可达或 ICMP
被禁用。
8. traceroute
用途: 跟踪数据包到达目标主机的路径,可用于分析端口是否被中间设备阻塞。
命令格式:
traceroute<IP地址或主机名>
示例:
traceroute 192.168.118.201 traceroute -T -p 80 192.168.118.201
9. ip 和 iptables
用途: 查看本地防火墙是否阻止了端口。
命令格式:
iptables -L -n |grep<端口号>
示例:
iptables -L -n |grep80
10. test-netconnection(Windows/Linux 兼容)
用途: 使用 PowerShell
或跨平台工具进行网络测试。
命令格式:
test-netconnection -computername <IP地址或主机名> -port <端口号>
三. 总结
工具 | 检查类型 | 特点 |
---|---|---|
telnet | TCP 连接 | 轻量级,简单直接 |
nc | TCP/UDP 连接 | 强大,支持端口范围扫描 |
curl | HTTP/HTTPS 服务 | 专注于 Web 服务测试 |
nmap | 端口扫描 | 功能全面,适合网络分析 |
ss | 本地监听端口 | 查看监听状态 |
lsof | 本地使用端口 | 查看端口占用进程 |
ping | 主机可达性 | 不针对端口 |
traceroute | 路由跟踪 | 分析中间路由问题 |
iptables | 防火墙规则 | 检查端口是否被阻止 |
使用时根据场景选择合适的工具。
以上就是Linux查看网络端口命令大全的详细内容,更多相关资料请阅读主机测评网其它文章!
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https:///linux/8693.html