Bootstrap

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 22 192.168.118.200
nmap -p 80 192.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 | grep 80

在这里插入图片描述


10. test-netconnection(Windows/Linux 兼容)

用途: 使用 PowerShell 或跨平台工具进行网络测试。

命令格式:

test-netconnection -computername <IP地址或主机名> -port <端口号>

在这里插入图片描述


三. 总结

工具检查类型特点
telnetTCP 连接轻量级,简单直接
ncTCP/UDP 连接强大,支持端口范围扫描
curlHTTP/HTTPS 服务专注于 Web 服务测试
nmap端口扫描功能全面,适合网络分析
ss本地监听端口查看监听状态
lsof本地使用端口查看端口占用进程
ping主机可达性不针对端口
traceroute路由跟踪分析中间路由问题
iptables防火墙规则检查端口是否被阻止

使用时根据场景选择合适的工具。

;