Luận văn Xây dựng ứng dụng bắt gói tin cho việc phân tích thông tin mạng phục vụ quản lý

Luận văn gồm có 3 phần và 7 chương PHẦN 1: TỔNG QUAN Chương 1: Giới thiệu về đề tài PHẦN 2: TÌM HIỂU CÁC VẤN ĐỀ LẬP TRÌNH. Phần này giới thiệu các vấn đề về lập trình cơ bản nhất để xây dựng 1 ứng dụng có khả năng bắt các gói tin và cho phép người dùng có thể điều khiển từ xa qua môi trường mạng. Chương 2: Tìm hiểu thư viện lập trình mạng cấp thấp libcap, đây là "trái tim" của hầu hết các ứng dụng bắt gói tin mã nguồn mở hiện nay. Chương 3: Giới thiệu MySQL, một hệ quản trị cơ sở dữ liệu tầm trung được sử dụng phổ biến nhất hiện nay. Chương 4: Tìm hiểu kỹ thuật lập trình socket để viết các ứng dụng trên môi trường mạng PHẦN 3: XÂY DỰNG ỨNG DỤNG PACKETCAP. Phần này sẽ sử dụng các kiến thức đã tìm hiểu ở chương 2,3,4 để xây dựng một ứng dụng bắt gói tin, lưu các kết quả bắt được vào cơ sở dữ liệu để phân tích các thông tin mạng. Chương 5: Phân tích, thiết kế ứng dụng PacketCap Chương 6: Cài đặt và thử nghiệm PacketCap Chương 7: Tổng kết. Chương này trình bày những kết quả đạt được, những hạn chế và hướng phát triển PacketCap trong tương lai

pdf91 trang | Chia sẻ: diunt88 | Lượt xem: 2295 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng ứng dụng bắt gói tin cho việc phân tích thông tin mạng phục vụ quản lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRѬӠNG ĈҤI HӐC KHOA HӐC TӴ NHIÊN KHOA CÔNG NGHӊ THÔNG TIN %Ӝ MÔN CÔNG NGHӊ PHҪN MӄM GIANG QUӔC MINH – HӖ PHҤM THÁI VINH XÂY DͰNG ͨNG 'ͤNG BɫT GÓI TIN CHO VIʃC PHÂN TÍCH THÔNG TIN 0ɝNG PHͤC 9ͤ QUɟN LÝ KHOÁ LUҰN CӰ NHÂN TIN HӐC TP. HCM, 1ĂM 2005 TRѬӠNG ĈҤI HӐC KHOA HӐC TӴ NHIÊN KHOA CÔNG NGHӊ THÔNG TIN %Ӝ MÔN CÔNG NGHӊ PHҪN MӄM GIANG QUӔC MINH - 0112016 HӖ PHҤM THÁI VINH - 0112081 XÂY DͰNG ͨNG 'ͤNG BɫT GÓI TIN CHO VIʃC PHÂN TÍCH THÔNG TIN 0ɝNG PHͤC 9ͤ QUɟN LÝ KHÓA LUҰN CӰ NHÂN TIN HӐC GIÁO VIÊN HѬӞNG DҮN GVC CAO ĈĂNG TÂN NIÊN KHÓA 2001 – 2005 NHҰN XÉT &ӪA GIÁO VIÊN HѬӞNG DҮN ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... Tp.HCM, ngày…..tháng….năm 2005 NHҰN XÉT &ӪA GIÁO VIÊN PHҦN BIӊN ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... ........................................................................................................................... Tp.HCM, ngày…..tháng….năm 2005 LӠI CÁM ѪN Chúng em xin chân thành cám ѫn Ban giám hiӋu, quý Thҫy cô Fӫa trѭӡng Ĉҥi Hӑc Khoa Hӑc Tӵ Nhiên TP. Hӗ Chí Minh, ÿһc biӋt là các Thҫy cô trong Khoa Công nghӋ Thông tin ÿã tұn tình giҧng Gҥy, trang Eӏ cho chúng em nhӳng kiӃn thӭc cҫn thiӃt, bә ích trong suӕt nhӳng năm Kӑc tұp Wҥi trѭӡng. Chúng em xin chân thành Fҧm ѫn Thҫy Cao Ĉăng Tân, ngѭӡi Thҫy ÿã tұn tình quan tâm hѭӟng dүn, giúp ÿӥ chúng em trong suӕt thӡi gian làm luұn Yăn này. Chúng con xin gӱi lòng biӃt ѫn sâu sҳc và sӵ kính trӑng ÿӃn ông bà, cha Pҽ, cùng toàn thӇ gia ÿình, nhӳng ngѭӡi ÿã nuôi Gҥy chúng con trѭӣng thành nhѭ ngày hôm nay. Chúng tôi xin chân thành cám ѫn sӵ giúp ÿӥ, ÿӝng viên, nhұn xét, ÿóng góp ý kiӃn cӫa các anh chӏ, Eҥn bè trong quá trình thӵc hiӋn luұn văn này. TP. Hӗ Chí Minh, 7/2005 Nhóm sinh viên thӵc hiӋn Giang Quӕc Minh – Hӗ Phҥm Thái Vinh BӔ CӨC &ӪA LUҰN VĂN Luұn văn gӗm có 3 phҫn và 7 chѭѫng PHҪN 1: TӘNG QUAN Chѭѫng 1 Giӟi thiӋu vӅÿӅ tài PHҪN 2: TÌM HIӆU CÁC VҨN Ĉӄ LҰP TRÌNH. Phҫn này giӟi thiӋu các vҩn ÿӅ lұp trình cѫ Eҧn nhҩt ÿӇ xây dӵng 1ӭng Gөng có khҧ Qăng bҳt các gói tin và cho phép ngѭӡi dùng có thӇ ÿiӅu khiӇn tӯ xa qua môi trѭӡng Pҥng. Chѭѫng 2. Tìm hiӇu thѭ viӋn lұp trình mҥng cҩp thҩp libpcap, ÿây là “trái tim” Fӫa hҫu hӃt các ӭng Gөng bҳt gói tin mã nguӗn mӣ hiӋn nay. Chѭѫngg 3. Giӟi thiӋu MySQL, mӝt hӋ quҧn trӏ Fѫ sӣ dӳ liӋu tҫm trung ÿѭӧc sӱ dөng phә biӃn nhҩt hiӋn nay. Chѭѫng 4. Tìm hiӇu Nӻ thuұt lұp trình socket ÿӇ viӃt các ӭng Gөng trên môi trѭӡng Pҥng Phҫn 3 Xây Gөng ӭng Gөng PacketCap. Phҫn này VӁ sӱ dөng các kiӃn thӭc ÿã tìm hiӇu ӣ chѭѫng 2, 3, 4 ÿӇ xây dӵng mӝt ӭng Gөng bҳt gói tin, Oѭu các kӃt quҧ bҳt ÿѭӧc vào cѫ sӣ dӳ liӋu ÿӇ phân tích các thông tin Pҥng. Chѭѫng 5. Phân tích, thiӃt kӃӭng Gөng PacketCap Chѭѫng 6. Cài ÿһt và thӱ nghiӋm PacketCap Chѭѫng 7. Tәng kӃt. Chѭѫng này trình bày nhӳng kӃt quҧ ÿҥt ÿѭӧc, nhӳng Kҥn chӃ và hѭӟng phát triӇn PacketCap trong tѭѫng lai. Các danhPөc 11 MӨC /ӨC DANH SÁCH HÌNH.................................................................................... 14 DANH SÁCH %ҦNG .................................................................................. 15 PHҪN 1: TӘNG QUAN .............................................................................. 16 Chѭѫng 1: Giӟi thiӋu ÿӅ tài .......................................................................... 17 1.1. Ĉһt vҩn ÿӅ .......................................................................................... 17 1.2. Giӟi thiӋu ÿӅ tài.................................................................................. 18 1.3. Yêu cҫu Fӫa ÿӅ tài .............................................................................. 19 PHҪN 2: TÌM HIӆU CÁC VҨN Ĉӄ LҰP TRÌNH ...................................... 20 Chѭѫng 2 : Thѭ viӋn lұp trình Pҥng libpcap ................................................ 21 2.1. Giӟi thiӋu libpcap............................................................................... 21 2.2. Cài ÿһt thѭ viӋn libpcap ..................................................................... 21 3.3. Các bѭӟc xây dӵng chѭѫng trình sӱ dөng libpcap.............................. 22 3.4. Chi tiӃt các bѭӟc ................................................................................ 23 3.4.1. Chӑn Interface( card Pҥng) ......................................................... 23 3.4.2. Mӣ device ÿӇ lҳng nghe( sniff) dӳ liӋu......................................... 24 3.4.3. /ӑc traffic .................................................................................... 25 Chѭѫng 3: HӋ quҧn trӏ Fѫ sӣ dӳ liӋu MySQL ............................................... 34 3.1. Giӟi thiӋu vӅ MySQL......................................................................... 34 3.2. Cài ÿһt MySQL.................................................................................. 34 3.2.1. Cài Ĉһt MySQL tӯ các gói nhӏ phân ............................................ 34 3.2.2. Cài ÿһt tӯ mã nguӗn..................................................................... 35 3.3. Sӱ dөng MySQL ................................................................................ 36 3.3.1. LӋnh mysql .................................................................................. 36 3.3.2. LӋnh mysqladmin ........................................................................ 36 3.3.3. LӋnh mysqlshow.......................................................................... 36 3.3.4. LӋnh grant.................................................................................... 37 3.3.5. LӋnh Revoke................................................................................ 38 3.3.6. Ví dө vӅ tҥo mӝt cѫ sӣ dӳ liӋu ..................................................... 38 3.4. Lұp trình MySQL trên ngôn ngӳ C .................................................... 38 4.4.1 mysql_init..................................................................................... 38 3.4.2 mysql_real_connection ................................................................. 39 3.4.3 mysql_query ................................................................................. 40 3.4.4. mysql_affected_rows ................................................................... 40 3.4.5. mysql_store_result ....................................................................... 40 3.4.6. mysql_fetch_row ......................................................................... 40 3.4.7. mysql_row_seek .......................................................................... 41 3.4.8. mysql_free_result ........................................................................ 41 Các danhPөc 12 Chѭѫng 4: Lұp trình socket .......................................................................... 42 4.1. Giӟi thiӋu vӅ lұp trình socket ............................................................. 42 4.2. Nguyên lý hoҥt ÿӝng Fӫa socket......................................................... 42 4.3. Lұp trình vӟi socket ........................................................................... 44 4.3.1. Các thuӝc tính Fӫa socket............................................................. 44 4.3.1.1. Vùng( domain) ...................................................................... 44 5.3.1.2. KiӇu socket(type)................................................................... 46 4.3.1.3. Giao thӭc Fӫa socket( protocol) ............................................. 47 4.3.2. 7ҥo socket.................................................................................... 48 4.3.3. Ĉӏnh ÿӏa chӍ cho socket................................................................ 49 4.3.4. Ĉһt tên cho socket........................................................................ 51 4.3.5. 7ҥo hàng ÿӧi cho socket .............................................................. 52 4.3.6. Chӡ và chҩp nhұn kӃt nӕi............................................................. 53 4.3.7. Yêu cҫu kӃt nӕi ............................................................................ 54 4.3.8. Ĉóng kӃt nӕi ................................................................................ 55 4.3.9. Giao tiӃp bҵng socket................................................................... 56 4.4. Sӱ dөng socket trong ӭng Gөng minh Kӑa ....................................... 58 PHҪN 3: XÂY DӴNG ӬNG 'ӨNG THӰ NGHIӊM PACKETCAP ......... 59 Chѭѫng 5: Phân tích và thiӃt kӃ PacketCap .................................................. 60 5.1. Khҧo sát hiӋn trҥng ............................................................................ 60 5.2. Phân tích và xác ÿӏnh yêu cҫu ............................................................ 61 5.2.1. Phân tích ...................................................................................... 61 5.2.2. Xác ÿӏnh yêu cҫu ......................................................................... 61 5.3. Các hѭӟng xây dӵng ӭng Gөng PacketCap......................................... 63 5.3.1. Phân tích hѭӟng phát triӇn dӵa trên Ethereal................................ 63 5.3.2. Phân tích hѭӟng phát triӇn dӵa trên libcap ................................... 64 5.3.3. Lӵa chӑn hѭӟng phát triӇn PacketCap ......................................... 64 5.4. Các thành phҫn PacketCap ................................................................. 65 5.5. Xây dӵng mô hình use case................................................................ 66 5.5.1. Xác ÿӏnh Actor và use case .......................................................... 66 5.5.2. Mô hình use case ......................................................................... 66 5.6. Ĉһt Wҧ use case.................................................................................... 67 5.6.1. Connect........................................................................................ 67 5.6.2. StartCapture................................................................................. 68 5.6.3. StopCapture ................................................................................. 69 5.6.4. GetFilter....................................................................................... 70 5.6.5. Terminate..................................................................................... 71 Các danhPөc 13 5.7.ThiӃt kӃ dӳ liӋu ................................................................................... 72 5.7.1. Phân tích các hѭӟng lѭu trӳ ......................................................... 72 5.7.2. ThiӃt kӃ Fѫ sӣ Gѭ liӋu................................................................... 75 5.7.2.1. Danh sách các ÿәi tѭӧng (table)............................................. 75 5.7.2.2 Table PACKET ...................................................................... 75 6.7.2.4. Table IP ................................................................................. 76 5.7.2.5. Table TCP ............................................................................. 76 5.7.2.6. Table UDP............................................................................. 77 5.7.2.7 Table ICMP ............................................................................ 77 5.7.2.8 Table IGMP............................................................................ 78 5.7.2.9. Table ARP............................................................................. 80 5.8. Xây dӵng PCServer( server), PCManager(client)............................... 81 5.8.1. Lѭu ÿӗ PCServer ......................................................................... 81 5.8.2. Lѭu ÿӗ PCManager( Client)......................................................... 82 5.8.3. Cҩu trúc dӳ liӋu trao ÿәi giӳa PCServer và PCManager............... 83 5.9.ThiӃt kӃ giao diӋn PCManager( phiên Eҧn chҥy trên Windows) .......... 85 Chѭѫng 6: Cài ÿһt và thӱ nghiӋm................................................................. 87 6.1. Cài ÿһt................................................................................................ 87 6.2. Thӱ nghiӋm........................................................................................ 88 6.2.1. Mô hình thӱ nghiӋm 1.................................................................. 88 6.2.2. Mô hình thӱ nghiӋm 2.................................................................. 89 6.2.3. Mô hình thӱ nghiӋm 3.................................................................. 90 Chѭѫng 7: Tәng kӃt ..................................................................................... 91 7.1. KӃt luұn.............................................................................................. 91 7.1.1. KӃt quҧ ÿҥt ÿѭӧc.......................................................................... 91 7.1.2. +ҥn chӃ........................................................................................ 91 7.2. Hѭӟng phát triӇn ................................................................................ 92 PHӨ LӨC Hѭӟng dүn sӱ dөng PacketCap ................................................... 93 1.Chѭѫng trình PCServer.......................................................................... 93 2. Chѭѫng trình PCManager ..................................................................... 93 2.1. PCManager trên môi trѭӡng Linux ................................................. 93 2.2. PCManager trên môi trѭӡng Windows............................................ 94 TÀI LIӊU THAM KHҦO............................................................................ 95 Các danhPөc 14 DANH SÁCH HÌNH Hình 5-1 Các thành phҫn Fӫa PacketCap.................................................
Tài liệu liên quan