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

2013年7月30日

linux 下用文字介面抓取封包

tcpdump -i eth1 'port 80 and host 208.80.154.225' -w test4.txt

聽208.80.154.225 的port 80 寫到test4.xtx

2013年7月9日

Vi 取代 多行加mark


取代:
文件中的所有 abc 置換成 xyz
:%s/abc/xyz/g

多行前面加mark:
ctrl + v 選擇多行
I
#
esc

mrtg 超過100Mbps的網路流量會不準

因snmp v1 支援的數值較少,超過100Mbps,如1Gbps,10Gbps的流量就會監測不準,
需改用 snmp V2,指令如下...

cfgmaker --snmp-options=:::::2 public@10.110.1.249 >> mrtg.cfg

2013年6月18日

ubuntu 新增apache 網站

新增/etc/apache2/sites-available/<site name>
<VirtualHost *:8080> DocumentRoot /path/to/new/site ServerName www.example.com </VirtualHost>
啟動此網站 
sudo a2ensite <site name>

重啟apache
sudo /etc/init.d/apache2 restart

2013年5月5日

ubuntu eth0 或eth1 不見

新安裝網卡時,有時會發生eth0或eth1消失,或是eth1變成eth2,
設定/etc/network/interfaces 的IP設定無法正常設定,
使用mii-tool可以找到網卡,只是eth?錯亂.
刪除 /etc/udev/rules.d/70-persistent-net.rules,
再重新開機後,就會恢復正常...

2013年4月30日

檢查磁區的uuid

blkid 可以列出所有的磁區的uuid,
以便修改fstab的對映...


立即套用linux修改的環境變數

舉例修改/etc/profile 的PATH 環境變數,
用service /etc/profile,
直接可以套用,不用重新登入或重開機。

2013年4月27日

Linux 釋放記憶體的command

Linux kernel 2.6 以後可以釋放記憶體的command

sync && echo 1 >/proc/sys/vm/drop_caches && sleep 2 && echo 0 >/proc/sys/vm/drop_caches

主要清除指令是 echo 1 >/proc/sys/vm/drop_caches
最後是回復正常作業狀況...