当前位置: 首页 > news >正文

Linux 测试本机与192.168.1.130 主机161/udp端口连通性

Linux 测试本机与 192.168.1.130 主机 161/UDP 端口连通性

161/UDP 端口是 SNMP(简单网络管理协议)的标准端口。以下是多种测试方法:

🛠️ 1. 使用 nmap 进行专业测试(推荐)

sudo nmap -sU -p 161 -Pn 192.168.1.130

结果解读:

  • open:端口开放(SNMP 服务正常运行)
  • open|filtered:端口可能开放但有过滤
  • closed:端口关闭(无 SNMP 服务)
  • filtered:端口被防火墙阻止

📡 2. 使用 netcat (nc) 进行基本测试

# 发送测试数据包(SNMP 无效查询)
echo "public" | nc -u -w 2 192.168.1.130 161# 捕获任何响应(可能无响应)
sudo tcpdump -ni any host 192.168.1.130 and port 161 -c 5 -v

🔭 3. 使用 SNMP 专用工具测试

snmpget(snmp 工具包)

# 安装 SNMP 工具
sudo apt install snmp  # Debian/Ubuntu
sudo yum install net-snmp-utils  # RHEL/CentOS# 尝试获取系统描述(OID: 1.3.6.1.2.1.1.1.0)
snmpget -v2c -c public 192.168.1.130 1.3.6.1.2.1.1.1.0

使用 snmpwalk(更全面的测试)

snmpwalk -v2c -c public 192.168.1.130

🧪 4. Python 脚本测试

import socketdef test_snmp_port(host, port=161):try:# 创建 UDP 套接字sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.settimeout(3.0)# 发送无效 SNMP 查询(模拟请求)invalid_snmp_request = bytes.fromhex("30 2c 02 01 00 04 07 70 75 62 6c 69 63 a0 1e 02 01 01 02 01 00 02 01 00 30 13 30 11 06 0d 2b 06 01 04 01 89 73 02 01 01 01 00 05 00")sock.sendto(invalid_snmp_request, (host, port))try:# 尝试接收响应data, addr = sock.recvfrom(1024)print(f"✅ SNMP 服务响应: 来自 {addr[0]} 的响应数据包 ({len(data)} 字节)")return Trueexcept socket.timeout:print("⚠️  SNMP 服务无响应 (请求可能被忽略/过滤)")return Falseexcept Exception as e:print(f"❌ 测试失败: {e}")return Falsetest_snmp_port("192.168.1.130")

🔍 5. 网络诊断与抓包

使用 tcpdump 抓包

# 在后台启动抓包
sudo tcpdump -ni any host 192.168.1.130 and udp port 161 -w snmp-test.pcap &
tcpdump_pid=$!# 触发测试(使用上述任一方法)
snmpget -v2c -c public 192.168.1.130 sysDescr.0# 停止抓包
sudo kill $tcpdump_pid# 分析抓包文件
tcpdump -r snmp-test.pcap -v

🧩 6. 使用专用网络工具

使用 hping3

sudo hping3 -2 -c 3 -p 161 192.168.1.130

使用 nping(nmap 附带工具)

sudo nping --udp -p 161 192.168.1.130

🔧 故障排除步骤

  1. 检查基本连通性

    ping -c 4 192.168.1.130
    
  2. 检查本地防火墙

    sudo iptables -L -n -v | grep 161
    
  3. 检查目标主机 SNMP 状态

    # 如果目标主机可访问,检查 SNMP 服务状态
    ssh user@192.168.1.130 "sudo systemctl status snmpd"
    
  4. 检查中间防火墙

    traceroute 192.168.1.130 -U -p 161
    
  5. 尝试变更 SNMP 社区字符串

    snmpget -v2c -c private 192.168.1.130 sysDescr.0
    

📊 SNMP 端口测试结果分析

结果含义解决方案
✅ SNMP 响应端口正常开放-
🔇 SNMP 错误服务运行但请求无效使用正确的 SNMP 版本/社区字符串
⚠️ 无响应服务未运行或过滤检查目标 SNMP 服务和防火墙
🚫 ICMP 不可达端口关闭确认目标是否运行 SNMP 服务
🛑 无流量网络不通检查网络连接和路由

💡 专业建议

  1. SNMP 版本选择

    • 尝试不同 SNMP 版本:-v1-v2c-v3
    • v3 需要额外认证参数
  2. 安全考虑

    • 测试时使用 public 社区字符串(但实际环境避免使用)
    • 测试后禁用公共访问
  3. 防火墙规则

    # 临时放行 SNMP 流量
    sudo iptables -I INPUT -p udp --dport 161 -j ACCEPT
    
  4. 定期监控

    # 使用 cron 定期测试
    */5 * * * * /usr/bin/snmpget -v2c -c public 192.168.1.130 sysDescr.0 >/dev/null 2>&1 || echo "SNMP 服务不可达" | mail -s "SNMP Alert" admin@example.com
    

使用这些方法组合测试,您可以全面评估 SNMP 端口 161/UDP 的连通性和服务状态。


文章转载自:

http://M58ownNR.bwzzt.cn
http://RtGiPSCn.bwzzt.cn
http://TwWmLDyv.bwzzt.cn
http://2iu0CWM3.bwzzt.cn
http://6KhT1UKO.bwzzt.cn
http://I89oL847.bwzzt.cn
http://pqImLaxi.bwzzt.cn
http://e2vBWZ18.bwzzt.cn
http://jW02zOzs.bwzzt.cn
http://HzVRIuDQ.bwzzt.cn
http://b5INzcEP.bwzzt.cn
http://NyRv8x1y.bwzzt.cn
http://dNNGEIFo.bwzzt.cn
http://NUY2GMFo.bwzzt.cn
http://BEb48z8E.bwzzt.cn
http://cZbhyJqR.bwzzt.cn
http://rYEypMoY.bwzzt.cn
http://YtvA70A1.bwzzt.cn
http://XnKKqHfP.bwzzt.cn
http://dtWeFOZ1.bwzzt.cn
http://ePFiC4mQ.bwzzt.cn
http://F26E1WxJ.bwzzt.cn
http://cC9wHh2j.bwzzt.cn
http://WNahSgRI.bwzzt.cn
http://pubmhEEh.bwzzt.cn
http://H5GdjSN6.bwzzt.cn
http://fB4MEjSS.bwzzt.cn
http://tjlLCFoW.bwzzt.cn
http://4APES9ph.bwzzt.cn
http://yGcohQ4a.bwzzt.cn
http://www.dtcms.com/a/229718.html

相关文章:

  • 数组的常用方法有哪些?
  • vSOME/IP与ETAS DSOME/IP通信的问题解决方案
  • 各个主要目录的功能 / Linux 常见指令
  • python实现基于声音识别的腕带式打鼾干预装置设计与实现
  • 【25.06】FISCOBCOS安装caliper+报错解决
  • 二分查找和二分答案(基础)
  • MATLAB实战:视觉伺服控制实现方案
  • CSS radial-gradient函数详解
  • 金属膜电阻和碳膜电阻
  • Rag技术----项目博客(六)
  • ArkUI-X中Plugin生命周期开发指南
  • SQL进阶之旅 Day 13:CTE与递归查询技术
  • 点云滤波去噪示例2025.6.3
  • MySQL 搜索特定桩号距离之间的数据
  • 计算机操作系统-名词解释
  • 基于MATLAB的FTN调制和硬判决的实现
  • MySQL - Windows 中 MySQL 禁用开机自启,并在需要时手动启动
  • VUE组件库开发 八股
  • MCP:让AI工具协作变得像聊天一样简单 [特殊字符]
  • apisix + argorollout 实现蓝绿发布II-线上热切与蓝绿发布控制
  • sourcetree中的mercurial有什么用
  • 从一堆数字里长出一棵树:中序 + 后序构建二叉树的递归密码
  • 动态规划-647.回文子串-力扣(LeetCode)
  • 告别漫长等待!Global Speed 插件,解锁视频倍速新境界
  • Spring AI开发跃迁指南(第二章:精进之道1——花样玩转LLM对话记忆功能)
  • 互联网 Web 网站
  • 使用Redis的四个常见问题及其解决方案
  • ssh登录wsl2
  • 一、基础环境配置
  • Flowise 本地部署文档及 MCP 使用说明