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ý
TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN MÔN CÔNG NGH PHN MM GIANG QUC MINH – H PHM THÁI VINH XÂY DNG NG NG BT GÓI TIN CHO VIC PHÂN TÍCH THÔNG TIN NG PHC QUN LÝ KHOÁ LUN C NHÂN TIN HC TP. HCM, M 2005 TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN MÔN CÔNG NGH PHN MM GIANG QUC MINH - 0112016 H PHM THÁI VINH - 0112081 XÂY DNG NG NG BT GÓI TIN CHO VIC PHÂN TÍCH THÔNG TIN NG PHC QUN LÝ KHÓA LUN C NHÂN TIN HC GIÁO VIÊN HNG DN GVC CAO NG TÂN NIÊN KHÓA 2001 – 2005 NHN XÉT A GIÁO VIÊN HNG DN . . . . . . . . . . . . . . . . . . . . . . . . . . Tp.HCM, ngày… tháng….nm 2005 NHN XÉT A GIÁO VIÊN PHN BIN . . . . . . . . . . . . . . . . . . . . . . . . . . Tp.HCM, ngày… tháng….nm 2005 LI CÁM N Chúng em xin chân thành cám n Ban giám hiu, quý Thy cô a trng i Hc Khoa Hc T Nhiên TP. H Chí Minh, c bit là các Thy cô trong Khoa Công ngh Thông tin ã tn tình ging y, trang cho chúng em nhng kin thc cn thit, b ích trong sut nhng nm c tp i trng. Chúng em xin chân thành m n Thy Cao ng Tân, ngi Thy ã tn tình quan tâm hng dn, giúp chúng em trong sut thi gian làm lun n này. Chúng con xin gi lòng bit n sâu sc và s kính trng n ông bà, cha , cùng toàn th gia ình, nhng ngi ã nuôi y chúng con trng 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, nhn xét, óng góp ý kin ca các anh ch, n bè trong quá trình thc hin lun vn này. TP. H Chí Minh, 7/2005 Nhóm sinh viên thc hin Giang Quc Minh – H Phm Thái Vinh B CC A LUN VN Lun vn gm có 3 phn và 7 chng PHN 1: TNG QUAN Chng 1 Gii thiu v tài PHN 2: TÌM HIU CÁC VN LP TRÌNH. Phn này gii thiu các vn lp trình c n nht xây dng 1ng ng có kh ng bt các gói tin và cho phép ngi dùng có th iu khin t xa qua môi trng ng. Chng 2. Tìm hiu th vin lp trình mng cp thp libpcap, ây là “trái tim” a hu ht các ng ng bt gói tin mã ngun m hin nay. Chngg 3. Gii thiu MySQL, mt h qun tr s d liu tm trung c s dng ph bin nht hin nay. Chng 4. Tìm hiu thut lp trình socket vit các ng ng trên môi trng ng Phn 3 Xây ng ng ng PacketCap. Phn này s dng các kin thc ã tìm hiu chng 2, 3, 4 xây dng mt ng ng bt gói tin, u các kt qu bt c vào c s d liu phân tích các thông tin ng. Chng 5. Phân tích, thit kng ng PacketCap Chng 6. Cài t và th nghim PacketCap Chng 7. Tng kt. Chng này trình bày nhng kt qu t c, nhng n ch và hng phát trin PacketCap trong tng lai. Các danh c 11 MC C DANH SÁCH HÌNH 14 DANH SÁCH NG 15 PHN 1: TNG QUAN 16 Chng 1: Gii thiu tài 17 1.1. t vn 17 1.2. Gii thiu tài 18 1.3. Yêu cu a tài 19 PHN 2: TÌM HIU CÁC VN LP TRÌNH 20 Chng 2 : Th vin lp trình ng libpcap 21 2.1. Gii thiu libpcap . 21 2.2. Cài t th vin libpcap . 21 3.3. Các bc xây dng chng trình s dng libpcap 22 3.4. Chi tit các bc 23 3.4.1. Chn Interface( card ng) . 23 3.4.2. M device lng nghe( sniff) d liu . 24 3.4.3. c traffic 25 Chng 3: H qun tr s d liu MySQL . 34 3.1. Gii thiu 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ã ngun . 35 3.3. S dng MySQL 36 3.3.1. Lnh mysql 36 3.3.2. Lnh mysqladmin 36 3.3.3. Lnh mysqlshow 36 3.3.4. Lnh grant 37 3.3.5. Lnh Revoke 38 3.3.6. Ví d v to mt c s d liu . 38 3.4. Lp 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 danh c 12 Chng 4: Lp trình socket 42 4.1. Gii thiu v lp trình socket . 42 4.2. Nguyên lý hot ng a socket . 42 4.3. Lp trình vi socket . 44 4.3.1. Các thuc tính a socket . 44 4.3.1.1. Vùng( domain) 44 5.3.1.2. Kiu socket(type) . 46 4.3.1.3. Giao thc a socket( protocol) . 47 4.3.2. o socket 48 4.3.3. nh a ch cho socket 49 4.3.4. t tên cho socket 51 4.3.5. o hàng i cho socket 52 4.3.6. Ch và chp nhn kt ni . 53 4.3.7. Yêu cu kt ni 54 4.3.8. óng kt ni 55 4.3.9. Giao tip bng socket .56 4.4. S dng socket trong ng ng minh a . 58 PHN 3: XÂY DNG NG NG TH NGHIM PACKETCAP . 59 Chng 5: Phân tích và thit k PacketCap 60 5.1. Kho sát hin trng 60 5.2. Phân tích và xác nh yêu cu 61 5.2.1. Phân tích 61 5.2.2. Xác nh yêu cu . 61 5.3. Các hng xây dng ng ng PacketCap . 63 5.3.1. Phân tích hng phát trin da trên Ethereal 63 5.3.2. Phân tích hng phát trin da trên libcap . 64 5.3.3. La chn hng phát trin PacketCap . 64 5.4. Các thành phn PacketCap .65 5.5. Xây dng 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 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 danh c 13 5.7.Thit k d liu . 72 5.7.1. Phân tích các hng lu tr . 72 5.7.2. Thit k s liu .75 5.7.2.1. Danh sách các i tng (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 dng PCServer( server), PCManager(client) . 81 5.8.1. Lu PCServer .81 5.8.2. Lu PCManager( Client) . 82 5.8.3. Cu trúc d liu trao i gia PCServer và PCManager . 83 5.9.Thit k giao din PCManager( phiên n chy trên Windows) 85 Chng 6: Cài t và th nghim . 87 6.1. Cài t 87 6.2. Th nghim 88 6.2.1. Mô hình th nghim 1 88 6.2.2. Mô hình th nghim 2 89 6.2.3. Mô hình th nghim 3 90 Chng 7: Tng kt .91 7.1. Kt lun 91 7.1.1. Kt qu t c 91 7.1.2. n ch 91 7.2. Hng phát trin 92 PH LC Hng dn s dng PacketCap . 93 1.Chng trình PCServer 93 2. Chng trình PCManager . 93 2.1. PCManager trên môi trng Linux . 93 2.2. PCManager trên môi trng Windows 94 TÀI LIU THAM KHO 95 Các danh c 14 DANH SÁCH HÌNH Hình 5-1 Các thành phn a PacketCap 65 Hình 5-2 Mô hình use case .66 Hình 5-3 Mô hình lu tr 1 72 Hình 5-4 Mô hình lu tr 2 73 Hình 5-5 Mô hình lu tr 3 74 Hình 5-6 Lu PCServer . 81 Hình 5-7 Lu PCManager . 82 Hình 6-1 Mô hình th nghim 1 . 88 Hình 6-2 Mô hình th nghim 2 . 89 Hình 6-3 Mô hình th nghim 3 . 90 [...]... trên ph c cho vi c theo dõi và phân tích thông tin Nhóm th 2 ng (Ph n I) tìm hi u Grid Computing và xây d ng ng tích hi n tr ng c a m ng d a trên thông tin t xây d ng (Ph n II) 18 ng phân s d li u do nhóm th 1 Ch ng 1: Gi i thi u 1.3 Yêu c u a tài tài • Xây d ng ng d ng phân tán th nghi m cho phép b t các gói tin dùng phân tích thông tin • Các gói tin sau khi b t, ng ph c qu n lý c trích thông tin và... trong h th ng Grid Computing) i nh ng u m trên chúng tôi ch n tài “ ng d ng th nghi m Grid Computing trong vi c phân tích thông tin m ng ph c v qu n lý 1.2 Gi i thi u tài tài “ ng thông tin ng ph c Nhóm th 1 xa ch ng ng th nghi m Grid Computing trong vi c phân tích qu n lý là m t l n g m 2 nhóm th c hi n xây d ng ng d ng phân tán trên m ng cho phép thi t l p t l c và b t các gói tin, trích l c và l u... Intenet phát tri n và ngày càng nhi u các thông tin quan tr ng c trao i trên m ng làm n y sinh m t s v n quan tr ng là b o m t thông tin trên m ng tránh rò r hay ng n không cho truy c p vào các d li u không cho phép gây thi t h i kinh t , qu n lý b ng thông t ng kh n ng áp ng thông tin, giao d ch v i khách hàng tránh c tình tr ng ngh n m ch l u thông trên m ng Vi c phân tích l u l mu n làm th ng này ng m... n tr sau • create databasename : t o csdl • drop database name :xóa c s d li u • password newpassword : i m t kh u • status: thông tin v tr ng thái hi n hành c a trình ch • version cho bi t thông tin v phiên b n c a trình ch my sql 3.3.3 L nh mysqlshow L nh này cho bi t thông tin v database N u không có tham s s hi n th toàn b database, ng c i n u có tham s là tên database thì hi n th t t c các b ng... c p nh qu n lý giao tác, chia s k t n i c s d ng r ng rãi trong Linux i v i các ng d ng cgi hay Perl trong môi tr Internet a ch download MySQL : http://www.MySQL.com 3.2 Cài t MySQL 3.2.1 Cài t MySQL t các gói nh phân Các gói c n thi t: • Gói trình ch (server package): MySQL-version-architecture.rpm • Gói trình khách (client package): MySQL-client-version-architecture.rpm • tr th vi n cho trình khách:... t t t c các gói tin mà ch b t các gói tin theo m t yêu c u nào ó ta thì s d ng pcap_compile() pcap_setfilter() có c u trúc nh sau: int pcap_compile(pcap_t *p, struct bpf_program *ft, char *str, int optimize, bpf_u_int32 netmask ) Tham s u tiên là handle c a phiên làm vi c (pcap_t) Tham s th hai là tham s ch n n i l u compile version c a filter str là chu i mô t cho filter bi t nh ng gói tin c n b t... ng 2: Th vi n l p trình Ch ng libpcap ng 2 : Th vi n l p trình ng libpcap 2.1 Gi i thi u libpcap Libpcap là m t th vi n mã ngu n m cho phép b t các gói tin trên ng truy n theo nhi u h phép phân tích các frame v a tìm Th vi n libcap tr l p trình ng c p th p, ng khác nhau, cho c c s d ng r ng rãi trong các ph n m m sniffer packet Các ph n m m s d ng libcap ph bi n là TCPdump, TCPflow Hi n nay phiên 2.2... Ngày nay công ngh thông tin nói chung và Intenet nói riêng ngày càng phát tri n nh và tr thành không th thi u trong cu c s ng chúng ta Xu t phát t nhu c u trao i thông tin ngày càng nhanh và nhi u gi a các doanh nghi p, các t ch c và công ty trong n n kinh t th tr nay, s l ng hôm ng các doanh nghi p thi t l p các h th ng m ng và k t n i Intenet ngày càng nhi u Vi c Công ngh thông tin và m ng Intenet... MySQL-shared-version-architecture.rpm • Gói phát tri n ng d ng trên MySQL: MySQL-devel-version-architecture.rpm Ta cài t ng gói b ng l nh rpm –ivh 34 ng Web, Ch ng 3: H qu n tr c s d li u MySQL Trình cài • t script s t ng t o: t CSDL database m u • Script init.d và mysql kh i ng và d ng d ch v ki m soát database c a MySQL • Script mysql ch a các khai báo bi n môi tr ng cho CSDL cho bi t v trí các file CSDL... quy t bài toán này ? • Grid Computing là h th ng tính toán song song và phân tán cho phép chúng ta th c hi n nh ng bài toán l n d a trên các th ng nh g m nhi u máy tính c n i m ng v i nhau • Hi n nay chúng ta l i có r t nhi u h th ng máy tính n i ng nh ng ch a s d ng c h t kh n ng tính toán c a chúng • i s l ng các máy tính l n thì vi c tri n khai Grid Computing s cho chúng ta m t h th ng tính toán . MÔN CÔNG NGH PHN MM GIANG QUC MINH - 0112016 H PHM THÁI VINH - 0112081 XÂY DNG NG NG BT GÓI TIN CHO VIC