Thursday, June 11, 2009

[Linux] script สำหรับ check process แบบง่ายๆๆๆๆ

สืบเนื่องมาจากเปิด transmission-daemon ไว้แล้วมัน crash บ่อยเลยอยากให้มี script ไว้ตรวจสอบแล้ว restart อัติโนมัติ

$vi psmon.sh
#!/bin/sh

pid=`ps -ef|grep transmis|grep -v grep|awk '{print $2}'`
if [ -z "$pid" ]; then
echo "Process NOT running, Start process now!"
/etc/init.d/transmission-daemon restart
date >> /home/ubuntu/Ubuntu/psmon.log
else
echo "Process running"
fi



$chmod 755 psmon.sh
แล้วเรียก script ใน crontab ทุกๆ 5 นาที
$crontab -e
*/5 * * * * /home/ubuntu/Ubuntu/psmon.sh

[Linux] ใช้ wireshark บน text mode

ผมติดการใช้งาน wireshark แต่พอดีมาใช้บน linux แล้วเป็น text mode command line ใช้ tcpdump มันแสดงผลไม่สวยเห็น wireshark มีบน text เหมือนกันชื่อ tshark

install
$sudo apt-get install tshark
$sudo tshark -i eth0 -V -f "host 192.168.1.1"
ตัวอย่างมีการ capture interface eth0 โดยมี filter ที่มี src หรือ dst เป็น 192.168.1.1 แล้วแสดงผลเป็น tree คล้ายๆ GUI

[Cisco] QoS ทำการ marking ค่า DSCP แล้ว ไม่เห็นค่าที่ mark

Diagram

[SERVER]-----------[CAT1]---------------[CAT2]----------[CLIENT]

อุปกรณ์เป็น Cisco Catalyst6509 มีการ marking input packet จาก SERVER ที่ตัว CAT1 แล้วมาจับ packet ที่ client พบว่า packet ค่า dscp เป็น 0
เนื่องมาจากว่า catalyst6509 มีค่า default ในการ rewrite packet ToS->DSCP
โดยดูจาก command: show mls qos
QoS is enabled globally
QoS ip packet dscp rewrite enabled globally <---- by default
Input mode for GRE Tunnel is Pipe mode
Input mode for MPLS is Pipe mode
Vlan or Portchannel(Multi-Earl) policies supported: Yes
Egress policies supported: Yes


----- Module [5] -----
QoS global counters:
Total packets: 1795932
IP shortcut packets: 0
Packets dropped by policing: 0
IP packets with TOS changed by policing: 459413
IP packets with COS changed by policing: 57
Non-IP packets with COS changed by policing: 0
MPLS packets with EXP changed by policing: 0

จึงทำให้มีการ rewrite ค่าของ DSCP ที่เรา mark ไว้ตั้งแต่ CAT1 เป็นค่าที่ได้จากการ map ToS ค่าจึงเป็น 0 (พูดถึง default mapping จาก ToS->DSCP)
แต่ถ้าต้องการ disable ทำได้ 2 วิธีคือ
1. ตัว CAT2 ที่ global config mode
conf t
no mls qos rewrite ip dscp

!verify
sh mls qos
QoS is enabled globally
QoS ip packet dscp rewrite disabled globally <--- disable
Input mode for GRE Tunnel is Pipe mode
Input mode for MPLS is Pipe mode
Vlan or Portchannel(Multi-Earl) policies supported: Yes
Egress policies supported: Yes


----- Module [5] -----
QoS global counters:
Total packets: 3631461
IP shortcut packets: 0
Packets dropped by policing: 0
IP packets with TOS changed by policing: 550481
IP packets with COS changed by policing: 169
Non-IP packets with COS changed by policing: 0
MPLS packets with EXP changed by policing: 0


2. ตัว CAT2 ที่ interface ที่ต่อกับ CAT1
interface x/x
mls qos trust dscp