2013年8月22日

tcpdump 使用方法

文字版的抓取封包程式
tcpdump -i eth0 host 210.65.1.1 -w test.cap

抓eth0網卡,並只抓取對210.65.1.1的封包,並寫入 test.cap
test.cap檔可以在Wireshark開啟...

2013年8月14日

讓 snmptrapd開機後可以隨著snmpd自動執行

ubuntu的環境

一般snmpd autostart後,但snmptrapd沒有跟著執行,修改/etc/default/snmpd
TRAPDRUN=no   ==>     TRAPDRUN=yes

這樣就會自動跟著啟動了。

讓cisco網路設備的logging是用當地的時間,而不是UTC時間

service timestamps log datetime localtime

2013年8月8日

bind9 named 快速新增DNS反解紀錄

bind9 named 快速新增DNS反解紀錄

一般設定整段IP的反解,需要一筆一筆寫,如下
1    IN    PTR     PC1.local.
2    IN    PTR     PC2.local.
3    IN    PTR     PC3.local.       
4    IN    PTR     PC4.local.
5    IN    PTR     PC5.local.
6    IN    PTR     PC6.local.
7    IN    PTR     PC7.local.
8    IN    PTR     PC8.local.
9    IN    PTR     PC9.local.10    IN    PTR     PC10.local.


現在,可以一筆就可取代,自動產生反解紀錄
$GENERATE 3-10 $ IN PTR PC$.local.


Ganglia 雜項設定



Ganglia 雜項設定

1.     /usr/share/ganglia-webfrontend/                                                                  web所有檔案位置
        /usr/share/ganglia-webfrontend/templates/default/cluster_view.tpl      首頁cluster view的設定檔                                     
        /usr/share/ganglia-webfrontend/graph.d                                                    增加Cluster view的metric php檔
        /usr/share/ganglia-webfrontend/get_content.php                                     修改首頁的default sorted,改成by name
                                                                                                                                            if (!$sort)
                                                                                                                                           $sort = "by name";

2.    gmetric -n 245toInternet -v foo -t string -d 10            刪除不要的metric  245tointernet


2013年8月7日

使用shell算使用頻寬

有些網路設備不提供即時頻寬,只好學Mrtg抓標準的snmp oid,再計算出當時使用頻寬..
以下範例是抓取  switch的port 48 ,ifspeed(port速率是100Mb),抓取間隔為60秒

tmp_port6_in=`/usr/bin/snmpwalk -v 2c -c public 10.110.1.252 1.3.6.1.2.1.2.2.1.10.48 | awk {'print $4'}`
old_port6_in=`cat /tmp/old_port6_in`
port6_in=`/usr/bin/expr \( $tmp_port6_in - $old_port6_in \) \* 8 / 60 /1000000`
echo $tmp_port6_in > /tmp/old_port6_in
tmp_port6_ou=`/usr/bin/snmpwalk -v 2c -c public 10.110.1.252 1.3.6.1.2.1.2.2.1.16.48 | awk {'print $4'}`
old_port6_ou=`cat /tmp/old_port6_ou`
port6_ou=`/usr/bin/expr \( $tmp_port6_ou - $old_port6_ou \) \* 8 / 60 /1000000`
echo $tmp_port6_ou > /tmp/old_port6_ou


記得再rc.local 加echo 0 > /tmp/old_port6_in   和 /tmp/old_port6_out 
以免重開機時,檔案被清掉...

參考連結,內有算式   http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a008009496e.shtml   


part 2

發現有問題,
octet值是32位元的,超過最大值即歸零,最大值是4294967295 (2的32次方-1)。

shell 需要增加判斷式
if [ `expr $tmp_port6_in - $old_port6_in` -lt "0" ]
 then
   port6_in=`/usr/bin/expr \( $tmp_port6_in - $old_port6_in + 4294967295 \) \* 8 / 60`
 else
   port6_in=`/usr/bin/expr \( $tmp_port6_in - $old_port6_in \) \* 8 / 60` 
 fi



參考連結: http://www.cisco.com/en/US/tech/tk648/tk362/technologies_q_and_a_item09186a00800b69ac.shtml