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

相关推荐
牧以南歌〆2 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
夜月yeyue3 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
kfepiza3 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-20243 小时前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
cuijiecheng20184 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
群联云防护小杜5 小时前
构建分布式高防架构实现业务零中断
前端·网络·分布式·tcp/ip·安全·游戏·架构
独行soc6 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*6 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn7 小时前
Linux命令的命令历史
linux·histsize·histfile
岸边的风8 小时前
无需公网IP的文件交互:FileCodeBox容器化部署技术解析
网络·网络协议·tcp/ip