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 进行设备监控与管理。

相关推荐
专注API从业者3 分钟前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
liulilittle17 分钟前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
Ribou35 分钟前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
c&0xff001 小时前
Flink反压问题
网络·flink
7ACE1 小时前
Wireshark TS | 接收数据超出接收窗口
网络协议·tcp/ip·wireshark
深圳多奥智能一卡(码、脸)通系统1 小时前
基于多奥(DAIC)品牌的IC卡电梯门禁系统(梯控)基础配置清单,整合核心硬件、软件及安全组件,确保系统可独立运行并支持未来扩展
网络
googleccsdn1 小时前
ESNP LAB 笔记:配置MPLS(Part4)
网络·笔记·网络协议
tan180°1 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
Mr. Cao code2 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
Dontla2 小时前
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
网络·docker·容器