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ý

  • Số trang: 91 |
  • Loại file: PDF |
  • Lượt xem: 18 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

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 NG PH C QU N LÝ KHOÁ LU N C TP. HCM, NHÂN TIN H C 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 NG PH C QU N LÝ KHÓA LU N C NHÂN TIN H C GIÁO VIÊN H GVC CAO NG D N 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 Chúng em xin chân thành cám tr ng N n Ban giám hi u, quý Th y cô i H c Khoa H c T Nhiên TP. H Chí Minh, cô trong Khoa Công ngh Thông tin ã t n tình gi ng c bi t là các Th y y, trang em nh ng ki n th c c n thi t, b ích trong su t nh ng n m Chúng em xin chân thành t n tình quan tâm h m n Th y Cao ng d n, giúp a cho chúng c t p i tr ng Tân, ng ng. i Th y ã chúng em trong su t th i gian làm lu n n này. Chúng con xin g i lòng bi t n sâu s c và s kính tr ng , cùng toàn th gia ình, nh ng ng i ã nuôi n ông bà, cha 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 góp ý ki n c a các anh ch , , ng viên, nh n xét, óng 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 các v n l p trình c n nh t các gói tin và cho phép ng tr ng Ch L P TRÌNH. Ph n này gi i thi u xây d ng 1 ng i dùng có th ng có kh ng b t i u khi n t xa qua môi ng. 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” Ch a h u h t các ng ng b t gói tin mã ngu n m hi n nay. ngg 3. Gi i thi u MySQL, m t h qu n tr 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 môi tr ng thu t l p trình socket vi t các ng ng trên ng Ph n 3 Xây ng ng th c ã tìm hi u ch u các k t qu b t ng PacketCap. Ph n này ng 2, 3, 4 s d ng các ki n xây d ng m t ng c vào c s d li u ng b t gói tin, phân tích các thông tin ng. Ch ng 5. Phân tích, thi t k Ch ng 6. Cài Ch ng 7. T ng k t. Ch nh ng ng ng PacketCap t và th nghi m PacketCap n ch và h ng này trình bày nh ng k t qu ng phát tri n PacketCap trong t t ng lai. c, Các danh c 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 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 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 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 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 11 Các danh c 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 a socket......................................................... 42 4.3. L p trình v i socket ........................................................................... 44 4.3.1. Các thu c tính 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 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à 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 ng minh 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 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 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 12 Các danh c 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 s 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 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 13 Các danh c DANH SÁCH HÌNH Hình 5-1 Các thành ph n a PacketCap...................................................... 65 Hình 5-2 Mô hình use case ........................................................................... 66 Hình 5-3 Mô hình l u tr 1 .......................................................................... 72 Hình 5-4 Mô hình l u tr 2 .......................................................................... 73 Hình 5-5 Mô hình l u tr 3 .......................................................................... 74 Hình 5-6 L u PCServer........................................................................... 81 Hình 5-7 L u PCManager ....................................................................... 82 Hình 6-1 Mô hình th nghi m 1 ................................................................... 88 Hình 6-2 Mô hình th nghi m 2 ................................................................... 89 Hình 6-3 Mô hình th nghi m 3 ................................................................... 90 14 Các danh c DANH SÁCH NG ng 4-1 Các giá tr c a domain .................................................................. 48 ng 4-2 Các mã l i a hàm bind() ............................................................ 51 ng 4-3 Các mã l i a domain AF_UNIX ................................................ 52 ng 4-4 Mã l i a hàm connect().............................................................. 55 ng 5-1 Xác nh yêu c u........................................................................... 62 ng 5-2 Danh sách các i t ng ............................................................... 75 ng 5-3 Table PACKET............................................................................. 75 ng 5-4 Table IP ........................................................................................ 76 ng 5-5 Table TCP..................................................................................... 76 ng 5-6 Table UDP .................................................................................... 77 ng 5-7 Table ICMP .................................................................................. 77 ng 5-8 Table IGMP .................................................................................. 78 ng 5-9 Table ARP .................................................................................... 80 ng 5-10 Mô màn hình PCManager ....................................................... 86 15 Ph n 1: T ng quan PH N 1: T NG QUAN Ch ng 1. Gi i thi u 16 tài Ch ng 1: Gi i thi u tài Ch 1.1. ng 1: Gi i thi u tài tv n 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 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 ng òi h i n ng l c tính toán r t l n, vì v y c vi c này c n ph i trang b các siêu máy tính toán này. Trong ng th i u ki n kinh t n c vì chúng quá t th c hi n bài c ta thì không th trang b nh ng h . 17 Ch ng 1: Gi i thi u tài y gi i pháp nào gi i 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 c c kì nh g p nhi u l n 1 siêu máy tính ( lúc ó các siêu máy tính có th ch là m t node 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 vào các c s d li u 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à l u vào các c s d li u phân tán trên m ng theo nhu c u c a ng • i qu n tr . th ng cho phép c u hình ng d ng t xa. • H tr u k t qu b t c theo nh gói tin khác nh Ethereal, TCPDump... 19 ng a các ng ng b t Ph n 2: Tìm hi u các v n l p trình PH N 2: TÌM HI U CÁC V N Ch ng 2. Th vi n l p trình Ch ng 3. H qu n tr Ch ng 4. L p trình socket 20 L P TRÌNH ng libpcap s d li u MySQL Ch 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. Cài Ch n m i nh t a libpcap là 0.9.1. t th vi n libpcap ng trình ngu n c a libpcap có th www.tcpdump.org , các phiên n m i nh t download a libpcap u có Gi s b n i v gói libpcap-0.8.3.tar.tar, ti n hành cài t: • Gi i nén gói tar tar –xzvf libpcap-0.8.3.tar.tar • Chuy n vào th m c libpcap cd libpcap-0.8.3 • gõ l nh ./configure • Gõ l nh make • Gõ l nh make install N u không có l i gì x y ra thì quá trình cài 21 t ã hoàn t t. a ch a ch này. Ch ng 2: Th vi n l p trình 3.3. Các b c xây d ng ch Có 5 b ng libpcap ng trình s d ng libpcap c chính trong vi c s d ng th vi n libpcap • c 1: Xác nh interface (card (Trong Linux, interface th ng) mà ta mu n b t frame vào ng là eth0,eth1…..Ta có th dùng các hàm pcap_lookupdev() c a th vi n libpcap l y t t c các inteface. • c 2: Kh i t o pcap. Cung c p cho pcap bi t interface nào trong các interface ã l y v • b c trên s c ch n sniff. c 3: L c frame .pcap cho chúng ta c ch ch n l a khi l c các frame khi b t (ví d ch b t frame TCP/IP có source IP 192.168.8.8 và port 23 …). ta ph i t o ra filter r i biên này ch filter báo cho pcap bi t b l c nó s dùng. • c 4: Pcap th c thi vi c sniff frames. • c 5: óng phiên làm vi c và k t thúc ng d ng Trên ây là qui trình t ng quát cách libpcap b t gói tin trong ó b là tùy ch n có th có ho c không. 22 c3 Ch ng 2: Th vi n l p trình 3.4. Chi ti t các b ng libpcap c 3.4.1. Ch n Interface( card ng) Có 3 cách thi t l p devices • Cách 1 : Cho ng sniff các frames d li u i dùng nh p tên thi t b t dòng l nh #include #include int main(int argc , char* argv[]) { Char * dev = argv[1] Printf( Devices : %s \n ,dev); } Trong ó argv[1] là tham s dòng l nh • Cách 2 : S u tiên d ng hàm pcap_lookupdev() c a libpcap ki m các interface t n i trên máy tính. #include #include int main(int argc , char* argv[]) { Char* dev,errbuf[PCAP_ERRBUF_SIZE] dev = pcap_lookupdev(errbuf); if(dev == NULL) { printf("%s\n",errbuf); exit(1); } printf("DEV: %s\n",dev); } 23 tìm Ch ng 2: Th vi n l p trình Trong tr ng libpcap ng h p này, pcap t tìm ra thi t b . errbuf là chu i ch a thông báo l i n u có. • Cách 3 : Dùng hàm pcap_findalldevs tìm t t c thi t b sau ó a vào m t m ng #include #include int main(int argc , char* argv[]) { pcap_if_t *devlist; char devname[10][100]; Char* dev,errbuf[PCAP_ERRBUF_SIZE] int devcount=0; retvalue=pcap_findalldevs(&devlist,err); if(retvalue==-1 || devlist==NULL) return 0; for(d=devlist,i=0; d && i<10 ;d=d->next,i++) sprintf(devname[i],"%s",d->name); devcount=i; } 3.4.2. M device l ng nghe( sniff) d li u Kh i t o phiên làm vi c cho các thi t b s d ng hàm pcap_open_live(). C u trúc hàm này nh sau : pcap_t *pcap_open_lives( char* device,int snaplen,int promisc,int yo_ms,char *ebuf) Tham s : • device là thi t b ã c 24 nh ngh a trên
- Xem thêm -