Sd ng socket trong ng ng min ha

Một phần của 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ý (Trang 54)

Ph n l p trình socket này c s d ng th c hi n vi c trao i thông tin gi a thành ph n client và server trong ph n ng ng minh

a.

th thành ph n client dùng socket k t n i n thành ph n server. Sau khi k t n i thành công client g i các l nh nh Start Capture, Stop Capture, Get Filter... n server, server nh n các l nh này, th c hi n xong nó s tr l i k t qu th c hi n là thành công hay th t i cho client.

Ph n 3: Xây d ng ng d ng th nghi m PacketCap

PH N 3: XÂY D NG NG NG TH NGHI M PACKETCAP

Ch ng 5. Phân tích và thi t k PacketCap Ch ng 6. Cài t và th nghi m

Ch ng 5: Phân tích và thi t k PacketCap

Ch ng 5: Phân tích và thi t k PacketCap

5.1. Kh o sát hi n t ng

Hi n nay có r t nhi u ph m m m b t gói tin nh Tcpdump, Microsoft Network Monitor, Ethereal...Trong ó ph n m m ngu n m Ethereal n i b t v i nhi u u i m nh ch y trên nhi u h i u hành, h tr b t gói tin theo nhi u giao th c khác nhau...

Các ph n m m này có h n ch chung là khi chúng ang b t các gói tin thì chúng ta không th c, phân tích các thông tin b t c, hay nói cách khác khi k t thúc quá trình b t các gói tin r i thì m i phân tích các thông tin này c.

Nh ng ph n m m này không h tr vi c ghi k t qu vào c s d li u, mà ch u vào các file có c u trúc theo nh ng riêng a chúng. N u file này có kích th c l n thì vi c tìm ki m, x lý các thông tin phân tích r t ch m.

Nh ng ph n m m này ch ch y trên môi tr ng desktop là ch y u do ó không cho phép c u hình t xa (ví d : u ch nh b l c , thi t l p ng d n u tr trên m ng ….t xa. Hi n nay các ph n m m này ang c phát tri n sang mô hình client/server).

Trong khi ó thì nhu c u ng i qu n tr m ng r t a d ng:

• n có thông tin v l u l ng m ng u ch nh b ng thông theo yêu c u c a khách hàng c ng nh phát hi n tr c các s c n u c.

• Theo dõi hành ng truy c p và xâm nh p m ng b t h p pháp.

Ch ng 5: Phân tích và thi t k PacketCap

5.2. Phân tích và xác nh yêu c u

5.2.1. Phân tích

Vi c trao i thông tin trên m ng ngày càng nhi u, nhu c u c a các nhà qu n tr m ng òi h i ngày càng a d ng, c n thi t có m t ch ng trình có th b t gói tin cho phép phân tích, trích l c thông tin ngay trong khi b t (các ph n m m b t gói tin hi n nay không cho phép các nhà qu n tr s d ng thông tin thu th p c khi quá trình b t gói tin ang th c hi n). ng ng này l y tên là PacketCap.

Trên c s ó, m t h th ng phân tán b t gói tin, trích l c và luu tr vào c s d li u trên m ng c xây d ng kh c ph c ph n nào khuy t m trên. H th ng cho phép nhà qu n tr s d ng thông tin ngay trong khi b t, tùy ch n v trí l u thông tin và cho phép c u hình t xa vi c filter các gói tin.Các nhà qu n tr m ng c ng có th dùng h thông này làm c s phát tri n ti p các ng d ng v qu n tr m ng.

5.2.2. Xác nh yêu c u

c tiêu a tài là m t xây d ng ng ng phân tán b t các gói tin, ng này cung c p cho qu n tr m ng nh ng thông tin ph c cho vi c theo dõi và phân tích thông tin ng, d a trên nh ng thông tin c cung c p này cho phép qu n tr m ng có th xác nh c tình tr ng a toàn b h th ng ng.

Ch ng 5: Phân tích và thi t k PacketCap

ng ng PacketCap này bao g m các ch c n ng:

STT Ch c n ng

1 B t và phân tích c các gói tin a nh ng protocol thông ng nh TCP, UDP, ICMP, ARP...

2 Cho phép l u tr thông tin b t c d i ng c s d li u và ch n h qu n tr s d li u u tr .

3 Cho phép l u tr thông tin b t theo c u trúc file a Ethereal ho c các ph n m m b t gói tin khác.

4

i u khi n t xa vi c b t các gói tin, bao g m: • Kh i ng b t gói tin (adsbygoogle = window.adsbygoogle || []).push({});

• D ng b t gói tin • L y b l c hi n th i

• K t thúc ch ng trình b t gói tin

Ch ng 5: Phân tích và thi t k PacketCap

5.3. Các h ng xây d ng ng ng PacketCap

Hi n nay có r t nhi u ph n m m b t gói tin có mã ngu n m nh TCPTrace, TcpDump, WinDump, Ethereal,..trong s này thì Ethereal là ph n m m t t nh t. Nó h tr r t nhi u protocol, h tr các nh d ng l tr c a các ph n m m b t gói tin khác, tích h p thêm ph n phân tích thông tin b t

c.

Các ph n m m ngu n m này u s d ng th vi n l p trình libcap ho c winpcap(tên a phiên n libpcap ch y trên h i u hành Windows).

Do có r t nhi u ph n m m ngu n m h tr b t gói tin nên có 2 h ng l a ch n phát tri n ng ng PacketCap:

Ø H ng 1: Tìm hi u c u trúc a ph n m m Ethereal, tích h p thêm ch c n ng l u các gói tin vào c s d li u và c u hình t xa vào ph n m m Ethereal.

Ø óng 2: S d ng th vi n l p trình ng libpcap vi t l i toàn b ng d ng.

5.3.1. Phân tích h ng phát tri n d a trên Ethereal

• Thu n l i

o Source code c a Ethereal m có th d dàng download trên nhi u trang web. (www.ethereal.com)

o Không c n xây d ng l i các module b t gói tin và filter cho ng d ng.

• Khó kh n

o Mã ngu n Ethereal r t nhi u và khó hi u rõ c do ó vi c tích h p thêm ch c n ng vào Ethereal là r t ph c t p.

o Ethereal ch cung c p free user guide không cung c p developer guide do ó mu n tìm hi u v ethereal ph i c

Ch ng 5: Phân tích và thi t k PacketCap

5.3.2. Phân tích h ng phát tri n d a trên libcap

• Thu n l i :

o Th vi n mã ngu n m libpcap download mi n phí, c nhi u nhà phát tri n s d ng. Ph n m m b t gói tin Tcpdump là m t i n hình.

o Có nhi u tài li u h ng d n l p trình

o Có th d dàng xây d ng ch ng trình theo ý mu n • Khó kh n

o Ph i vi t l i t t c các module capture và filtering tr c khi thêm vào các yêu c u c a lu n v n.

5.3.3. L a ch n h ng phát tri n PacketCap

T nh ng phân tích khó kh n và thu n l i a 2 h ng phát tri n ng ng PacketCap, chúng em quy t nh l a phát tri n PacketCap theo h ng th 2, ngh a là s xây d ng t u ng ng b t gói tin PacketCap d a trên th vi n libpcap.

Ch ng 5: Phân tích và thi t k PacketCap

5.4. Các thành ph n PacketCap

PacketCap có h ch c n ng i u khi n xa nên nó s c xây d ng theo mô hình ng ng Client/ Server.

PacketCap g m 3 thành ph n: (adsbygoogle = window.adsbygoogle || []).push({});

• Thành ph n th c hi n vi c l ng nghe yêu c u t phía client và b t gói tin:PCServer( PacketCap Server)

• Thành ph n i u khi n t xa:PCManager.

• Thành ph n l u tr : PCStore, thành ph n này ch là i l u tr d li u b t c. PCStore th là m t máy tính b t kì có ch y h qu n tr s d li u MySQL.

Trong mô hình client/ server thì PCServer là thành ph n server, còn PCManager là client.

PCServer m c ng 8088 và ch k t n i, nh n yêu c u và th c hi n yêu c u khi ã có client k t n i vào.

PCManager k t n i n PCServer và i u khi n i ho t ng a PCServer.

Ch ng 5: Phân tích và thi t k PacketCap

5.5. Xây d ng mô hình use case

5.5.1. Xác nh Actor và use case

• Actor là ng i dùng ch ng trình PCManager (client) • Use case

o Connect: Dùng PCManager k t n i vào PCServer

o StartCapture: Yêu c u PCServer b t u th c hi n vi c b t gói tin.

o StopCapture: Yêu c u PCServer d ng vi c b t gói tin o GetFilter: l y b l c hi n i

o Terminate: yêu c u PCServer k t thúc.

5.5.2. Mô hình use case

Ch ng 5: Phân tích và thi t k PacketCap

5.6. t use case

5.6.1. Connect

• Tên use case: Connect • Mô

Use-case này mô t quá trình qu n tr viên yêu c u PCManager(client) k t n i qu n tr vi c b t gói tin máy server. • Dòng s ki n

o Dòng s ki n chính

Use-case b t u khi có yêu c u t máy client xin k t i. Máy client g i yêu c u n máy server.

Sau khi máy server nh n c yêu c u, n u ch p nh n yêu c u máy server s g i v s port giao ti p, k t n i thanh công.

u máy sever không nh n yêu c u ho c có sai sót thì client thông báo l i.

o Dòng s ki n ph Không có o Các dòng s ki n khác • Các yêu c u c bi t. o Không có. • u ki n tiên quy t. o Ph i ng nh p quy n qu n tr m i c th c hi n Use- Case này. o Máy sever c n k t n i ph i s n sàng. • m m r ng o Không có.

Ch ng 5: Phân tích và thi t k PacketCap

5.6.2. StartCapture

• Tên use case: StartCapture • Mô

Use-case này mô t quá trình qu n tr viên yêu c u máy client g i l nh y u c u server b t u vi c b t gói tin.

• Dòng s ki n (adsbygoogle = window.adsbygoogle || []).push({});

o Dòng s ki n chính

Use-case b t u khi có yêu c u t máy client. Máy client g i yêu c u n máy server.

Sau khi máy server nh n c yêu c u s ki m tra ti n trình b t gói tin ã c th c thi ch a.

u ti n trình ch a th c thi thì th c thi vi c b t gói tin u vào c s d li u, thông báo v máy client yêu c u ã c áp ng.

u ti n trình ã c th c thi thì g i thông báo l i v . o Dòng s ki n ph

Ki m tra CSDL ngày ó ã có ch a. N u có r i thì m s d li u l u. N u ch a có thì t o c s d li u

i.

Qu n tr viên ch nh s a các thông tin liên quan n phòng ban, r i c p nh t l u l i. Use-case k t thúc. Máy client yêu c u qu n tr nh p c u trúc filter gói tin.

Ch ng 5: Phân tích và thi t k PacketCap o Các dòng s ki n khác Không có • Các yêu c u c bi t o Không có. • u ki n tiên quy t o Ph i ng nh p quy n qu n tr m i c th c hi n Use- Case này. • m m r ng o Không có. 5.6.3. StopCapture

• Tên use case: StopCapture • Mô :

Use-case này mô t quá trình qu n tr viên yêu c u máy client g i n server yêu c u k t thúc b t gói tin.

• Dòng s ki n

o Dòng s ki n chính

Use-case b t u khi có yêu c u t máy client. Máy client g i yêu c u ng ng b t gói tin n máy server.

Sau khi máy server nh n c yêu c u s ki m tra ti n trình b t gói tin ã c th c thi ch a.

u ti n trình ch a th c thi thì th c thi thì ng ng t gói tin, thông báo v máy client yêu c u ã

c áp ng.

u ti n trình ch a c th c thi thì g i thông báo i v .

Ch ng 5: Phân tích và thi t k PacketCap o Dòng s ki n ph óng c s d li u • Các dòng s ki n khác o Không có. • Các yêu c u c bi t o Không có. • u ki n tiên quy t Ph i ng nh p quy n qu n tr m i c th c hi n Use-Case này. • m m r ng o Không có. 5.6.4. GetFilter

• Tên use case: GetFilter • Mô

Use-case này mô t quá trình qu n tr viên yêu c u máy client g i yêu c u cho server tr l i b l c hi n th i.

• Dòng s ki n

o Dòng s ki n chính

Use-case b t u khi có yêu c u t máy client yêu u thay l y filter hi n i ang dùng b t gói tin. Sau khi máy server nh n c yêu c u s ki m tra ti n trình b t gói tin ã c th c thi ch a.

u ti n trình ã th c thi thì nó s g i tr l i cho client

Ch ng 5: Phân tích và thi t k PacketCap o Dòng s ki n ph óng c s d li u o Các dòng s ki n khác • Các yêu c u c bi t o Không có. • u ki n tiên quy t: o Không có • m m r ng: o Không có. 5.6.5. Terminate

• Tên use case: Terminate • Mô :

Use-case này mô t quá trình qu n tr viên yêu c u máy client g i n server yêu c u server k t thúc( thoát).

• Dòng s ki n

o Dòng s ki n chính (adsbygoogle = window.adsbygoogle || []).push({});

Use-case b t u khi có yêu c u t máy client. Máy client g i yêu c u k t thúc ch ng trình server. Sau khi máy server nh n c yêu c u s ki m tra n u quá trình b t gói tin ang ch y thì nó s ch m d t. Thoát ra kh i ch ng trình. (ch m d t) o Dòng s ki n ph óng c s d li u • Các dòng s ki n khác o Không có.

Ch ng 5: Phân tích và thi t k PacketCap • Các yêu c u c bi t o Không có. • u ki n tiên quy t Ph i ng nh p quy n qu n tr m i c th c hi n Use-Case này. • m m r ng o Không có. 5.7.Thi t k d li u 5.7.1. Phân tích các h ng l u tr Có 3 h ng

• ng 1: Các máy client b t gói tin trên các m ng khác nhau và li u c truy n v l u tr trên m t máy server.

Ch ng 5: Phân tích và thi t k PacketCap

o u m :

li u c l u t p trung d dàng cho vi c x lý sau này. o Khuy t m

Khi s l ng các gói tin b t c quá nhi u vi c truy n d li u v máy server có th làm b n ng truy n c a m ng.

òi h i dung l ng l u tr r t l n máy server.

• ng 2 : Gi ng nh h ng 1 nh ng thi t l p thêm m t m ng LAN gi a các máy client và sever truy n d li u.

Hình 5-4 Mô hình l u tr 2

o u m :

Kh c ph c c khuy t m c a h ng 1 o Khuy t m

T n kém trong vi c thi t l p m ng LAN.

Vi c thi t l p m ng LAN có th g p khó kh n trong tr ng p các máy client quá xa nhau.

Ch ng 5: Phân tích và thi t k PacketCap

• ng 3 : L u phân tán trên các máy client và ch truy n d li u theo yêu c u c a client.

Hình 5-5 Mô hình l u tr 3

o u m:

Ch truy n nh ng d li u c client yêu c u nên ph n nào kh c ph c c khuy t m c a h ng 1.

Vi c l u tr phân tán s không òi h i dung l ng l u tr n m t máy.

Vi c xây d ng ch ng trình th c hi n l u tr phân tán s dàng h n.

o Khuy t i m

Ch ng 5: Phân tích và thi t k PacketCap

5.7.2. Thi t k s li u

5.7.2.1. Danh sách các i t ng (table)

STT Tên i t ng Mô

1 PACKET Thông tin chung t t c các gói tin b t c 2 IP Thông tin v IP header c a gói tin

3 TCP Thông tin chi ti t v gói tin TCP 4 UDP Thông tin chi ti t v gói tin UDP

Một phần của 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ý (Trang 54)