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)。

相关推荐
IT 小阿姨(数据库)11 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL11 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
逍遥浪子~12 小时前
docker实践(一)
运维·docker·容器
让子弹飞0212 小时前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
Yana.nice12 小时前
yum list 和 repoquery的区别
linux
AI云原生12 小时前
如何使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的教程
运维·docker·云原生·容器·serverless·firefox·kubeless
今生相伴99112 小时前
ELFK:企业级日志管理的完整解决方案——从入门到精通
运维·elk·elasticsearch
码出钞能力13 小时前
更换libc.so导致linux变砖,通过LD_PRELOAD挽救
linux·服务器
小马学嵌入式~13 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
慢慢沉13 小时前
UDP与TCP的区别
网络协议·tcp/ip·udp