目录- 一. 使用前提
- 二. 命令详解
- 1. telnet
- 2. nc(netcat)
- 3. curl
- 4. nmap
- 5. ss
- 6. lsof
- 7. ping
- 8. traceroute
- 9. ip 和 iptables
- 10. test-netconnection(Windows/Linux 兼容)
- 三. 总结
在 Linux 中,可以使用多种工具来检查网络端口。以下是详细的命令和用法:
一. 使用前提
| 命令 | 端口必须被监听才能检测 | 端口未使用时是否能检测 |
|---|
telnet | 是 | 否 | nc | 是(-z 模式) | 否(仅检测监听端口) | curl | 是 | 否 | nmap | 否 | 是 | ss | 是 | 否 | lsof | 是 | 否 | ping | 否 | 是 | traceroute | 否 | 是 | iptables | 否 | 是 |
如果需要检测未使用的端口,推荐使用 nmap 或检查防火墙配置(如 iptables)。
二. 命令详解
1. telnet
用途: 用于检查远程主机指定端口是否可以建立TCP连接。
命令格式:
示例:
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 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 http://192.168.1.100
输出解释:
返回 HTTP 响应头表示端口正常。 如果超时或无响应,端口可能不可用。
4. nmap
用途:nmap 是强大的网络扫描工具,可以扫描主机的开放端口。
命令格式:
示例:
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中的网络连接状态工具,可以检查本地端口是否在监听。
命令格式:
输出解释:
LISTEN 表示端口正在监听。
输出中包含本地地址和端口号,例如:
LISTEN 0 128 *:22 *:*
LISTEN 0 128 [::]:22 [::]:*
** 检查特定端口:**
ss -ltn |grep':22'
ss -ltn |grep':80'
6. lsof
用途: 列出当前系统中正在使用的端口。
命令格式:
示例:
输出解释:
显示使用该端口的进程信息。 如果无输出,表示端口未被占用。
列出所有监听的端口:
lsof -i -P -n |grep LISTEN
7. ping
用途: 用于检测目标主机是否可达,但不能直接检查端口。
命令格式:
示例:
输出解释:
如果有响应,表示目标主机网络连通。 如果无响应,主机可能不可达或 ICMP 被禁用。
8. traceroute
用途: 跟踪数据包到达目标主机的路径,可用于分析端口是否被中间设备阻塞。
命令格式:
示例:
traceroute 192.168.118.201
traceroute -T -p 80 192.168.118.201
9. ip 和 iptables
用途: 查看本地防火墙是否阻止了端口。
命令格式:
iptables -L -n |grep<端口号>
示例:
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查看网络端口命令大全的详细内容,更多相关资料请阅读琼殿技术社区其它文章! |