Seednet FTTB 10M/2M DHCP取得IP 高雄



贊助商連結


頁 : 1 [2]

spooky_mulder
2010-04-14, 11:36 PM
linux base...

感謝,有機會來研究一下 bash。

贊助商連結


tvirus
2010-04-14, 11:57 PM
感謝,有機會來研究一下 bash。
嗯...好吧,我自x一下 Orz

/var/lib/cacti/scripts/p850h_rate.sh

#!/bin/sh
curl -s http://$2:$3@$1/statsvdsl.html | grep "Actual Net Data Rate:"| awk '{print "Upstream:" $5 " Downstream:" $7}'
/var/lib/cacti/scripts/p850h_snr.sh

#!/bin/sh
curl -s http://$2:$3@$1/statsvdsl.html | grep "SNR Margin: "| awk '{print "Upstream:" $3 " Downstream:" $5}'

spooky_mulder
2010-04-15, 12:02 AM
嗯...好吧,我自x一下 Orz

/var/lib/cacti/scripts/p850h_rate.sh

#!/bin/sh
curl -s http://$2:$3@$1/statsvdsl.html | grep "Actual Net Data Rate:"| awk '{print "Upstream:" $5 " Downstream:" $7}'
/var/lib/cacti/scripts/p850h_snr.sh

#!/bin/sh
curl -s http://$2:$3@$1/statsvdsl.html | grep "SNR Margin: "| awk '{print "Upstream:" $3 " Downstream:" $5}'

這個語法還看不習慣,研究一下看有沒有是否能在 Windows 上實作出來。

感恩哦。

FYI
2010-04-18, 09:09 AM
小弟好奇一問, tvirus 兄如何在curl 處理帳號密碼? 有此疑慮是因為傳遞的是明碼, 而以curl 抓資料則由於抓完就結束, 因而每次都是新的連線, 所以每次登入數據機都必須重新驗證帳號密碼, 不知有無比較合理的做法? ssh? 否則只好改用libcurl

以下小弟也現學現賣, 東施效顰一下, 歡迎吐槽

ADSL Info 把數據拆成數行, 先以sed 把列51-57 取出來研究:

root@OpenWrt:~# curl -s -u cht:chtnadsl http://192.168.1.1/info.html | sed -n 51,57p
<td>2048&nbsp;</td>
<td>256&nbsp;</td>
</tr>
<tr>
<td class='hd'>SNR Margin (dB):</td>
<td>24.8&nbsp;</td>
<td>27.0&nbsp;</td>
然後建立rate_snr.sed

51,52{
s/^[^>]*>//
s/&.*$//p
}
56,57{
s/^[^>]*>//
s/&.*$//p
}
接著以sed 取出數字部份:

root@OpenWrt:~# curl -s -u cht:chtnadsl http://192.168.1.1/info.html | sed -n -f rate_snr.sed
2048
256
24.8
27.0
理論上應該在/etc/snmp/snmpd.conf (/var/snmp/snmpd.conf for DD-WRT) 分四次丟出來, 否則簡單如SNMP Traffic Grapher STG (http://www.pczone.com.tw/thread/29/144527/) 將無法一次處理四個數據

spooky_mulder 兄若有分享器的話, 設法改刷OpenWrt, 應該就能很快上手, 不過小弟還不知道如何從OpenWrt 把圖形送出來, 現在只是拿OpenWrt 練習Linux Command & Shell Script

cURL - How To Use (http://curl.haxx.se/docs/manpage.html)
Hour 16: Filtering Text Using Regular Expressions: The Basics of awk and sed (http://freebooks.by.ru/view/ShellProgIn24h/31480106.htm)
SED -- A Non-interactive Text Editor (http://sed.sourceforge.net/grabbag/tutorials/sedfaq.txt)
OpenWrt / How to find the number of Wifi Client through SNMP ??!! (https://forum.openwrt.org/viewtopic.php?id=5728)
DD-WRT Forum :: View topic - SNMP OID for Active IP Connections? (http://www.dd-wrt.com/phpBB2/viewtopic.php?t=1054)

tvirus
2010-04-18, 12:59 PM
嗯...帳號密碼是明碼...這個...就這樣= =
反正就算別人知道了,他能怎樣? XD
另外,關於每次連線都是新的連線問題...

因為是執行檔嘛
沒辦法Keep Session,就像瀏覽器關了,再開同一網頁一樣
除非有像Firefox一類的做法(也許curl有,但我懶得去搞到這麼複雜)

基本上...我提供的那兩個script,都是隨便寫寫 XD
所以,很多東西都沒在考慮的

spooky_mulder
2010-04-18, 03:00 PM
spooky_mulder 兄若有分享器的話, 設法改刷OpenWrt, 應該就能很快上手, 不過小弟還不知道如何從OpenWrt 把圖形送出來, 現在只是拿OpenWrt 練習Linux Command & Shell Script


可惜我的分享器是 VigorPor 200B,應該不能改刷 OpenWrt 吧。

另一台是 ZyXEL P-335WT,應該也不能改刷 OpenWrt。

FYI
2010-04-18, 08:19 PM
telent/ssh 登入Modem 後, 可以得到很詳細的資訊, 所以ssh 應該是比較安全的做法, 而且應該有辦法以PuTTY 自動取得資訊, 總比用libcurl 寫程式來得容易

Main Menu

1. ADSL Link State

Down Up
SNR (dB): 24.8 27.0
Rate (Kbps): 2048 256
上回曾經啟用Modem 內建snmpd, 再以PRTG 繪圖, 可是一直不知道snmpd 在何處定義傳送的資料, 也找不到類似snmpd.conf 的東東, 如果有辦法自行定義, 那就更容易了

補充:
找到TECOM AR4031B/C SNMP 下載頻寬OID ifSpeed (1.3.6.1.2.1.2.2.1.5.4), 可能沒有上傳的OID