1. 程式人生 > >OpenWRT使用SNMP監測網路狀態

OpenWRT使用SNMP監測網路狀態

最近在寫畢業論文,需要監測路由器的網路狀態,路由器是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的狀態資訊了:

這裡寫圖片描述

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