天天看點

OpenWRT使用SNMP監測網絡狀态

最近在寫畢業論文,需要監測路由器的網絡狀态,路由器是TP-Link TL1043ND v2,作業系統版本是OpenWRT 15.05,本來打算在路由器和監測機上使用Socket通信來互動資訊的,寫着寫着發現太麻煩了,因為路由器有許多個,就需要在監測機上要實作多線程之類的東西,後來發現OpenWRT上已經有編譯好的SNMP包了,于是就直接用它了,然後通過配置snmpd.config檔案來擴充,調用iw指令就可以很友善地進行網絡監測了。

路由器安裝snmp:

opkg update
opkg install snmpd
           

安裝完後不需要配置就可以直接使用了,可以在在監測機上使用snmpwalk來測試一下是否安裝成功:

正常的話會輸出以下資訊:

OpenWRT使用SNMP監測網絡狀态

想要對路由器的其它資訊進行監測也是非常友善的,可以通過配置

/etc/config/snmpd

實作,例如我需要監測AP中wlan0下連接配接和終端資訊,首先寫個指令腳本:

#!/bin/sh
iw dev wlan0 station dump
           

儲存腳本,記住路徑,一會在snmpd配置的時候需要用到,我儲存在/yaphone檔案夾下。

然後配置snmpd檔案

vi /etc/config/snmpd

:

config exec
        option name     iw               #腳本名
        option prog     /yaphone/iw.sh   #腳本路徑
        option miboid             #MIBOID,具體參考SNMP協定
           

配置完成後儲存。

重新開機snmpd服務

/etc/init.d/snmpd restart

.

然後在監測機上使用指令:

snmpwalk -c public -v 1 192.168.1.111 1.2.3.6 #這裡使用你自己的IP和剛才設定的MIBOID

就可以看到路由器wlan0的狀态資訊了:

OpenWRT使用SNMP監測網絡狀态

如果有沒說清楚的地方或者有什麼問題,歡迎留言。

繼續閱讀