Đăng ký Đăng nhập
Trang chủ 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ý...

Tài liệu 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ý

.PDF
91
96
94

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 -

Tài liệu liên quan