Recent twitter entries...

  •  

tcpdump คำสั่ง debug ปัญหาใน network

0

Posted on : 07-03-2011 | By : admin | In : debug, Linux, network

สำหรับใครก็ตามที่ทำงานทางด้าน network คงคุ้นเคยกับโปรแกรม Wireshark ( ชื่อเดิม Ethereal ) เป็นอย่างดี เนื่องจากเป็นโปรแกรมที่ต้องมีเอาไว้ใช้ดูรายละเอียดของข้อมูลใน packet tcp ว่าเป็นยังไง ถูกต้องไหม

ใน Linux ก็มี tool คล้ายๆกัน แถมยังเป็นคำสั่งพื้นฐานที่ติดมาให้โดย default อยู่แล้ว ถือได้ว่าสะดวกมาก

คำสั่งนั้นก็คือ tcpdump นั่นเอง

Option ต่างๆของคำสั่ง tcpdump

-i ชื่อ interface : Capture ทุก packet ที่วิ่งผ่าน interface
-n : ไม่ต้อง resolve hostnames.
-nn : ไม่ต้อง resolve hostnames หรือ port names.
-X : แสดง  packet contents ทั้งในรูปฐาน 16 และ ASCII.
-XX : เหมือน -X, แต่แสดง ethernet header ด้วย.
-v, -vv, -vvv : เพิ่มรายละเอียดของ packet.
-c : ระบุจำนวน  packets เมื่อครบแล้วหยุด.
-S : แสดง absolute sequence numbers.
-e : แสดง  ethernet header.
-q : แสดง protocol information น้อยลง.
-E : ถอดรหัส IPSEC traffic โดยระบุ encryption key.
-s : ตั้งค่าความยาวของ packet (bytes).

ตัวอย่างการใช้งาน

## Capture ทุก packet ที่วิ่งผ่าน eth0

tcpdump -i eth0

## Capture ทุก packet ที่วิ่งผ่าน eth0 ที่ส่งมาหรือส่งไป ip 192.168.1.1

tcpdump -i eth0 host 192.168.1.1

## Capture ทุก packet ที่วิ่งผ่าน eth0 ที่ส่งผ่าน port 80

tcpdump -i eth0 port 192.168.1.1

## Capture ทุก packet ที่วิ่งผ่าน eth0 ที่ส่งผ่าน port 80 ของ host 192.168.1.1

tcpdump -i eth0 port 192.168.1.1 and host 192.168.1.1

## ถ้ามีหลายเงื่อนไข

tcpdump -i eth0 ‘host 203.192.33.106 and (port 1812 or 1813)’

## Cature เป็นไฟล์

tcpdump -i eth0 -w (file name)

## Cature ทั้งหมด ทั้ง header และ data เป็นไฟล์

tcpdump -i eth0 -s 65535 -w (file name)

## อ่านไฟล์ ที่ Capture

tcpdump -r (file name)

Post a comment