Sau khi Client k t n i thành công v i PCServer, PCManager và PCServer trao i các thông i p v i nhau. th là PCManger s g i yêu c u lên cho PCServer và sau khi th c hi n yêu c u a PCManager, Server g i tr l i k t qu th c hi n cho Client.
C u trúc a m i thông i p nh sau: struct tagCMD
{
int CmdCode; int IPFilterType;
int b1,b2,b3,b4;//4 parts of IP address(for filter) int PortFilterType;
int Port;
int ProtocolFilter;//TCP, UDP, ICMP.. int mb1,mb2,mb3,mb4;//MySQL int NumberPacket;
};
V i CmdCode là mã l nh c n g i, các mã l nh mày c nh ngh a b ng các h ng d dàng cho vi c l p trình.
Ch ng 5: Phân tích và thi t k PacketCap
IPFilterType xác nh ki u c theo a ch IP, giá tr c a nó c nh ngh a nh sau: #define NO_FILTER 0 #define SOURCE_FILTER 1 #define DEST_FILTER 2 #define SOURCE_OR_DEST_FILTER 3 #define SOURCE_AND_DEST_FILTER 4 N u IPFilterType=NO_FILTER ngh a là không th c hi n vi c
c các gói tin theo a ch IP, n u IPFilterType khác 0 thì lúc ó
b1,b2,b3,b4 s là a ch IP c n c. B n s nguyên này hình thành a ch IP theo ngb1.b2.b3.b4
SOURCE_FILTER l c theo a ch IP ngu n, các gói tin có a ch ngu n (n i g i) b ngb1.b2.b3.b4 c b t i.
DEST_FILTER l c theo a ch ích, các gói tin có a ch ích (n i n) b ng b1.b2.b3.b4 s c b t i.
PortFilterType xác nh ki u c theo Port a ng ng, giá tr c a nó c nh ngh a nh a IPFilterType.
SOURCE_OR_DEST nh ng gói tin có a ch ngu n ho c ích b ng b1.b2.b3.b4 c b t.
SOURCE_AND_DEST nh ng gói tin có a ch ngu n b ng
b1.b2.b3.b4 c b t và nh ng gói tin có a ch ích b ng
Ch ng 5: Phân tích và thi t k PacketCap
Mb1, mb2, mb3,mb4 là 4 thành ph n a a ch IP a máy tính ch y h qu n tr s d li u mà ta mu n l u thông tin b t c vào ó. NumberPacket xác nh s gói tin c n b t.
5.9.Thi t k giao di n PCManager( phiên n ch y trên Windows)
Mô th Tên i t ng Ki u i ng Ghi chú 1 IDC_STATIC Label IP 2
IDC_IPADDR_SOURCE IP Address Nh p IP c n filter 3
CboFilterIP Combobox L a ch n ki u filter theo IP 4
IDC_STATIC Label Port 5
IDC_SOURCEPORT Textbox Nh p port c n filter 6
Ch ng 5: Phân tích và thi t k PacketCap
7
IDC_STATIC Label Protocol 8
CboProtocol Combobox Ch n protocol c n filter 9
IDC_STATIC Label Thông báo nh p IP 10
IDC_IPADDR_MYSQL IP Address Ch n máy ch y MySQL 11
IDC_STATIC Label Number of packet 12
IDC_NUMBER Combo box
l ng packet c n b t 13
IDC_STATIC Label Server IP 14
IDC_IPADDR_SERVER Textbox Nh p a ch IP máy PCServer c n u khi n 15
IDC_STATUS Label Báo tình tr ng k t n i 16
BtnStart button B t u b t gói tin 17
BtnStop Button K t thúc vi c b t gói tin 18
BtnGetFilter Button L y thông tin filter hi n th i
19
BtnTermServer Button K t thúc liên k t v server 20
BtnConnect Button K t n i n ma1y server 21
BtnExit Button Thoát kh i ch ng trình
Ch ng 6: Cài t và th nghi m
Ch ng 6: Cài t và th nghi m
6.1. Cài t
Ph n PCServer c cài t trên môi tr ng Linux, PCManager c cài t trên 2 môi tr ng Linux và Windows.
• Môi tr ng cài t ng ng o Windows XP Professional o Linux Redhat 9.0 • Môi tr ng l p trình o C for Linux o Visual C++ 6.0
• Môi tr ng cài t th nghi m o PCServer: Linux Redhat 9.0
o PCManager: Windows XP Professional o PCManager: Linux Redhat 9.0
• Các ph n m m h tr
Ch ng 6: Cài t và th nghi m
6.2. Th nghi m
6.2.1. Mô hình th nghi m 1
Hình 6-1 Mô hình th nghi m 1
• Mô : PCServer và PCStore cùng ch y trên m t máy, PCManager và PCServer cùng trong m t LAN segment
• K t qu :
o PCManager k t n i vào PCServer thành công
o PCServer th c hi n t t t t các yêu c u do PCManager g i n
o PCServer ghi k t qu b t c vào c s d li u MySQL thành công.
Ch ng 6: Cài t và th nghi m
6.2.2. Mô hình th nghi m 2
Hình 6-2 Mô hình th nghi m 2
• Mô : PCServer và PCStore có th l a ch n ch y trên cùng 1 máy ho c 2 máy khác nhau.
• K t qu :
o PCManager k t n i vào PCServer thành công
o PCServer th c hi n t t t t các yêu c u do PCManager g i n
o PCServer ghi k t qu b t c vào c s d li u MySQL thành công.
Ch ng 6: Cài t và th nghi m
6.2.3. Mô hình th nghi m 3
Hình 6-3 Mô hình th nghi m 3
• Mô
PCServer và PCManager ch y trên 2 ng LAN khác nhau c n i qua 1 router.
• K t qu
Ch ng 7: T ng k t
Ch ng 7: T ng k t
7.1. K t lu n
7.1.1. K t qu t c
Sau khi th c hi n xong tài, chúng em ã thu c m t s k t qu :
• Tìm hi u c th vi n mã ngu n m libpcap và vi t c ng ng b t gói tin d a vào th vi n này. ây là b th vi n mã ngu n m h tr l p trình ng c p th p c s d ng r t nhi u trong các ph n m m h tr b t gói tin nh TcpDump, TCPFlow, Ethereal...
• Tìm hi u h qu n tr s d li u mã ngu n m MySQL.
• Tìm hi u v n l p trình socket, multithread trên môi tr ng Linux.
• Xây d ng c ng ng phân tán b t các gói tin ph c cho vi c phân tích thông tin ng.
7.1.2. n ch
• Ch a th b t gói tin ng trên nhi u card ng
• l ng protocol có th phân tích và trích c thông tin không nhi u
• Ch a h tr ch c n ng phân tích thông tin t nh ng d li u ã b t c.
Ch ng 7: T ng k t
7.2. H ng phát tri n
Trong t ng lai, ng ng PacketCap c phát tri n thêm nh ng ch c n ng m i và nâng c p ch c n ng hi n i ch a c t t.
• H tr b t các gói tin ng th i trên nhi u card ng
• ng thêm s l ng protocol mà ch ng trình có th phân tích và trích c thông tin.
• tr u thông tin b t c theo các nh ng a Ethereal, TcpDump..
Ph L c
PH L C H ng d n s d ng PacketCap
1.Ch ng trình PCServer
ch y ch ng trình Server n ch c n vào th c ch a ch ng trình server và gõ l nh ./pcserver thì ch ng trình c th c thi.
thoát kh i ch ng trình PCServer n có th dùng ch ng trình Client g i yêu c u k t thúc ch ng trình PCServer, ho c nh n t h p phím Ctrl-C trên console ang ch y PCserver.
2. Ch ng trình PCManager