linux下使用wireshark捕捉snmp报文

1、安装wireshark并解决wireshark权限不足问题
解决linux普通用户使用Wireshark的权限不足问题_麒麟系统中wireshark 运行显示权限不够-CSDN博客

2、Linux下安装并配置SNMP软件包

(deepseek给出的解答,目前会产生request包,但是会连接不上,可以用来捕获分析,后面有必要分析response,会进一步更新)

一、安装 SNMP 工具

1. 安装 SNMP 软件包

bash

复制

下载

复制代码
# Debian/Ubuntu
sudo apt-get install snmp snmpd snmp-mibs-downloader

# CentOS/RHEL
sudo yum install net-snmp net-snmp-utils
2. 关键组件说明:
  • snmpd:SNMP 代理服务(用于本机提供 SNMP 数据)。

  • snmp :SNMP 客户端工具(如 snmpget, snmpwalk 等)。

  • snmp-mibs-downloader:下载 MIB 数据库的工具(可选)。


二、配置 SNMP 服务(snmpd)

1. 修改配置文件

配置文件路径:/etc/snmp/snmpd.conf

bash

复制

下载

复制代码
sudo nano /etc/snmp/snmpd.conf
2. 基础配置示例(SNMPv2c)

conf

复制

下载

复制代码
# 允许所有来源的只读访问(生产环境建议限制IP)
rocommunity public  default    -V systemonly

# 限制访问IP范围(可选)
rocommunity public  192.168.1.0/24

# 定义系统信息
sysLocation  "Server Room"
sysContact  "admin@example.com"
sysName     "linux-server"

# 暴露更多信息(CPU、内存、磁盘等)
view    systemview  included   .1.3.6.1.2.1.1
view    systemview  included   .1.3.6.1.2.1.25.1
3. 启动服务

bash

复制

下载

复制代码
sudo systemctl restart snmpd
sudo systemctl enable snmpd
4. 防火墙放行(若需要远程访问)

bash

复制

下载

复制代码
sudo ufw allow 161/udp

三、使用 SNMP 客户端工具

1. 查询本地 SNMP 信息

bash

复制

下载

复制代码
# 查询系统描述(OID: 1.3.6.1.2.1.1.1.0)
snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1.0

# 查询所有系统信息
snmpwalk -v 2c -c public localhost
2. 查询远程设备

bash

复制

下载

复制代码
snmpwalk -v 2c -c public 192.168.1.100
3. 常用 OID 示例
OID 描述
.1.3.6.1.2.1.1.1.0 系统描述
.1.3.6.1.2.1.1.5.0 主机名
.1.3.6.1.2.1.25.1.1.0 系统运行时间
.1.3.6.1.2.1.25.2.2.0 内存使用

四、安全配置(SNMPv3)

SNMPv3 提供加密和认证,比 v2c 更安全。

1. 创建 SNMPv3 用户

bash

复制

下载

复制代码
sudo net-snmp-create-v3-user -ro -A <密码> -a SHA -X <加密密码> -x AES snmpuser
2. 查询示例

bash

复制

下载

复制代码
snmpwalk -v 3 -u snmpuser -a SHA -A <密码> -x AES -X <加密密码> -l authPriv localhost

五、常见问题排查

  1. 服务未启动

    bash

    复制

    下载

    复制代码
    sudo systemctl status snmpd
    journalctl -u snmpd
  2. 权限问题

    • 检查 snmpd.conf 中的 rocommunityrwcommunity 配置。

    • 确保防火墙未阻止 UDP 161 端口。

  3. MIB 加载失败

    bash

    复制

    下载

    复制代码
    # 编辑 /etc/snmp/snmp.conf 注释掉 "mibs :"
    sudo nano /etc/snmp/snmp.conf

六、扩展应用

  • 监控工具集成:将 SNMP 数据接入 Zabbix、Nagios 或 Prometheus。

  • 自定义 OID :通过 extend 指令在 snmpd.conf 中添加自定义脚本输出。

  • MIB 管理:下载设备厂商的 MIB 文件以解析专用 OID。

通过以上步骤,您可以在 Linux 系统中高效使用 SNMP 进行设备监控与管理。

相关推荐
晚枫歌F15 分钟前
Dpdk介绍
linux·服务器
风送雨1 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
芯盾时代2 小时前
石油化工行业网络风险解决方案
网络·人工智能·信息安全
线束线缆组件品替网2 小时前
Weidmüller 工业以太网线缆技术与兼容策略解析
网络·人工智能·电脑·硬件工程·材料工程
以太浮标3 小时前
华为eNSP模拟器综合实验之-BFD联动配置解析
运维·网络·华为·信息与通信
工程师老罗3 小时前
龙芯2k0300 PMON取消Linux自启动
linux·运维·服务器
千百元3 小时前
centos如何删除恶心定时任务
linux·运维·centos
ICT系统集成阿祥4 小时前
OSPF邻居建立失败完整排查指南
网络·网络协议
liulilittle5 小时前
OPENPPP2 Code Analysis One
网络·c++·网络协议·信息与通信·通信
叫致寒吧5 小时前
k8s操作(三)
网络·容器·kubernetes