Submit Search
Upload
บทที่+1 3..
•
3 likes
•
1,697 views
ก
การเดินทาง ที่ไร้จุดหมาย
Follow
Libpcap python gui
Read less
Read more
Education
Report
Share
Report
Share
1 of 34
Recommended
รายงานเมย์
รายงานเมย์
Kanjana ZuZie NuNa
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
4971
หน่วยที่ 1 การทำงานกับระบบเว็บ
หน่วยที่ 1 การทำงานกับระบบเว็บ
tanongsak
รายงานอาชญญากรรม
รายงานอาชญญากรรม
monly2monly
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
Kannaree Jar
รายงานอาชญากรรม เชี่ยว
รายงานอาชญากรรม เชี่ยว
Atcharaspk
รายงานออม
รายงานออม
monly2monly
รายงานอาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
รายงานอาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
Mind Candle Ka
Recommended
รายงานเมย์
รายงานเมย์
Kanjana ZuZie NuNa
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
4971
หน่วยที่ 1 การทำงานกับระบบเว็บ
หน่วยที่ 1 การทำงานกับระบบเว็บ
tanongsak
รายงานอาชญญากรรม
รายงานอาชญญากรรม
monly2monly
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
Kannaree Jar
รายงานอาชญากรรม เชี่ยว
รายงานอาชญากรรม เชี่ยว
Atcharaspk
รายงานออม
รายงานออม
monly2monly
รายงานอาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
รายงานอาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
Mind Candle Ka
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
Thalatchanan Netboot
Network security
Network security
PMormay PMay
Network security
Network security
PMormay PMay
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
jib603
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
Junjira Karaket
แบบทดสอบ
แบบทดสอบ
kruumawan
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
Samart Phetdee
รายงาน1111
รายงาน1111
witch_4994
อาชญากรรม เบส
อาชญากรรม เบส
Mind Candle Ka
อาชญากรรมคอมพิวเตอร์11
อาชญากรรมคอมพิวเตอร์11
Tidatep Kunprabath
Ch8
Ch8
Tong Thitipetchakul
เรื่อง อาชญากรรมทางคอมพิวเตอร์
เรื่อง อาชญากรรมทางคอมพิวเตอร์
monly2monly
อาชญากรรมคอมพิวเตอร์
อาชญากรรมคอมพิวเตอร์
suwinee8390
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
wasan601
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
Kannaree Jar
โครงงานคอม 5
โครงงานคอม 5
wipawanmmiiww
Addiction I T
Addiction I T
Isara Chiawiriyabunya
Software 7
Software 7
paween
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
MMp'New Aukkaradet
้html
้html
Jerawat Jktea
Unit1new
Unit1new
Phannee Yenbamroong
Unit1new (1)
Unit1new (1)
เสาวนีย์ คูณทา
More Related Content
What's hot
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
Thalatchanan Netboot
Network security
Network security
PMormay PMay
Network security
Network security
PMormay PMay
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
jib603
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
Junjira Karaket
แบบทดสอบ
แบบทดสอบ
kruumawan
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
Samart Phetdee
รายงาน1111
รายงาน1111
witch_4994
อาชญากรรม เบส
อาชญากรรม เบส
Mind Candle Ka
อาชญากรรมคอมพิวเตอร์11
อาชญากรรมคอมพิวเตอร์11
Tidatep Kunprabath
Ch8
Ch8
Tong Thitipetchakul
เรื่อง อาชญากรรมทางคอมพิวเตอร์
เรื่อง อาชญากรรมทางคอมพิวเตอร์
monly2monly
อาชญากรรมคอมพิวเตอร์
อาชญากรรมคอมพิวเตอร์
suwinee8390
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
wasan601
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
Kannaree Jar
What's hot
(15)
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
Network security
Network security
Network security
Network security
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
กิจกรรมที่ 4 อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
แบบทดสอบ
แบบทดสอบ
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
ความรู้เบื้องต้นเกี่ยวกับอินเทอร์เน็ต
รายงาน1111
รายงาน1111
อาชญากรรม เบส
อาชญากรรม เบส
อาชญากรรมคอมพิวเตอร์11
อาชญากรรมคอมพิวเตอร์11
Ch8
Ch8
เรื่อง อาชญากรรมทางคอมพิวเตอร์
เรื่อง อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมคอมพิวเตอร์
อาชญากรรมคอมพิวเตอร์
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
อาชญากรรมคอมพิวเตอร์และกฎหมายที่เกี่ยวข้อง
รายงานอาชญากรรมคอมพิวเตอร์
รายงานอาชญากรรมคอมพิวเตอร์
Similar to บทที่+1 3..
โครงงานคอม 5
โครงงานคอม 5
wipawanmmiiww
Addiction I T
Addiction I T
Isara Chiawiriyabunya
Software 7
Software 7
paween
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
MMp'New Aukkaradet
้html
้html
Jerawat Jktea
Unit1new
Unit1new
Phannee Yenbamroong
Unit1new (1)
Unit1new (1)
เสาวนีย์ คูณทา
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
Peem Jirayut
5 8-120816125651-phpapp02
5 8-120816125651-phpapp02
Sky Aloha'
5 8-120816125651-phpapp02
5 8-120816125651-phpapp02
Sky Aloha'
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่ิอง ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่ิอง ระบบปฏิบัติการ
jamiezaa123
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
jamiezaa123
โครงงานคอมพิวเตอร์ เรื่อง ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เรื่อง ระบบปฏิบัติการ
jamiezaa123
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
Npatsa Pany
บทที่ 7
บทที่ 7
noonnn
689 2
689 2
kaewyoutube
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
Ariya Soparux
Network01 12
Network01 12
paween
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
Orapan Chamnan
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
Orapan Chamnan
Similar to บทที่+1 3..
(20)
โครงงานคอม 5
โครงงานคอม 5
Addiction I T
Addiction I T
Software 7
Software 7
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
Group1 กระบวนการเทคโนโลยีสารสนเทศ2007
้html
้html
Unit1new
Unit1new
Unit1new (1)
Unit1new (1)
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์
5 8-120816125651-phpapp02
5 8-120816125651-phpapp02
5 8-120816125651-phpapp02
5 8-120816125651-phpapp02
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่ิอง ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่ิอง ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ เรื่อง ระบบปฏิบัติการ .
โครงงานคอมพิวเตอร์ เรื่อง ระบบปฏิบัติการ
โครงงานคอมพิวเตอร์ เรื่อง ระบบปฏิบัติการ
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
บทที่ 7
บทที่ 7
689 2
689 2
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
Network01 12
Network01 12
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
องค์ประกอบของระบบสารสนเทศ
บทที่+1 3..
1.
บทที่1
บทนํา 1.1 ความเปนมา ปจจุบันเทคโนโลยีดานระบบคอมพิวเตอรและเครือขายและอินเตอรเน็ต มีความล้ําหนาไป เปนอยางมาก ทั้งนี้เพื่อตอบสนองความตองการของหนวยงานองคกรตางๆ จึงมีการนําเทคโนโลยีเขา มาใชในชีวิตประจําวันอยางแพรหลาย เพราะมีความสอดคลองกันกับผูคนในปจจุบันหรือที่เรียกวา ยุคไซเบอรโดยการประยุกตนําคอมพิวเตอรมามีสวนในการประกอบธุรกิจทั้งในหลายดาน ทั้งในระบบ เศรษฐกิจ การศึกษาและใชเพื่อความบันเทิงเชนการติดตอสื่อสาร Instant Messenger เชน MSN, E- Mail, Video Conference System และ Social Network ซึ่งในการนั้นจําเปนตองมีการเชื่อมตอ กับระบบเครือขายอินเตอรเน็ตโดยทั้งสิ้น และเห็นไดวาในโลกแหงยุคโลกาภิวัฒนนี้เทคโนโลยีมีความ จําเปนอยางยิ่งการติดตอสื่อสารระหวางกัน ไมวาจะอยูแหงไหน ที่ใด สามารถแลกเปลียนความคิด ่ รวมทั้ง คนควาในเรื่องที่สนใจได เมื่อความล้ําสมัยมีประโยชนมากมาย จึงมีขอเสียในดานของ เทคโนโลยีคอมพิวเตอรและเครือขายอินเตอรเน็ต นําไปสูการใชงานอยางผิดประเภทผิดรูปแบบและ สรางความเดือดรอนใหแกผูอนโดยไมคํานึงถึง ผูใดเปนสําคัญโดยเขามากอกวนระบบเครือขายของ ื่ องคกร หรือแมกระทั่งอาจจะเปนทั้งบุคลากรภายในขององคกร ที่ใชงานโดยรูเทาไมถึงการณ และ กอใหเกิดความเสี่ยงที่จะเปดชองโหวใหผูประสงครายเขามาโจมตี และที่แยไปกวานั้นยังกลายเปน ชองทางในการกอกวนระบบจาก Virus หรือ Trojan ซึ่งจะกอใหเกิดผลเสีย และกระทบไปยังระบบ เครือขายภายในองคกรและเครือขายใหญในระบบไดแตระบบที่สรางขึ้นดวยระบบอินเตอรเน็ตนั้น สามารถตรวจสอบ ไอพีและหมายเลขเฉพาะที่ใชอางถึงอุปกรณที่ตอกับเครือขายได และการเขา เว็บไซตที่มีความเสี่ยงตอการทําใหเครือขาย มีสภาวะเสี่ยงซึ่งทําใหมีความเสถียรลดนอยลง จึงเปน ที่มาของโปรแกรมดักจับและตรวจสอบขอมูลแพ็คเกจ (Development of Program Packet Sniffer with Python) เพื่อปองกันระบบความเสียหายของเครื่องคอมพิวเตอรและเครือขายภายใน องคกร รวมไปถึงสามารถนําขอมูลจากการตรวจจับการกอกวนระบบเครือขายขององคกรนั้นๆ มา เปนหลักฐาน เพื่อดําเนินคดีตามกฎหมายกับบุคคลไมประสงคดีกับองคกร ตามที่พระราชบัญญัติวา ดวยการกระทําความผิดเกี่ยวกับคอมพิวเตอร พ.ศ. 2550 มีผลบังคับใชตงแตวันที่ 22 สิงหาคม 2550 ั้ ที่วาดวยมีผูกระทําดวยประการใด ๆ ใหระบบ คอมพิวเตอรไมสามารถทํางานตามคําสั่งหรือทําให การทํางานผิดพลาด หรือใชวิธีการใด ๆ เขาลวงรูขอมูล แกไข หรือทําลายขอมูลของบุคคลอื่นใน ระบบคอมพิวเตอรโดยมิชอบถือเปนความผิด
2.
2 1.2 วัตถุประสงค
1.2.1เพื่อศึกษาและพัฒนาการปรับแตงคาของการตรวจจับไดงาย และเอื้อประโยชนใน การศึกษาพัฒนาตอ 1.2.2 เพือใหมีการนํา ไลบราลี libpcap มาเขียนใชงานกับ โปรแกรม Python อยาง ่ แพรหลาย 1.3 ประโยชนที่คาดวาจะไดรับ 1.3.1 เปนประโยชนตอบุคคลทั่วไปที่ตองการนําโปรแกรมไปใชเพื่อตรวจสอบความ ปลอดภัยของคอมพิวเตอรหรือระบบเครือขายคอมพิวเตอรใหมีความนาเชื่อถือ มีความถูกตอง และ ความพรอมใชงาน 1.3.2ไลบราลี libpcap ที่เขียนดวยภาษา Python มีการเก็บ Logging สามารถนําไปใช อางอิงกับพระราชบัญญัติวาดวยการกระทําผิดทางคอมพิวเตอร ป 2550 หากมีผูบุกรุกหรือผูไมหวังดี เขามากระทําการที่ไมประสงคดีตอระบบเครือขาย 1.3.3การตรวจจับแพ็คเกจดวย libpcap สามารถนําไปใชอางอิง พระราชบัญญัติวาดวยการ กระทําความผิดทางคอมพิวเตอร ป 2550 เพราะมีการจับแค Header, Content ของขอมูล 1.4 ขอบเขตของโครงงาน 1.4.1 ผูใชสามารถแยกประเภทการตรวจจับแพ็คเกจได 1.4.2 สรางสวนเชื่อมตอประสานกับผูใชในรูปแบบกราฟก (GUI) เพื่อความสะดวกในการใช งานโปรแกรม Libpcap ดวย Python 1.4.3จัดทํารายงานเบื้องตนจากขอมูลของการตรวจจับเพื่อสามารถใชอางอิงได 1.4.4 1.5 ผลที่คาดวาจะไดรับ 1.5.1 การพัฒนาเพิ่มสวนตอประสานกับผูใชในรูปแบบกราฟก Graphic User Interface (GUI)ของ libpcap ดวย python ใหใชงานไดงายขึ้นและมีระเบียบในการตรวจสอบการทํางานไดดี ขึ้น 1.5.2 เกิดความปลอดภัยกับระบบคอมพิวเตอรและระบบเครือขายมากขึ้น สามารถปองกัน และลดปญหาการถูกผูไมหวังดีละเมิดสิทธิสวนบุคคล และสรางความเสียหายตอระบบเครือขายหรือ องคกร
3.
3 1.6 ระยะเวลาดําเนินงาน
ตารางที่ 1.1 ขั้นตอนการดําเนินงาน ระยะเวลาดําเนนงาน ิ สัปดาห / สัปดาห 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1.ศึกษาเทคโนโลยีและ ระบบตางๆที่เกี่ยวของ และจําเปน 2.กําหนดขอบเขตของ โครงงาน 3.ออกแบบโครงสราง ของโครงงาน 4.ออกแบบหนาตาของ โปรแกรม 5.ทดลองการเขียน โปรแกรม 6.ปรับปรุงขอผิดพลาด ตางๆใหมีความถูกตอง เหมาะสม 7.สรุปและจัดทําเอกสาร ประกอบการทําโครงงาน
4.
4
บทที่ 2 หลักการและทฤษฎีที่เกี่ยวของ 2.1 กลไกการทํางานของการดักจับขอมูล การดักจับขอมูลเปนรูปแบบของการตรวจสอบขอมูลบนเครือขายซึ่งมีความหมายทั้งดีและไม ดี หากนําไปใชอยางถูกตองจะเปนการดูแลขอมูลในเครือขายไดอยางมีประสิทธิภาพ หากนําไปใช อยางไมถูกตองจะเปนการโจรกรรมขอมูลทีมีความสําคัญตาง ๆ หรือใชในการสํารวจเปาหมายเพื่อ ่ ดําเนินการขโมยขอมูลตอไป Sniffer เปนโปรแกรมประยุกตหรือฮารดแวรที่เฝาดูการติดตอสื่อสารผานภายในเครือขาย โดยสามารถอานขอมูลตาง ๆ ไดตางกับเครื่องมือเฝาดูเน็ตเวิรคทั่วไปที่จะเฝาดูเพียงการติดตอสื่อสาร ที่สงไปมากับเน็ตเวิรคอยางชัดแจงเทานั้น Sniffer จะใชเทคนิค เปลี่ยน network interface ใหอยูใน promiscuous mode ซึ่งจะทําใหมันดักจับการสื่อสารทั้งหมดในเน็ตเวิรคทั้งหมดไมเพียงแตการ สื่อสารที่มีปลายทางที่เครื่องนั้นเทานั้น ในปจจุบันเมื่อมีการพัฒนาอุปกรณเครือขายจาก Hub เปน Switch ทําใหการแพรกระจาย ขอมูลในเครือขายลดลง กลาวคือจากเดิมขอมูลของเครื่องคอมพิวเตอรภายในเครือขายทั้งหมดจะถูก สงมายังเครื่องคอมพิวเตอรของเรา แตดวย network interface(การดแลน) ของเรานั้นทําการกรอง ขอมูลเฉพาะของคอมพิวเตอรเครื่องเราเองเทานั้น ทําให Sniffer ที่ใชโหมด promiscuous mode สามารถรับขอมูลทั้งหมด แตดวยการทํางานของ switch ที่สงขอมูลเฉพาะเครื่องคอมพิวเตอรนั้น ๆ มายังปลายทางทําใหไมสามารถดักจับขอมูลทั้งหมดเหมือนเดิม นอกจากนี้ยังรวมถึงการเขารหัสใน สวนตาง ๆ อาจมีผลใหขอมูลที่ดักจับนั้นไมสามารถอานไดโดยงาย ทั้งนี้หากตองการดักจับขอมูลภายในเครือขายทั้งหมด เราจําเปนตองทําการดักจับขอมูลที่ Gateway ที่เปนจุดการสื่อสารไหลเขาออกเครือขาย ถึงจะสามารถดักจับขอมูลไดทั้งหมด นอกจากนี้ อุปกรณใหม ๆ ไดรองรับเทคนิค Port Mirroring เสียกอน (สําหรับ Cisco เรียกวา SPAN) ใครบางที่ ควรใชโปรแกรมวิเคราะหเครือขายหรือ Sniffer โปรแกรมประเภทนี้เหมาะสําหรับบุคคลตาง ๆ ที่ เกี่ยวของในวงการเครือขายไอทีดังนี้
5.
5
2.1.1 บริหารจัดการระบบ 2.1.2 วิศวกรระบบเครือขาย 2.1.3 วิศวกรผูดูแลระบบรักษาความปลอดภัยเครือขาย 2.1.4 ผูดูแลและปฏิบัติงานในระบบ (System Operator) 2.1.5 โปรแกรมเมอร สวนขอดีของโปรแกรมมีดังนี้ 2.1.6 Sniffer สามารถแปลงขอมูลขาวสารในรูปแบบของเลขไบนารีหรือฐาน 16 ไปเปน รูปแบบที่สามารถอานและเขาใจไดโดยงาย 2.1.7 Sniffer จะชวยใหทานสามารถตรวจซอมหาจุดเสียตาง ๆ บนเครือขายไดดี 2.1.8 สามารถตรวจจับผูบุกรุกเขามาในเครือขายไดระดับหนึ่ง 2.1.9 สามารถบันทึก Traffic ของเครือขายไวเพื่อนํามาวิเคราะหตรวจสอบหารองรอยของ ปญหาตาง ๆ 2.1.10 สามารถตรวจสอบสถานการณทํางานของแอพพลิเคชันตาง ๆ บนเครือขาย 2.1.11 สามารถตรวจสอบพบขอผิดพลาดของอุปกรณเครือขาย เชน การด LAN เปนตน 2.1.12 สามารถนํามาใชเพื่อการตรวจสอบประสิทธิภาพการทํางานของเครือขาย เชน เครือขายทํางานชาลง 2.2 ลิปพีแคป(Libpcap) libpcapเปน ไลบราลีสําหรับการดักจับ แพคเก็จ (packet) ที่ไดรับความนิยมอยางสูง ถูก นําไปใชงานอยางแพรหลาย ในปจจุบันมีซอฟทแวรสําเร็จรูปมากมายที่พัฒนาดวย libpcapที่รจักกัน ู ดี ไดแก Ethereal, tcpdump, Snort NMap, Ntopฯลฯ จุดเดนของ libpcapคือ มีรูปแบบ API ที่ ใชงานงาย แตมีประสิทธิภาพสูง สามารถจับแพคเก็จไดลึกถึงระดับ ดาตาลิงคทั้งในโหมดปกติ และ โหมด promiscuous อีกทั้งยังมีความสามารถในการเลือกจับเฉพาะบาง ชนิดของแพคเก็จผูใชที่สนใจ และที่สําคัญ libpcap เปน open-source library ที่สามารถใหนํามาใชงานไดฟรี
6.
6
เปนชุดคําสั่งแบบ Opensource ที่ใหการเชื่อมตอทางเครือขายกับระบบตรวจจับแพคเก็จถูก สรางในป 1994 โดย Mccane, Leres และ Jacobson นักวิจัยที่ Lawrence Berkeley National National Laboratory จาก university of California ที่ Berkeley ซึ่งเปนสวนหนึ่งของงานวิจัย สืบหาและเพิ่มประสิทธิภาพใหแก TCP และ internet gateway Libpcap API ถูกออกแบบมาจากภาษา C และ C++ อยางไรก็ตามยังสามารถนําไปใชกับ ภาษาตางๆไดเชน Perl, PHP, JAVA, C#, Ruby Libpcap ทํางานในระบบปฏิบัติการที่คลาย Unix(Linux, Solaris, HPUX, BSD) ถาทํางานในระบบปฏิบัติการ Windows จะใชชื่อวา Winpcap ปจจุบัน Libpcap ถูกจัดการโดย Tcpdump Group ขอมูลและ Source Code สามารถหาอานไดที่ TCPDUMP/LIBPCAP public repository และ WinPcap - Home สําหรับ windows Wireshark โปรแกรมที่ทํางานโดยใช ไลบราลี พีแคป (librarypcap) เปนโปรแกรมชนิดหนึ่ง ในจําพวก Packet sniffer ประกอบไปดวยสวนของ Packet Capture และ Packet Analyzer และ มีสวนติดตอกับผูใชในรูปแบบกราฟกโดยโปรแกรมสามารถติดตั้งและใชงานไดหลายระบบปฏิบัติการ เชน Linux, window ผูสนใจใชงานสามารถดาวนโหลดมาติดตั้งใชงานไดฟรี เพราะเปน Open Source Software โดยสามารถโหลดไดที่ http://www.wireshark.org ในปจจุบันโปรแกรมประเภทดักจับขอมูลมีหลายประเภท Wireshark เปนโปรแกรมดักจับ ขอมูลที่มการใชงานโปรแกรมใหมีการรองรับการใชงานในลักษณะที่ยากตอการนําไปใชในทางไมดี จึง ี ไดรับความนิยมในการเผยแพรในวงกวางโดยเฉพาะอยางยิ่งในดานการเรียนการสอน 2.2.1 เมนูตาง ๆ ของโปรแกรม Wireshark สําหรับเมนูของ Wiresharkสามารถแบงเปนหมวดตาง ๆ ไดดังนี้ จาก 2 หมวดหลักของเมนู Wireshark สามารถใชงานไดในลักษณะของเมนูบารและเมนู ไอคอน แตละหมวดมีขอมูลเบื้องตนดังตอไปนี้ 2.2.1.1 การปรับแตงการตรวจจับ packet เปดการทํางานโปรแกรม เลือกเมนู Capture
7.
7
รูปที่ 2.1 เริ่มการทํางานโปรแกรม เลือกเมนู Capture ในกรณีเลือก interface จะพบกับหนาจอที่ทําการแสดงผล network interface ที่ถูกติดตั้ง ในเครื่องดังนี้ รูปที่ 2.2 การปรับแตงการตรวจจับแพคเก็จ (packet capture) นอกจากนี้ที่ option คุณยังสามารถเลือกการปรับแตงไดอีกครั้งหนึ่ง รูปที่ 2.3 การปรับแตง Interface ethernetการตรวจจับ packet
8.
8
เราสามารถเลือก รีโมท (remote)ไดก็ตอเมื่อมีการกําหนดการทํางานรองรับเทคนิค Port Mirroring รูปที่ 2.4 การปรับแตงรองรับ Port Mirroring 2.2.1.2 การปรับแตง คาสถิติตาง ๆ ของขอมูลภายหลังการตรวจจับแพคเก็จ เมื่อหยุดการทํางานถึงสามารถเลือกขอมูลจาก list คนหาขอมูลที่ดักจับ รูปที่ 2.5 หนาตาง list คนหาขอมูลแพคเก็จที่ดักจับ
9.
9 เราสามารถนําผลที่ไดมาวิเคราะหดวย Protocol Hierarchy
(ภายใต statistic) รูปที่ 2.6 หนาตางแสดงการวิเคราะห ขอมูลโปรโตคอล นอกจากนี้สามารถสรุปการสือสารกันในเครือขายดวย การติดตอสื่อสาร (Conversations) ่ รูปที่ 2.7 หนาตางแสดงการติดตอสื่อสาร Conversations ในระบบทีตรวจจับ ่
10.
10
สวนติดตอผูใชกับขอมูลแพคเก็จที่ดักจับได รูปที่ 2.8 หนาตางแสดงสวนติดตอผูใช แพคเก็จที่ดักจับ 2.3ไพธอน(Python) Python เปนภาษาโปรแกรมการเขียนแบบเชิงวัตถุ มีจุดประสงคทั่วไปในการเขียนโปรแกรม ทางภาษาทั่วไป ที่ใชสําหรับการพัฒนาซอฟตแวรหลายชนิด วัตถุประสงคในการออกแบบการเขียน ภาษาของ Python เนนใหนกออกแบบพัฒนาโปรแกรม และมีความสามารถในการถอดรหัส ไดรับ ั การพัฒนาครั้งแรก โดย Guido van Rossum มีการเปดตัวครั้งแรกในป ค.ศ.1991 Python ไดรับ แรงบันดาลใจจากการเขียนโปรแกรมภาษาเชน ABC, Haskell, Java, Lisp, icon และ Perl ซึ่ง Python เปนโปรแกรมระดับสูง,มีวัตถุประสงคทั่วไป,มีความหลากหลาย,แปลไวหลายภาษา Python เปนภาษาที่เรียบงายและหนึ่งในคุณสมบัตที่เห็นไดชัดที่สุดก็คือ ไมมีการใชเครื่องหมายอัฒภาคหรือ ิ วงเล็บ แตจะใชการเยื้องแทน ปจจุบัน Python มีสองรุน คือ Python 2.x และ Python3.x. ซึ่ง Python3.x สามารถนํากลับไปใชรวมกันไดกับรุนกอนหนาของ Python ถูกสรางขึ้นเพื่อแกไข ขอบกพรองของการออกแบบบางสวนของภาษา และทําใหภาษาที่ใชชัดเจนมากขึ้น รุนลาสุดของ
11.
11 Python2.x คือ 2.7.1
และ Python3.x คือ 3.1.3 คําแนะนํานี้ถูกเขียนไวใน Python2.x Python ถูก พัฒนา เก็บรักษาโดยอาสาสมัครผูพัฒนากลุมใหญทั่วโลก 2.3.1 ภาษาโปรแกรมมิ่งไพธอน ไพธอน (Pyhton) เปนภาษาโปรแกรมในลักษณะภาษาอินเตอรพรีเตอรโปรแกรมมิ่ง (Interpreted Programming Language) ผูคิดคนคือ Guido van Rossumในป 1990 ซึ่งไพธอน เปนการจัดการชนิดของตัวแปรผันตามขอมูลที่บรรจุอยู (Fully Dynamically Typed) และใชการ จัดการหนวยความจําเปนอัตโนมัติ (Automatic Memory Management) โดยไดเปนการพัฒนา ผสมผสานของภาษาอื่นๆ ไดแก ABC , Modula-3 , Icon , ANSI C , Perl , Lisp , Tclภาษาไพธอน ยังเปนแนวคิดที่ทําใหเกิดภาษาใหมๆ ไดแก Ruby และ Boo เปนตน ไพธอนนั้นพัฒนาเปนโครงการ Open sourceโดยมีการจัดการแบบไมหวังผลกําไรโดย Python Software Foundation และ สามารถหาขอมูลและตัวแปรภาษาไดจากเว็บไซตของไพธอนเองที่ http://www.python.org/ 2.3.2 หลักปรัชญาของภาษาไพธอน ไพธอนเปนภาษาที่สามารถสรางงานไดหลากหลายกระบวนทัศน (Multi-paradigm language)โดยจะมองอะไรที่มากกวาการ Coding เพื่อนํามาใชงานตามรูปแบบเดิมๆ แตจะเปนการ นําเอาหลักการของกระบวนทัศน (Paradigm) แบบ Object oriented programming , Structured programming , Functional programming และ Aspect-oriented programming นําเอามาใชทั้งแบบเดี่ยวๆและนํามาใชรวมกัน ซึ่งไพธอนนั้นเปนภาษาที่มีการตรวจสอบชนิดตัวแปร แบบยืดหยุน(dynamically type-checked) และใช Garbage collection ในการจัดการ หนวยความจํา 2.3.3 Language EvaluationCriteria ดวยความที่ไพธอนนั้นผสมผสานการสรางภาษาที่สวยงาม ทําใหการอานหรือเขาใจโคด (Readability) ตางๆนั้นทําไดงายรวมถึงการเขียนโคด (Writability) ที่กระชับและสั้นในการเขียน รวมถึงมีประสิทธิภาพทําใหมีเสถียรภาพ (Reliability) สูงขึ้นและมีความรวดเร็วในการทํางานอีกดวย และในดานคาใชจาย (Cost)ในการพัฒนาซอฟตแวรจากไพธอนนั้นในประเทศไทยนั้นยังตองใช คาใชจายคอนขางสูงเพื่อใหไดมาซึ่งซอฟตแวรที่ดีเพราะผูเชี่ยวชาญที่เขียนไพธอนไดมีเสถียรภาพนั้น ยังมีนอย ทําใหคาตัวสําหรับผูพัฒนานั้นสูงตามไปดวยถึงแมวาเครื่องมือในการพัฒนานั้นจะฟรีและ เปน Opensourceก็ตามแตคาใชจายในดานบุคลากรนั้นมีมากกวาคาเครื่องมือพัฒนา
12.
12
2.3.4 ขอเดนของภาษาไพธอน 2.3.4.1 งายตอการเรียนรูโดยภาษาไพธอนมีโครงสรางของภาษาไมซับซอนเขาใจ งายซึ่งโครงสรางภาษาไพธอนจะคลายกับภาษาซีมาก เพราะภาษาไพธอนสรางขึ้นมาโดยใชภาษาซีทํา ให ผูที่คุนเคยภาษาซีอยูแลวใชงานภาษาไพธอนไดไมยาก นอกจากนี้โดยตัวภาษาเองมีความยืดหยุน สูงทําใหการจัดการกับงานดานขอความและ Text File ไดเปนอยางดี 2.3.4.2 ไมตองเสียคาใชจายใดๆทั้งสิ้น เพราะตัวแปรภาษาไพธอนอยูภายใตลิขสิทธิ์ Python Software Foundation License (PSFL) ซึ่งเปนของ Python Software Foundation (PSF) ซึ่งมีลักษณะคลายกับลิขสิทธิ์แมแบบอยาง General Public License (GPL) ของ Free Software Foundation (FSF) 2.3.4.3ใชไดหลายแพลตฟอรม ในชวงแรกภาษาไพธอนถูกออกแบบใชงานกับระบบ Unixอยูก็จริงแตในปจจุบันไดมีการพัฒนาตัวแปลภาษาไพธอนใหสามารถใชกับระบบปฏิบัติการอื่นๆ อาทิ เชน Linux Platform , Windows Platform , OS/2 , Amiga , Mac OSX และรวมไปถึง ระบบปฎิบัติการที่ .NET Framework , Java virtual machine ทํางานไดซึ่งใน Nokia Series 60ก็ สามารถทํางานไดเชนกัน 2.3.4.4 ภาษาไพธอนถูกสรางขึ้นโดยไดรวบรวมเอาสวนดีของภาษาตางๆเขามาไว ดวยกันอาทิเชน ภาษา ABC , Modula-3 , Icon , ANSI C , Perl , Lisp , Smalltalk และ Tcl 2.3.4.5 ไพธอนสามารถรวมการพัฒนาของระบบเขากับ COM , .NET และ CORBA- objects 2.3.4.6 สําหรับ Java libraries แลวสามารถใช Jythonเพื่อทําการพัฒนา ซอฟตแวรจากภาษาไพธอนสําหรับ Java Virtual Machine 2.3.4.7 สําหรับ .NET Platform สามารถใช Iron Python ซึ่งเปนการพัฒนาของ Microsoft เพื่อจะทําใหไพธอนสามารถทํางานไดบน .Net Framework ซึ่งใชชื่อวา Python for .NET 2.3.4.8 ไพธอนนั้นสนับสนุน Internet Communications Engine (ICE) และการ รวมกันของเทคโนโลยีอื่นๆอีกมากมายในอนาคต 2.3.4.9 บางครั้งนักพัฒนาอาจจะพบวาไพธอนไมสามารถทํางานบางอยางได แต นักพัฒนาตองการใหมันทํางานไดก็สามารถพัฒนาเพิ่มไดในรูปแบบของ extension modules ซึ่งอยู ในรูปแบบของโคด C หรือ C++ หรือใช SWIG หรือ Boost.Python 2.3.4.10 ภาษาไพธอนเปนสามารถพัฒนาเปนภาษาประเภท Server side Script คือการทํางานของภาษาไพธอนจะทํางานดานฝงเซิรฟเวอรแลวสงผลลัพธกลับมายังไคลเอนตทําใหมี ความปลอดภัยสูงและยังใชภาษาไพธอนนํามาพัฒนาเว็บเซอรวิสไดอีกดวย 2.3.4.11 ใชพฒนาระบบบริหารการสรางเว็บไซตสําเร็จรูปที่เรียกวาContent ั Management- Systems(CMS)ซึ่ง CMS ที่มีชื่อเสียงและทํางานดวยไพธอน คือ Plone
13.
13 2.4 โปรโตคอล (Protocol)
การเชื่อมโยงเครือขายที่มีฮารดแวรตางกันจําเปนตองกําหนดขอตกลงรวมเรียกวาโปรโตคอล (protocol) ซึ่งการกําหนด Protocol มีไวเพื่อใหคอมพิวเตอรสื่อสารกันตามขอกําหนด TCP/IP ( ทีซี พี/ไอพี ) จัดเปนโปรโตคอลหนึ่งที่ออกแบบมาเพื่อแกปญหาการเชื่อมโยงดังกลาว โปรโตคอลในความหมายของระบบเครือขายคือขอกําหนดการสื่อสารคอมพิวเตอรหรือ อุปกรณเครือขายจะมีซอฟตแวรที่ปฏิบัติงานตามโปรโตคอลที่กําหนดพรอมทั้งมีกรรมวิธีแกไขปญหาที่ เกิดขึ้นเชน หากขอมูลที่ขนถายมีขอผิดพลาดคอมพิวเตอรจะดําเนินการตามแบบแผนในโปรโตคอล เชนสงขอมูลซ้าใหม ํ ในระบบเครือขายขนาดใหญ อาจมีเสนทางเชื่อมโยงระหวางกันไดเปนจํานวนมาก ขอมูลที่ สงออกไปอาจไมไดใชเสนทางเดียวกันตลอดขอมูลทีสงออกไปกอนอาจไปถึงปลายทางชากวากรณีนี้ ่ เครื่องปลายทางจําเปนตองจัดลําดับขอมูลใหม กรณีที่คอมพิวเตอรตนทางสามารถสงขอมูลไดเร็วเกิน กวาปลายทางจะรับไดทัน โปรโตคอลจะกําหนดกรรมวิธีควบคุมการลําเลียงขอมูลระหวางตนทาง และปลายทางใหสัมพันธกันขอกําหนดตามโปรโตคอล ที่กลาวถึงนี้จะอธิบายโดยละเอียดในแตละ หัวขอตอไป ARP เปนโปรโตคอล สําหรับการจับคู (map) ระหวาง Internet Protocol address (IP address) กับตําแหนงของอุปกรณในระบบเครือขาย และใชคนหา mac address ของหมายเลขไอพี RARP เปนโปรโตคอลใชคนหาหมายเลขไอพี จาก mac address โปรโตคอลระดับลางถัดจาก IP ไดแก โปรโตคอลระดับเดทาลิงคซึ่งกําหนดการทํางานตาม เทคโนโลยีเครือขายที่ใชงานเชนโปรโตคอล CSMA/CD ตามมาตรฐาน Ethernet ใสระดับชั้นนี้มี โปรโตคอลในชุดของ TCP/IP ทําหนาที่สนับสนุนการทํางานอยูสองโปรโตคอลคือ ARP และ RARP ทั้งสองโปรโตคอลทําหนาที่แปลงคาระหวาง IP Address กับ Hardware Address Protocol ในโลกนี้มีมาก 500 Protocol และมีการพัฒนาอยางตอเนื่อง Protocol แตละ ชนิดก็มีคุณสมบัติเดน แตกตางกันไปควรที่จะเลือกใชใหเหมาะสม Protocol ที่นิยมใชในระบบ Network มีดังนี้ โปรแกรมประยุกตสวนใหญจะใชโปรโตคอล UDP หรือ TCP เพื่อควบคุม IP โปรโตคอล ซึ่ง โปรโตคอล UDP ยอมาจาก Unix Datagram Protocol และ โปรโตคอล TCP ยอมาจาก Transmission Control Protocol.
14.
14
2.4.1 โปรโตคอลยูดีพี (UDP Protocol) UDP ยอมาจาก (UDP : Unix Datagram Protocol) เปนโปรโตคอลหลักในชุดโปรโตคอล อินเทอรเน็ต การสงขอมูลผาน UDP นั้น คอมพิวเตอรจะสงขอมูลขนาดเล็กที่เรียกวา เดตาแกรม (datagram) ผานเครือขายไปยังเครื่องปลายทาง โดย UDP จะไมรับประกันความนาเชื่อถือและลําดับ ของเดตาแกรม ซึ่งสวนใหญจะถูกใชสําหรับเปน DNS, streaming content เปนตน User Datagram Protocol (UDP) เปนวิธีการสื่อสารหรือโปรโตคอลที่จํากัดจํานวนการ บริการ เมื่อขาวสารมีการแลกเปลี่ยน ระหวางคอมพิวเตอรในเครือขายที่ใช Internet Protocol (IP) โดย UDP เปนตัวเลือกหนึ่งของ TransmissionControl Protocol (TCP) และใชรวมกับ IP บางครั้ง เรียกวา UDP/IP ซึ่ง UDP เหมือนกับ TCP ในการใช IP ในการดึงหนวยขอมูล (เรียกวา datagram) จากคอมพิวเตอรหนึ่งไปยังอีกเครื่องหนึ่ง แตตางจาก TCP โดย UDP ไมใหการบริการสําหรับการแบงขาวสารเปนแพ็คเกต (datagram) และประกอบขึ้นใหมเมื่อถึงปลายหนึ่ง UDP ไมใหชุดของแพ็คเกตที่ขอมูลมาถึง หมายความวา โปรแกรมประยุกตที่ใช UDP ตองมีความสามารถในการสรางมั่นใจวาขาวสารที่มาถึง อยูในลําดับที่ถกตอง การประยุกตเครือขายที่ตองการประหยัดเวลาในการประมวลผล เพราะมีหนวย ู ขอมูลในการแลกเปลี่ยน (ดังนั้น จึงมีขาวสารนอยมากในการประกอบขึ้นใหม) จะชอบ UDP มากกวา TCP ซึ่ง Trivial File Transfer Protocol (TFTP) ใช UDP แทนที่ TCP UDP ให 2 บริการที่ไมมีใน TCP โดยเลเยอรของ IP คือ Port number เพื่อชวยแยกแยะ การขอของผูใช และความสามารถ checksum เพื่อตรวจสอบการมาถึงขอมูล ในแบบจําลองการ สื่อสาร Open System Interconnection (OSI) UDP เหมือนกับ TCP คือ อยูที่เลเยอร 4 Transport Layer 2.4.2 โปรโตคอลทีซีพ/ไอพี (TCP/IP Protocol) ี TCP/IP มีที่มาจากโปรโตคอลคือทีซีพี (TCP : Transmission Control Protocol) และไอพี (IP : Internet Protocol) IP ทําหนาที่กําหนดแอดเดรสจัดแบงขนาดขอมูลใหพอเหมาะและเลือก เสนทางสงขอมูลสวน TCP มีหนาที่รับประกันความถูกตองในการลําเลียงขอมูล TCP และ IP ไมได เปนเพียงสองโปรโตคอลที่มีอยูเทานั้น หากแตยังมีโปรโตคอลสนับสนุนอีกเปนจํานวนมากจัดรวมกัน เปนชุดโปรโตคอล ทีซีพี/ไอพี (TCP/IP protocol suite) TCP เปนหนึ่งในโปรโตคอลหลักในเครือขายอินเทอรเน็ต หนาที่หลักของทีซีพี คือ ควบคุม การรับสงขอมูลระหวางโฮส ถึง โฮส ในเครือขาย เพื่อใชแลกเปลี่ยนขอมูลระหวางกัน โดยตัว โปรโตคอลจะรับประกันความถูกตอง และลําดับของขอมูลที่สงผานระบบเครือขาย นอกจากนั้นทีซีพี ยังชวยจําแนกขอมูลใหสงผานไปยังแอปพลิเคชัน ที่ทํางานอยูบนโฮสเดียวกันใหถูกตองดวย ซึ่งสวน ใหญจะถูกใชสาหรับเปน http, https, and ssh. เพราะวาระบบปฏิบัตการทํางานดวยโปรโตคอลนี้ ํ ิ ไดดีกวา มีความนาเชื่อถือ แตความเร็วจะชากวา UDP
15.
15
TCP เปนการนําเอา UDP มาประยุกตเขาดวยกัน แตเพิ่ม layer ของการ สงและรับ packet เชน การดาวนโหลดจากอินเทอรเน็ต โปรแกรมเว็บบราวเซอรจะเปด socket หรือสรางการเชื่อมตอ ดวย TCP เพื่อไปยังเครื่องปลายทาง TCP/IP เปนโปรโตคอลที่ใชงานอยางแพรหลายในแทบทุกเครือขายไมวาจะเปนเครือขาย เฉพาะที่ (LAN) หรือเครือขายในบริเวณกวาง (WAN) TCP/IP ( ทีซีพ/ไอพี ) เชื่อมกลุมเครือขายยอย ี เขาดวยกันเปนเครือขายขนาดใหญหรืออินเตอรเน็ต (Internet)ผานการออกแบบใหเปนอิสระจาก ชนิดคอมพิวเตอรฮารดแวรและระบบปฏิบัติการกลไกของโปรโตคอลมีความเชื่อถือไดสูงและทํางานได แมในบางภาวะที่การสื่อสารมีความผิดปกติรวมทั้งสามารถเลือกเสนทางสงขอมูลตามสภาพเครือขาย ไดในกรณีที่บางเสนทางชํารุด อินเทอรเน็ตมีพัฒนาการมาจากอารพาเน็ต (ARP Anet) ซึงเปนเครือขายคอมพิวเตอรภายใต ่ ความรับผิดชอบของอารพา (Advanced Research Projects Agency) ในสังกัดกระทรวงกลาโหม ของสหรัฐอเมริกาอารพาเน็ตในขั้นตนเปนเครือขายทดลองที่ตั้งขึ้นเพื่อสนับสนุนงานวิจัยดาน การทหารอารพาซึ่งตอมาไดเปลี่ยนชื่อเปนดารพา (Defense Advanced Research Projects Agency) ตองการพัฒนาเครือขายที่สามารถสื่อสารกันได แมวาอุปกรณเครือขายบางจุดจะหยุด ทํางานหรือเสนทางสื่อสารบางเสนทางถูกตัดขาดดารพาวางแผนการขยายเครือขายและเปดการ เชื่อมตอเขากับเครือขายกับเครือขายตองการโปรโตคอลที่ทํางานไดกับสายสื่อสารและฮารดแวรหลาย รูปแบบ และสามารถรองรับ Host จํานวนมากได TCP/IP เปนโปรโตคอลที่มีคุณสมบัติดังกลาว ครบถวน TCP/IP ยังไมไดเปนชื่อที่ใชอยางเปนทางการในชวงเวลานั้นหากแตเรียกวาคาหน – เซอรฟ โปรโตคอลตามชื่อผูพัฒนาคือโรเบิรตคาหน (Robert Kahn) ซึ่งทํางานอยูที่บริษัทบีบีเอ็น (BBN :NoltBeranek and Newmann) และวินตันเซอรฟ (Vintom Cerf) แหงสถาบันวิจัยสแตนฟอรดดาร พาวาจางบีบีเอ็นพัฒนา TCP/IP ภายใตยูนิกซของมหาวิทยาลัยแคลิฟอรเนียแหงเบิรคลียและใหทุน เผยแพรระบบปฏิบัติการออกไปโดยไมคิดมูลคา ยูนิกซที่ผนวก TCP/IP และเผยแพรออกไปเมื่อพ.ศ. 2526 ใชชื่อวา 4.2BSD (4.2 Berkeley System Distribution) จากจุดนั้นเปนตนมาทีซีพ/ไอพีก็ไดแพรหลายไปในมหาวิทยาลัยและ ี หนวยงานอื่นๆและเปนโปรโตคอลมาตรฐานซึ่งใชเชื่อมโยงคอมพิวเตอรที่ทํางานภายใตยูนิกซใน ปจจุบันจะพบวาระบบปฏิบัติการสวนใหญทั้งคอมพิวเตอรระดับใหญและไมโครคอมพิวเตอร จะ สนับสนุนการทํางานตามขอกําหนดของ ที TCP/IP เพื่อเชื่อมเขาสูอินเทอรเน็ตไดโดยงาย TCP/IP เปนโปรโตคอลที่ไดรับความนิยมอยางแพรหลายเนื่องมาจากความสามารถในการ เชื่อมเครือขายที่ใชฮารดแวรตางชนิดกันไดอยางกลมกลืนเนื้อหาในบทนี้จะกลาวถึงแบบอางอิง โปรโตคอลและบริการของโปรโตคอลยอยโดยสังเขปเพื่อใหผูอานมองเห็นภาพโดยรวมตามหัวขอ ตอไปนี้
16.
16
2.4.2.1แบบอางอิง TCP/IP ระบบการสื่อสารขอมูลในเครือขายคอมพิวเตอรประกอบดวยทั้งฮารดแวรและ ซอฟตแวร ทีซบซอนการมองภาพของระบบโดยรวมทั้งหมดเปนหนวยใหญยอมยากตอการทําความ ่ั เขาใจการใชแบบอางอิงที่แบงระบบออกเปนสวนยอยจะชวยลดความซับซอนและสรางความเขาใจได งายกวา เครือขายคอมพิวเตอรมีแบบอางอิงที่ใชเปนมาตรฐานคือแบบอางอิงโอเอสไอ (OSI : Open Systems Interconnection Reference Model) ในขณะที่ที TCP/IP เปนโปรโตคอลที่กําเนิดกอน OSI และมีแบบอางอิงเฉพาะตามรูป 2.9TCP/IP มีระดับชั้นจากลางขึ้นบนและลักษณะสมบัติประจํา ชั้นตางๆดังตอไปนี้ ฟสคัล ิ ชั้นของการกําหนดคุณสมบัตฮารดแวรเชนคุณสมบัติทางกล (หัวตอและ ิ ชนิดสาย สื่อสาร) และคุณสมบัติทางไฟฟา (ลักษณะสัญญาณและอัตราเร็ว) กลาวโดยรวมแลวระดับชั้นฟสิคัลกําหนดวิธีการถายโอนขอมูลในระดับบิต ตัวอยางของการเชื่อมตอที่ตรงกับระดับชั้นฟสิคับไดแก RS232 และ X.21 เปนตน เดทาลิงค ชั้นของซอฟตแวร (ดีไวซไดรเวอร) และฮารดแวรซึ่งทํางานดานการ เชื่อมโยงเขากับสายสื่อสาร ตัวอยางมาตรฐานในระดับชั้นนี้ไดแก อินเทอรเน็ตและโทเค็นริงเปนตน เน็ตเวอรค ชั้นที่ทําหนาที่เลือกเสนทางเพื่อสงขอมูลระหวางสถานีตนทางและสถานี ปลายทางตัวอยางโปรโตคอลในระดับชั้นนี้ไดแก IP ทรานสปอรต ชั้นที่หนาที่จัดเตรีมการสงขอมูลระหวางสถานีตนทางและปลายทางโดย สถาปนาการเชื่อมตอและรักษาสภาพการเชื่อมตอ ตลอดจนยกเลิกการเชื่อมตอเมื่อสิ้นสุด กระบวนการ และอาจมีหนาที่เพิ่มเติมในการับประกันความถูกตองของขอมูลที่จัดสง TCP/IP มี โปรโตคอลประจําชั้นนี้จํานวนสองโปรโตคอลคือ TCP และ UDP แอพลิเคชัน ้ ระดับชั้นนี้กําหนดการทํางานของโปรโตคอลประยุกตโปรโตคอลใน ระดับชั้นนี้ไดแก เอฟอีพี (FTP) เอสเอ็มทีพี (SMTP) หรือเทลเน็ต (TELNET) เปนตน
17.
17
: รูปที่ 2.9 แบบอางอิงทีซีพี/ไอพี IP ซึ่งอยูในระดับชั้นเน็ตเวอรตามรูปที่ 2.10 เปนแกนสําคัญของโปรโตคอลแสตดเนื่องจากทั้ง TCP และ UDP ตองใช IP เพื่อเลือกเสนทางสง Packet ในระดับชั้นเน็ตเวอรคยังมี ICMP สนับสนุน การทํางานของ IP เพื่อรายงานขอผิดปกติที่เกิดขึ้นจากการสงแพ็กเก็ตและมี IGMP ดูแลการจัดกลุม Host ในเครือขายมัลติคาสต 2.4.2.2 โปรโตคอลแสตค รูปที่ 2.10โปรโตคอลแสตคของ TCP/IP
18.
18
ระดับชั้นทรานสปอรต มีสองโปรโตคอลสําคัญ TCP และ UDP แอพลิเคชั้นจะเลือกใช TCP หรือ UDP ตามลักษณะงาน เมื่อขอมูลผานแตละระดับชั้นโปรโตคอลในชั้นนั้นจะผนวกขาวสารกํากับการทํางานประจํา โปรโตคอลซึ่งเรียกวาโปรโตคอลเฮดเดอร (protocol header) เขากับขอมูลเฮดเดอรและตัวขอมูล จากระดับบนจะถูกสงผานไปยังระดับลางโปรโตคอลระดับลางจะมองเฮดเดอรหุมเปนชั้นๆ กระบวนการนี้เรียกวาการเอ็นแคปซูเลตตัวอยางในรูปที่2.11แสดงการเอ็นแคปซูเลตแพ็กเก็ต TCP/IP ในอีเทอรเน็ต เมื่อสถานีปลายทางไดรับแพ็กเก็ตก็จะดําเนินการสงไปตามลําดับชั้นโปรโตคอลประจําชั้นจะ ถอดเฮดเดอรออกและสงสวนที่เหลือไปยังชั้นถัดไปเฮดเดอรจะถูกถอดออกเหลือเฉพาะขอมูลเมื่อถึง ชั้นบนสุดกระบวนการนี้เรียกวาการดีแคบซูเลต (decapsulation) รูปที่2.11การหอหุมขอมูลตามลําดับโปรโตคอลแสตด 2.4.3 ไอพีแอดเดรส( IP Address ) อินเทอรเน็ตแยกแยะเครื่องโดยใช IP Address ประจําฮารดแวรอินเทอรเฟสที่เชื่อมเขา เครือขายตัวอยางของฮารดแวรอินเทอรเฟสไดแกการดเครือขายคอมพิวเตอรที่มีมากกวาหนึ่ง อินเทอรเฟสสามารถมี IP Address ไดตามจํานวนอินเทอรเฟสแตคอมพิวเตอรโดยทั่วไปมักมีเพียง อินเทอรเฟสเดียว จึงมักเรียกวาไอพีแอดเดรสเปนแอดเดรสประจําเครื่อง สวนอุปกรณฮารดแวร เชน เรามักมีอินเทอรเฟสจํานวนมากเพื่อใชโยงเครือขายเราเตอร(Router) จึงมี IP Address หลายคาตาม จํานวนอินเทอรเฟส
19.
19
2.4.3.1 การจัดการคลาสเครือขาย (Class) ไอพีแอดเดรสมีการจัดแบงออกเปนกลุมหรือคลาส(class)เครือขายที่ใชงานใน ปจจุบันมักสังกัดอยูใน class ใด class หนึ่งคือคลาส A, B หรือ C การแบง class อาศัยจํานวนพรี ฟกซเครือขายที่แตกตางกันตามรูป 2.12 แตละ class จึงมีจํานวนเครือขายในสังกัดและจํานวนโฮสต ตอเครือขายไมเทากัน Class Range A 0.0.0.0 - 127.255.255.255 B 128.0.0.0 - 191.255.255.255 C 192.0.0.0 - 223.255.255.255 D 244.0.0.0 - 239.255.255.255 E 240.0.0.0 - 255.255.255.255 รูปที่ 2.12แสดงชวงของ IP Address แตละคลาส 2.5 ไพจีทีเค (Pygtk) PyGTKเปนชุดของโมดูล Python ที่พัฒนาเพื่อใชทํางานรวมกับเครื่องมือ GTK+ และ GUI โดยมีชุดครอบคลุมองคประกอบกราฟกและสิ่งอํานวยความสะดวกในการเขียนโปรแกรมที่มี ประโยชนสําหรับการสรางโปรแกรมเดสกทอปอื่น ๆ เปนสวนหนึ่งของโครงการ GNOME PyGTKเปน ซอฟตแวรฟรีและไดรับใบอนุญาตภายใตLGPLผูเขียนตนฉบับPyGTKคือ James Henstridge.PyGTK ถูกออกแบบใหงายตอการใช เหมาะสําหรับสรางตนแบบอยางรวดเร็ว ปจจุบันPyGTKเปนหนึ่งใน โปรแกรมที่นิยมใชกันมากที่สดในการใช GTK + ุ GObject เปนคุณสมบัติพื้นฐานของฟงกชั่นสําหรับ PyGTK และ ATK (Accessibility Toolkit) เปนเครื่องมือที่ทําใหเขาถึงโปรแกรมไดงายขึ้น เครื่องมือนี้จะชวยใหคนพิการทางรางกาย ทํางานกับคอมพิวเตอรไดดีซึ่งเครื่องมือ GTK มีการใช Pango เปนชุดเครื่องมือที่จะใชในการทํางาน เกี่ยวกับระบบวาดขอความทํางานรวมกับ Cairo ชุดเครื่องมือสําหรับการสรางกราฟกแบบเวกเตอร 2D สวน Glade จะใชในการสราง GUI ที่มการเชื่อมตอกับ XML ี
20.
20
GTK + เปนชุดเครื่องมือสําหรับการสรางสวนเชื่อมตอประสานกราฟกกับผูใช กลองเครื่องมือ นี้ถูกพัฒนาจากโปรแกรมภาษา C ชุดเครื่องมือ GTK + มาจาก GIMPToolkit เดิมทีถูกสรางขึ้นเพื่อ พัฒนาแกไขโปรแกรมการจัดการภาพ GIMP ตั้งแตนั้นมา กลายเปนหนึ่งในชุดเครื่องมือที่นิยมมาก ที่สุดภายใตโปรแกรม Linux และ BSD Unix ปจจุบัน ซอฟตแวรสวนใหญแบบ GUI จะถูกสรางขึ้นใน รูป Qtหรือ GTK + GTK +เปนโปรแกรมเชื่อมตอประยุกตจากการเขียนโปรแกรมเชิงวัตถุ ซึ่งถูกสรางขึ้นดวย ฟงชั่นที่เปนมาตรฐาน สําหรับชุดเครื่องมือ GTK +ในขณะที่ GObject ก็สามารพัฒนาเพื่อรองรับการ เชื่อมตอกับโปรแกรมภาษาอื่น ๆ ทีมีอยูสําหรับ C+, Python, Perl, Java, C# และโปรแกรมภาษา ่ อื่น ๆ Gnome และXFceเปนหนากากที่ ไดรับการสรางขึ้นโดยใชชุดเครื่องมือ GTK +SWT และ wxWidgets ทีรูจักกันดีในการเขียนโปรแกรม ซอฟตแวรทประยุกตใชไดโดดเดนดวยชุดเครื่องมือ ่ ี่ GTK + คือ Firefox และ Inkscape 2.5.1 gtk.Button - เครื่องมือปุมกดเพื่อสงสัญญาณเมื่อมีการคลิก เครื่องมือปุมกด gtk.Buttonจะแสดงเมื่อมีการกดปุมที่ปายขอความ (gtk.Label) แมวาจะมี ความสามารถหลายอยางก็ตาม แตโดยทั่วไป gtk.Buttonจะใชในการเรียกฟงกชันกลับหรือถูกเรียก เมื่อมีการคลิกปุม ปุมสรางสัญญาณทั่วไปที่บงบอกถึง : "Clicked" - ผูใชทําการกดและปลอยปุมเมาสเหนือปุม"คลิก" "Pressed" - ผูใชกดปุมเมาสเหนือปุม "Released" - ผูใชที่ถูกปลอยออกปุมเมาสเหนือปุม"ปลอย" "Enter" - ชี้ที่ปอนปุม "Leave" - ชี้ซายที่ปุม สัญญาณ "คลิก" โดยปกติจะเปนสัญญาณเฉพาะที่โปรแกรมตองทําการตั่งคาหรือกําหนดไวใน การใชงาน 2.5.2 gtk.VBox - กรอบแนวตั้ง gtk.VBoxเปนกรอบยอย จาก gtk.Boxที่จัดระเบียบเครื่องมือลูกในคอลัมนเดียว gtk.Boxใช ในการจัดการระยะหางความสูงและการจัดตําแหนงของเครื่องมือขนาดเล็กของ gtk.VBoxแตทั้งหมด มีการจัดสรรความกวางเทากัน 2.5.3 gtk.ListStore - รูปแบบฟงกชันที่ใชรวมกับ gtk.TreeView gtk.ListStoreเปนรูปแบบรายการสําหรับใชกับเครื่องมือ gtk.TreeViewจะทําการการ เชื่อมตอ gtk.TreeModelgtk.TreeSortableโดยการลากเมาสมาวางและ หยุดการเชื่อมตอ จุดมุงหมายเพื่อสนับสนุนการทําแผนผัง Python และทบทวนขอกําหนดในการเชื่อมตอสงผานขอมูล เพื่อแสดงผล
21.
21
2.5.4 gtk.ScrolledWindow - เพิ่มแถบเลื่อนไปที่เครื่องมือลูก gtk.ScrolledWindowเปน classลูก ของ gtk.Binที่เพิ่มแถบเลื่อนไปที่เครื่องมือลูก และ เลือกที่จะวาดกรอบรอบ ๆ เครื่องมือลูก หนาตางนี้จะสามารถทํางานในสองวิธี • เครื่องมือบางตัวจะมีการใชตัวเลื่อนภาพมาตรฐาน "slot" สําหรับสงขอมูลไปยัง gtk.Adjustmentเครื่องมือสําหรับเลื่อนภาพมาตรฐานเหลานี้ยังใชไดกับgtk.TreeView, gtk.TextViewและ gtk.Layout • เครื่องมือที่ไมมีตัวเลื่อนภาพมาตรฐาน gtk.Viewportจะทําหนาที่เปนตัวแปลง ดําเนินการ เลื่อนภาพสําหรับเครื่องมือลูกที่ไมสามารถเลื่อนภาพของตัวเอง จึงมีการใช gtk.Viewportเพื่อเลื่อน เครื่องมือลูก เชน gtk.Table, gtk.Boxและอื่น ๆ ถาเครื่องมือมีคุณสมบัติในการเลื่อนภาพมาตรฐาน ก็จะถูกเพิ่มเขาไปใน gtk.ScrolledWindowกับวิธีการ gtk.Container.addหากเครื่องมือไมมี กอนอื่นคุณตองเพิ่ม เครื่องมือ gtk.Viewportจากนั้นใหเพิ่ม gtk.Viewportไปที่หนาตางเลื่อน วิธีการที่สะดวกสบาย คือให ใช add_with_viewport () ดังนั้นคุณสามารถยกเลิกการใช viewport ไดเลย 2.5.5 gtk.TreeModelSort - ตารางสามเหลี่ยมเปนการเรียงลําดับรุนของ gtk.TreeModel ลูก gtk.TreeModelSortเปนรูปแบบการจัดเรียงลําดับของแบบจําลองลูกgtk.TreeModelSort ใชในการติดตอ gtk.TreeModelและเชื่อมตอกับ gtk.TreeSortableเพื่อจัดการเรียงลําดับขอมูล ฟงกชัน "model" คุณสมบัติ อานเขียน – การสรางแบบจําลองสําหรับ gtk.TreeModelSortในการเรียงลําดับ ขอมูล 2.5.6 gtk.TreeView - เครื่องมือสําหรับการแสดงทั้งผังแบบตารางและแบบรายการ เครื่องมือ gtk.TreeViewจะใชในการแสดงผลของรูปแบบโดยการใช gtk.TreeModelใน การเชื่อมตอ gtk.TreeViewจะมีคอลัมนและเซลล แสดงขอมูลรูปแบบอยู ใน GTK + และ PyGTK 2.5.7 gtk.TreeViewColumn - คอลัมนทมองเห็นไดในเครื่องมือ gtk.TreeView ี่ gtk.TreeViewColumnเปนคอลัมนที่มองเห็นไดในเครื่องมือ gtk.TreeViewgtk.TreeViewColumnจัดแสดงผลของสวนหัวและเซลลที่ใช gtk.CellRenderer 2.5.8 gtk.Label - เครื่องมือที่แสดงจํานวน จํากัด ของขอความที่อานอยางเดียว gtk.Labelเปนเครื่องมือที่แสดงจํานวนจํากัด ของขอความที่อานอยางเดียว ปายชื่อจะถูกใช โดยเครื่องมือตางๆ (เชน gtk.Buttonและ เครื่องมือยอย, gtk.MenuItem, ฯลฯ ) เพื่อ แสดงขอความ ตลอดจนการประยุกตใชแสดงขอความ, ฯลฯ ใหกับผูใช สวนใหญของการทํางานของ gtk.Labelมีการ ปรับเปลี่ยนสไตลและรูปแบบของขอความที่อยูภายในการจัดสรรเครื่องมือโดยตรง gtk.Labelเปน "หนาตาง" ซึ่งหมายความวามันไมสามารถรับเหตุการณโดยตรง ถาจําเปน gtk.EventBoxสามารถ นํามาใชเพื่อ จัดการเหตุการณใหกับเครื่องมือ gtk.Labelได
22.
22
2.5.9 gtk.CellRendererText - เครื่องมือแสดงผลขอความลงในเซลลที่เปน gtk.TreeView gtk.CellRendererTextจะจัดการแสดงผลของขอความที่ลงในเซลล gtk.TreeViewโดยใช ขอมูลตัวอักษรสี และสไตลทกําหนดโดยคุณสมบัติของมัน ขอความจะถูกตัด ถามันยาวเกินไปและ ี่ ตามคุณสมบัตที่ "ellipsize" ยอมใหใช ิ 2.5.10 gtk.Window - หนาตางระดับบนสุดที่เก็บเครื่องมือเล็กกลองหนึ่ง gtk.Windowสรางเครื่องมือที่ผูใชทั่วไปคิดวาเปนหนาตาง นั่นคือพื้นที่ของจอแสดงผลทีถูก ่ จัดการโดยผูจัดการหนาตางและการตกแตงมักจะมีแถบชือเรื่องดังกลาว และรายการทีจะอนุญาตให ่ ่ ผูใชปด ปรับขนาด และยายหนาตางได PyGTKจัดใหหนาตางทั้งสองประเภท
23.
23
บทที่ 3 วิธีการดําเนินงาน 3.1 ขั้นตอนการดําเนินงาน 3.1.1 หาขอมูลและศึกษาการทํางานของ โปรแกรม Python และ ไลบราลี libpcap 3.1.1.1 ศึกษาการทํางานของโปรแกรม Python และ ไลบราลี libpcap 3.1.1.2 ศึกษาโครงสรางของโปรแกรม Python และ ไลบราลี libpcap 3.1.1.3 ศึกษาหลักการโครงสรางของ Python และ ไลบราลี libpcap 3.1.1.4 ทดลองสรางสถานการณใหตรงกับ Python และ libpcap ตรวจสอบผล 3.1.2 หาขอมลและศึกษา ภาษา Python และ libpcap เพื่อใชในการเขียนโปรแกรม ู 3.1.3 ศึกษาการเขียนโปรแกรมและตรวจสอบคาการทํางาน ก) ออกแบบโครงสรางโปรแกรมจากการศึกษา ข) ทําการเขียนโปรแกรมตามโครงสรางที่ไดออกแบบไว ค) ทําการทดสอบโปรแกรมที่เขียนขึ้น ง) ทําการแกไขปญหาที่เกิดขึ้นของโปรแกรม จ) ทําการทดสอบโปรแกรมที่แกไขแลว ฉ) ทําการบันทึกผลการทดลอง ช) ทําการสรปผลการทดลอง ุ
24.
24 3.2 การศึกษาเบื้องตน
3.2.1 โครงสรางการทํางานของโปรแกรม Python และ ไลบราลี libpcap libpcap เปน library สําหรับการดักจับ packet ที่ไดรับความนิยมอยางสูง ถูกนําไป ใชงานอยางแพรหลาย ในปจจุบันมีซอฟทแวรสําเร็จรูปมากมายที่พัฒนาดวย libpcap ที่รู จักกันดี ไดแก Ethereal, tcpdump, Snort, NMap, Ntop ฯลฯ จุดเดนของ libpcap คือ มีรูปแบบ API ที่ใชงานงาย แตมีประสิทธิภาพสูง สามารถจับ packet ไดลึกถึงระดับ datalink ทั้งในโหมดปกติ และโหมด promiscuous อีกทั้งยังมีความสามารถในการเลือกจับ เฉพาะบาง ชนิดของ packet ผใชที่สนใจ และที่สําคัญ libpcap เปน open-source library ู ที่สามารถใหนํามาใชงานไดฟรี ตัวอยางการประยุกตใชงาน libpcap เพื่อใหเห็นภาพการทํางานที่ชัดเจนขึ้น จึงขอยกตัวอยางการเขียนโปรแกรมใช libpcap เพื่อตรวจวัดอัตราการอัพ โหลด/ดาวนโหลดขอมูลแบบงายๆ หลักการพื้นฐานของ โปรแกรมนี้จะใชวิธีการจับทุก packet ทีผานเขามาใน interface และคัดเลือกเอาเฉพาะ ่ IPv4 packet มาตรวจสอบ header หากพบวามี source IP address ตรงกับ IP address ของ interface ก็แปลวา packet นั้นเปนขอมูลอัพโหลดของ interface จึงจะทําการบวก ขนาดของขอมูลชุด นั้นทบเขาไปในขนาดรวมเพื่อรอการคํานวณคาเฉลี่ยของอัตราการอัพ โหลดตอไป ในขณะเดียวกันก็ทําการคํานวณอัตรา การดาวนโหลดในในลักษณะเดียวกัน ดวย ในการตรวจสอบรายละเอียดตางๆของขอมูล จําเปนตองอาศัยการตีความจากขอ มูลดิบของ packet ที่เราดักจับ มาได โดยทั่วไปโครงสรางของ packet ที่รับเขามาจะมี ลักษณะของ header หุมเปนชั้นๆ จากระดับชั้น datalink ไป จนถึงชั้น application ดัง แสดงในภาพ รูปที่ 3.1 โครงสรางแพคเก็จที่ไดจากการ Dumpfile
25.
25
เราสามารถตรวจสอบโปรโตคอลของขอมูลภายใตเฟรมไดจากสวนของ header ของ frame ซึ่งในกรณีของโปรโตคอล Ethernet ที่นิยมใชกันใน Local Area Network นั้น โครงสรางของ frame จะเปนดังนี้ รูปที่ 3.2 แสดงโครงสราง Ethernet Frame Header Header ของ Ethernet frame เริ่มตนดวย Destination address และ Source address ขนาด 6 ไบต บอกใหเรา ทราบวา frame นี้สงออกมาจากที่ใด และจะสงไปยังที่ใด แตสิ่งที่เราสนใจ จริงๆจะเปนสวนที่อยูถัดมา ซึ่งจะบงบอกชนิด โปรโตคอลของ payload ของ frame นั้น ตัวอยางเช นหากคานี้เปน 0x0800 ก็จะหมายถึง IPv4, 0x0806 จะ หมายถึง ARP ฯลฯ ดังนั้นเราจึงสามารถ ตรวจสอบโปรโตคอล layer 3 โดยอานคาจากไบตที่ 12 และ 13 นับจากสวน หัวของ libpcap packet (ซึ่งเริ่มจากไบตที่ 0) ซึ่งหากมีคาเปน 0x08 และ 0x00 ตามลําดับก็หมายความวาขอมูล ภายใต frame นั้นเปน IPv4 datagram สําหรับ Source และ Destination IP address ที่เราตองการนํามาตรวจสอบนั้น ตองดึง ออกมาจาก Header ของ IP ซึ่งจะมีโครงสรางดังนี้ รูปที่ 3.3 แสดงโครงสราง Header IP
26.
26
จากแผนผังจะเห็นวาสวนที่เปน source IP address นั้นมีความยาว 4 ไบต เริ่มตนที่ไบตที่ 12 จนถึงไบตที่ 15 และ สวนที่เปน destination IP address จะเริ่มจากไบตที่ 16 จนถึงไบตที่ 19 ดังนั้นหากนับตั้งแตสวนหัวของ frame ตําแหนงเริ่มตนของ source และ destination IP จะอยูที่ ไบตที่ 26 และ 30 ตามลําดับ รูปที่ 3.4 กลาวโดยสรุปก็คือ ในการตรวจสอบวา pcap_packet ที่จับมาไดนั้นเปนขอมูลที่เปนการ download ของ interface นี้หรือไม ก็เพียงแตตรวจสอบวา 1. pcap_packet[12] == 0x08 และ pcap_packet[13] == 0x00 ใชหรือไม 2. และเลข 32 บิตที่ตําแหนงที่ 30 ของ pcap_packet มีคาเทากับเลข 32 บิตของ IP address ของ interface หรือไม 3.3 การกําหนดความตองการของระบบ ก) สามารถเลือกใช การตรวจจับดวยการ คลิกใชใหเหมาะสมกับการนําไปใช เพื่อเพิ่ม ความยืดหยุนในการใชงานโปรแกรม Python และ ไลบราลี libpcap ข) สรางสวนเชื่อมตอประสานกับผูใชในรูปแบบกราฟก (GUI) เพื่อความสะดวกในการใช งาน โปรแกรม Python และไลบราลี libpcap
27.
27 3.4 ความตองการดานซอฟตแวร
ซอฟตแวร ก) ระบบปฏิบัติการ Ubuntu Desktop รุน Lucid Lyn เวอรชั่น 10.04 ข) โปรแกรม Python เวอรชั่น 2.5.0 หรือสูงกวาไมเกิน 2.7.0 ค) Module libpcap – Python-libpcap ง) Module Function for Python 3.5 การทํางานของโปรแกรม โปรแกรมจะตรวจสอบและแสดงการดักจับขอมูลของเครื่องที่ใชเครือขายที่จําลองขึ้นกับ เครื่องคอมพิวเตอรที่มี โปรแกรม Python และไลบราลี libpcap ติดตั้งไว และเมื่อตรวจสอบ คุณสมบัติการบุกรุกหรือโจมตี วามีพอรท ที่มีความเสียงตอการติดไวรัส ในการเขาเว็บไซต และยังมี การสราง Logging เพื่อแสดงรายละเอียดการเขาใชเพื่อนําไปอางอิงในการตรวจสอบ รูปภาพ แสดงการทํางานตรวจสอบแพ็กเก็จดวยโปรแกรม Python Libpcap
28.
28 3.6 โครงสรางการทํางานของโปรแกรม
รูปที่ 3.1 โฟลวชารตผังการทํางานของโปรแกรม
29.
29 3.6.1 โครงสรางการรับคา อากิวเมนตเพื่อเริ่มตนการดักจับ
รูปที่ 3.2 โฟลวชารตการเริ่มการทํางานดักจับขอมูล
30.
30 3.6.2 การทํางานแปลงแพ็คเก็ต เพื่อตรวจสอบ
Ipv4,6 รูป 3.3 โฟลวชารตเงื่อนไขการแตกขอมูลของแพ็คเกจ
31.
31 3.6.3 การทํางาน เรียกฟงกชันแยก
ชนิด ของ โปรโตคอล รูปที่ 3.4 โฟลวชารตเงื่อนไขการแตกขอมูลของแพ็คเกจ (ตอ)
32.
32 3.6.4 การทํางานเรียกฟงกชัน ถอดรหัสของชนิดแพ็คเกต
รูปที่ 3.5 โฟลวชารตเงื่อนไขการแตกขอมูลของแพ็คเกจ (ตอ)
33.
33 3.6.5 การทํางานเรียกฟงกชัน ถอดรหัสแม็คแอดเดรสทั้งแสดงผลของการดักจับและสราง
Logging รูปที่ 3.6 โฟลวชารตเงื่อนไข การถอดรหัสและแสดงผลการตรวจจับ
34.
34 3.7 หนาตาสวนตอประสานกราฟก