OpenWRT使用SNMP監測網路狀態
阿新 • • 發佈:2019-01-02
最近在寫畢業論文,需要監測路由器的網路狀態,路由器是TP-Link TL1043ND v2,作業系統版本是OpenWRT 15.05,本來打算在路由器和監測機上使用Socket通訊來互動資訊的,寫著寫著發現太麻煩了,因為路由器有許多個,就需要在監測機上要實現多執行緒之類的東西,後來發現OpenWRT上已經有編譯好的SNMP包了,於是就直接用它了,然後通過配置snmpd.config檔案來擴充套件,呼叫iw命令就可以很方便地進行網路監測了。
路由器安裝snmp:
opkg update
opkg install snmpd
安裝完後不需要配置就可以直接使用了,可以在在監測機上使用snmpwalk來測試一下是否安裝成功:
snmpwalk -c public -v 1 192.168.1.111 #你的IP地址
正常的話會輸出以下資訊:
想要對路由器的其它資訊進行監測也是非常方便的,可以通過配置/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 1.2.3.6 #MIBOID,具體參考SNMP協議
配置完成後儲存。
重啟snmpd服務/etc/init.d/snmpd restart
.
然後在監測機上使用命令:snmpwalk -c public -v 1 192.168.1.111 1.2.3.6 #這裡使用你自己的IP和剛才設定的MIBOID
就可以看到路由器wlan0的狀態資訊了:
如果有沒說清楚的地方或者有什麼問題,歡迎留言。