linux的snmpwalk命令

linux的snmpwalk命令,第1张

linux下snmpwalk命令不太常用到,所有很多人对它都不太熟悉,下面由我为大家搜集整理了linux的snmpwalk命令的相关知识,希望对大家有帮助!

linux的snmpwalk命令

SNMPWALK是一个通过SNMP GET-NEXT类型PDU,实现对目标AGENT的某指定MIB分支信息进行完整提取输出的命令工作。

命令行:snmpwalk [选项] agent [oid]

选项参数:由于SNMP协议中,不同的协议版本存在不同的参数选项,以下参数按协议分开说明。

1. 普通选项

a) –h 显示帮助

b) –v 1|2c|3 指定SNMP协议版本

c) –V 显示当前SNMPWALK命令行版本

d) –r RETRIES 指定重试次数,默认为0次。

e) –t TIMEOUT 指定每次请求的等待超时时间,单为秒,默认为3秒。

f) –Cc 指定当在WALK时,如果发现OID负增长将是否继续WALK。

2.V1、V2C选项

a) –c COMMUNITY 指定共同体字符串

3.V3选项

a) –l LEVEL 指定安全级别:noAuthNoPriv|authNoPriv|authPriv

b) –u USER-NAME 安全名字

c) –a PROTOCOL 验证协议:MD5|SHA。如果-l指定为authNoPriv或authPriv时才需要。

d) –A PASSPHRASE 验证字符串。如果-l指定为authNoPriv或authPriv时才需要。

e) –x PROTOCOL 加密协议:DES。如果-l指定为authPriv时才需要。

f) –X PASSPHRASE 加密字符串:如果-l指定为authPriv时才需要。

linux的snmpwalk命令常用方法

1、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.1 得到取得windows端的系统进程用户数等

其中-v是指版本,-c 是指密钥,也就是客户端snmp.conf里面所设置的,下面类同.

2、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.2.2 取得系统总内存

3、snmpwalk -v 2c -c public 10.103.33.1 hrSystemNumUsers 取得系统用户数

4、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.4.20 取得IP信息

5、snmpwalk -v 2c -c public 10.103.33.1 system 查看系统信息

6、snmpwalk -v 2c -c public 10.103.33.1 ifDescr 获取网卡信息

以上只是一些常用的信息,snmpwalk功能很多,可以获取系统各种信息,只要更改后面的信息类型即可.如果不知道什么类型,也可以不指定,这样所有系统信息都获取到:

snmpwalk -v 2c -c public 10.103.33.1

Windows Memory Utilization: Total : OID: 1.3.6.1.2.1.25.2.2.0 单位(KB)--Windows 2003 1.3.6.1.2.1.25.2.2.0 = 2096304 [Integer] 也可以用snmpwalk去.1.3.6.1.2.1.25.2,可以看到内存和磁盘的全部信息

这个不会有人帮你写出个完整的shell。因为每台机器的 *** 作系统都不一定吻合,不过我可以给你个自己做的参考:

1,启动你服务器的snmp服务器,编辑/etc/snmp/snmpd.conf

修改里面的 com2sec notConfigUser default<你的community名字>, 有困惑,可以在网上搜索snmp服务配置。然后/etc/init.d/snmpd start 启动服务。

2. 安装net-snmp

yum install net-snmp

3.验证你服务器snmp是否正确安装:

snmpwalk -v 2c -c <你自己设置的community>127.0.0.1

有返回信息就是正确。

4. 写你shell程序,通过snmpwalk可查看各网卡端口流量,可根据下面我提供的信息你自己选择你要监控的端口。

[root@AAA snmp]# snmpwalk -v 2c -c <你自己定义community>127.0.0.1 IF-MIB::ifHCOutOctets

IF-MIB::ifHCOutOctets.1 = Counter64: 2458933344

IF-MIB::ifHCOutOctets.2 = Counter64: 1714076390

IF-MIB::ifHCOutOctets.3 = Counter64: 0

IF-MIB::ifHCOutOctets.4 = Counter64: 0

[root@AAA snmp]# snmpwalk -v 2c -c c <你自己定义community>127.0.0.1 IF-MIB::ifHCInOctets

IF-MIB::ifHCInOctets.1 = Counter64: 2458940740

IF-MIB::ifHCInOctets.2 = Counter64: 3011885260

IF-MIB::ifHCInOctets.3 = Counter64: 0

IF-MIB::ifHCInOctets.4 = Counter64: 0

实际shell赋值,可以通过snmpget命令而不是snmpwalk。比如:

[root@AAA snmp]# snmpget -v 2c -c <你自己定义community>127.0.0.1 IF-MIB::ifHCOutOctets.1

IF-MIB::ifHCOutOctets.1 = Counter64: 2458947627

这样,你就可以通过shell,吧值赋给变量,例子如下:

[root@AAA snmp]# var=`snmpget -v 2c -c <你自己定义community>127.0.0.1 IF-MIB::ifHCOutOctets.1 | awk '{print $4}'`echo $var

2458981520

我已经提供全过程的信息给你了。具体你琢磨着去弄你的shell吧。

哈,有点头晕。。。如果只监测自己机器,楼上仁兄那个最好。采纳他吧。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7337550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存