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
• 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:
• 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
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
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