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
五、常见问题排查
-
服务未启动:
bash
复制
下载
sudo systemctl status snmpd journalctl -u snmpd
-
权限问题:
-
检查
snmpd.conf
中的rocommunity
或rwcommunity
配置。 -
确保防火墙未阻止 UDP 161 端口。
-
-
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 进行设备监控与管理。