คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 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 ครับ
ลองดูว่าผู้รู้ท่านอื่นจะแนะนำอะไรเพิ่มเติมครับ
โปรแกรมนี้มีมานานก่อน 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 ครับ
ลองดูว่าผู้รู้ท่านอื่นจะแนะนำอะไรเพิ่มเติมครับ
แสดงความคิดเห็น
เขียนโปรแกรม Package Sniffer
ขอบคุณครับ