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 中的 rocommunity 或 rwcommunity 配置。

    • 确保防火墙未阻止 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 进行设备监控与管理。

相关推荐
PellyKoo9 分钟前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu
聪明蛋子哟1 小时前
大模型应用“最后一公里”:从Prompt工程到MCP协议,如何实现跨系统的高可用集成?
网络·prompt
Fruiticecake1 小时前
epoll 回显服务器是怎么工作的:从 accept 队列到就绪链表,以及它和 select / poll 的区别
linux
科创致远1 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
承渊政道1 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat
最强小杰2 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
重生之小比特2 小时前
【Linux系统】17 库制作与原理(下)
linux·运维·服务器
weixin_450907282 小时前
[ZYNQ Linux] VCU使用
linux·zynq
程序员清风2 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络
wacsii2 小时前
【Linux进程(二)】深入 Linux 内核:进程状态切换与底层数据结构的秘密
linux·服务器