Linux机器测试IP及端口连通性方法记录

在Linux中测试与目标IP特定端口的连通性时,需根据协议类型选择不同工具和方法。以下是针对HTTPS、TCP、UDP的详细测试方法:


一、HTTPS 端口测试(基于TCP的应用层协议)

1. 检查TCP层连通性
bash 复制代码
# 使用netcat测试TCP 443端口
nc -zv <IP地址> 443

# 使用telnet测试(若系统未安装需先安装telnet)
telnet <IP地址> 443
  • 若提示 Connectedsucceeded 表示TCP层可达。
2. 检查SSL/TLS握手
bash 复制代码
# 使用openssl验证SSL证书和握手
openssl s_client -connect <IP地址>:443 -servername <域名>(如有SNI需求)
  • 输出中出现 SSL handshake has read X bytes and written Y bytes 表示握手成功。
  • 若需测试HTTP响应,可用 curl
bash 复制代码
curl -Iv https://<IP地址>:端口

二、纯TCP端口测试

bash 复制代码
# 方法1: netcat快速测试
nc -zv <IP地址> <端口>

# 方法2: nmap扫描(需root权限)
nmap -p <端口> <IP地址>

# 方法3: telnet(基础测试)
telnet <IP地址> <端口>
  • 成功连接后,TCP端口被视为可达。

三、UDP端口测试

1. 使用netcat(需目标服务响应)
bash 复制代码
# 发送UDP数据包并监听响应(需交互式操作)
nc -u <IP地址> <端口>
输入测试数据后按回车,观察是否有回复

# 快速扫描模式(部分系统支持)
nc -uzv <IP地址> <端口>
  • 注意:UDP无连接特性可能导致假阳性,需结合服务特性判断。
2. 使用nmap深度扫描
bash 复制代码
sudo nmap -sU -p <端口> <IP地址>
  • open 表示端口可达,open|filtered 表示可能被防火墙干扰。
3. 使用socat发送UDP探测
bash 复制代码
echo "test" | socat - UDP4:<IP地址>:<端口>
  • 结合服务日志或抓包工具(如 tcpdump)验证数据是否到达。

四、补充工具与技巧

  1. 抓包验证

    使用 tcpdump 直接观察流量:

    bash 复制代码
    tcpdump -i any host <IP地址> and port <端口>
  2. 防火墙检查

    确保本地和网络防火墙未阻止连接:

    bash 复制代码
    iptables -L -n  # 检查本地规则
  3. 服务日志分析

    查看目标服务的日志,确认连接请求是否到达。


五、结果解读

协议 成功标志 失败可能原因
HTTPS TCP连通且SSL握手成功 证书错误、协议不兼容
TCP 工具显示 Connectedopen 端口关闭、防火墙阻断
UDP 收到服务响应或nmap标记 open 无响应、服务不处理探测数据

根据实际需求选择方法,若需验证服务可用性,建议结合协议特性发送实际请求(如HTTPS使用curl)。

相关推荐
为思念酝酿的痛1 小时前
POSIX信号量
linux·运维·服务器·后端
专业白嫖怪1 小时前
什么是docker
运维·docker·容器
人还是要有梦想的2 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
北京智和信通2 小时前
某部队IT基础设施及机房动环统一运维建设实例
运维·网管平台·网管软件·网络管理系统·网络运维平台·网络运维系统
乐维_lwops3 小时前
从 “救火运维” 到 “自动驾驶”:运维智能体到底解决了什么?
运维·人工智能·运维智能体
bush43 小时前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽3 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
weixin_468466853 小时前
MoneyPrinterTurbo 短视频自动化生产实战指南
运维·人工智能·自动化·大模型·音视频·moneyprinter
難釋懷4 小时前
Nginx自签名-图形化工具 XCA
运维·nginx
运维栈记5 小时前
API Error: 400 Request body format invalid
linux·ai