เขียนโปรแกรม Package Sniffer

สอบถามหน่อยครับ คือผมอยากเขียนโปรแกรมดักจักทราฟฟิคของเครื่องในวงแลนเดียวกันครับ แต่ผมไม่รู้จะเริ่มยังไงเลย ส่วนตัวเคยใช้แค่โปรแกรม wireshark ครับ แต่ไม่ได้ต้องการให้หรูขนาดนั้น อยากให้พอแค่เห็นทราฟฟิคการส่งแพ็คเกจประมาณนี้ครับ จุดประสงค์คือ อยากจับการโหลดบิทได้ยิ่งดีครับ
ขอบคุณครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
ถ้าจะเอาแบบง่ายๆ ก็ลองดูแบบอย่างจาก tcpdump (http://en.wikipedia.org/wiki/Tcpdump) ครับ
โปรแกรมนี้มีมานานก่อน Wireshark (มีมาตั้งแต่ปี พ.ศ. 2530), ซับซ้อนน้อยกว่า แต่ทำงานในลักษณะเดียวกัน

ผมจะพยายามเจาะจงให้แคบลงนะครับ (ต่อจาก คห.1):
ถ้าคุณจะทำโปรแกรมเลียนแบบ ความรู้พื้นฐานที่ต้องใช้ก็จะมี:
1. ความรู้เรื่องระบบเครือข่าย, รูปร่าง (Topology) และ Packet switching
2. ความรู้พื้นฐานเรื่องความสัมพันธ์โปรโตคอล 7 ชั้นของ OSI และ 5 ชั้นของ TCP/IP
3. ความรู้เรื่องโปรโตคอลที่คุณๆ ท่านๆ ใช้ในวงแลน: Ethernet, IP, UDP, TCP
4. ทักษะการเขียนโปรแกรมภาษา C และ (*สำคัญ*) Socket programming
5. ความรู้เรื่องลักษณะเบื้องต้นของโปรโตคอล BitTorrent (สำหรับการติดตามการโหลดบิตที่คุณ จขกท. ว่า)

ปล. ที่จริง มีวิธีลัดอยู่ครับ คือเอาโปรแกรม tcpdump มารัน โดยตั้งค่าฟิลเตอร์ต่างๆ ให้เหมาะสม
และค่อยเขียนโปรแกรมเอาเอาต์พุตจาก tcpdump ไปตีความ/ใช้งานอีกที
ผมคิดว่าวิธีนี้ น่าจะตรงความต้องการของคุณ จขกท. มากกว่า โดยที่ไม่ต้องไปปวดหัวกับ Socket programming ครับ

ลองดูว่าผู้รู้ท่านอื่นจะแนะนำอะไรเพิ่มเติมครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่