Sau khi Client k院t n嘘i thành công v噂i PCServer, PCManager và PCServer u胤 trao 8鰻i các thông 8i羽p v噂i nhau. E映 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 e栄a PCManager, Serveru胤 g穎i tr違l運i k院t qu違th詠c hi羽n cho Client.
C医u trúc e栄a m厩i thông 8i羽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 8逢嬰c 8鵜nh ngh a b茨ng các h茨ng8吋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 8鵜nh ki吋u n丑c theo 8鵜a ch雨 IP, giá tr鵜 c栄a nó 8逢嬰c
8鵜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
n丑c các gói tin theo 8鵜a ch雨 IP, n院u IPFilterType khác 0 thì lúc 8ó
b1,b2,b3,b4 s胤 là 8鵜a ch雨 IP c亥n n丑c. B嘘n s嘘 nguyên nàyu胤 hình thành
8鵜a ch雨 IP theof衣ngb1.b2.b3.b4
SOURCE_FILTER l丑c theo 8鵜a ch雨 IP ngu欝n, các gói tin có8鵜a ch雨ngu欝n (n挨i g穎i) b茨ngb1.b2.b3.b4u胤 8逢嬰c b逸t n衣i.
DEST_FILTER l丑c theo 8鵜a ch雨 8ích, các gói tin có8鵜a ch雨 8ích (n挨i 8院n) b茨ngb1.b2.b3.b4 s胤 8逢嬰c b逸tn衣i.
PortFilterType xác 8鵜nh ki吋u n丑c theo Port e栄a 泳ng f映ng, giá tr鵜 c栄a nó8逢嬰c 8鵜nh ngh a nh逢 e栄a IPFilterType.
SOURCE_OR_DEST nh英ng gói tin có 8鵜a ch雨 ngu欝n ho員c 8ích b茨ngb1.b2.b3.b4u胤 8逢嬰c b逸t.
SOURCE_AND_DEST nh英ng gói tin có 8鵜a ch雨 ngu欝n b茨ng
b1.b2.b3.b4 u胤 8逢嬰c b逸t và nh英ng gói tin có 8鵜a ch雨 8ích b茨ng
b1.b2.b3.b4u胤 8逢嬰c b逸t.
T逢挨ng t詠 x挨í IPFilterType là PortFilterType
Protocol là giao th泳c c亥nn丑c, 0 có ngh a là không n丑c, 1 là l丑c theo TCP...
Ch逢挨ng 5: Phân tích và thi院t k院PacketCap
Mb1, mb2, mb3,mb4 là 4 thành ph亥n e栄a 8鵜a ch雨 IP e栄a máy tính ch衣y h羽 qu違n tr鵜 e挨 s荏d英li羽u mà ta mu嘘n l逢u thông tin b逸t 8逢嬰c vào 8ó. NumberPacket xác 8鵜nh s嘘 gói tin c亥n b逸t.
5.9.Thi院t k院giao di羽n PCManager( phiênd違n ch衣y trên Windows)
Môv違 U嘘 th泳 v詠 Tên 8嘘i t逢嬰ng Ki吋u 8嘘i v逢嬰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
U嘘 l逢嬰ng packet c亥n b逸t 13
IDC_STATIC Label Server IP 14
IDC_IPADDR_SERVER Textbox Nh壱p 8鵜a ch雨 IP máy PCServer c亥n 8k隠u khi吋n 15
IDC_STATUS Label Báo tình tr衣ng k院t n嘘i 16
BtnStart button B逸t 8亥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 8院n ma1y server 21
BtnExit Button Thoát kh臼i ch逢挨ng trình
Ch逢挨ng 6: Cài 8員t và th穎nghi羽m
Ch逢挨ng 6: Cài 8員t và th穎nghi羽m
6.1. Cài 8員t
Ph亥n PCServeru胤 8逢嬰c cài 8員t trên môi tr逢運ng Linux, PCManageru胤 8逢嬰c cài 8員t trêne違 2 môi tr逢運ng Linux và Windows.
• Môi tr逢運ng cài 8員t泳ngf映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 8員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 8員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ô v違: 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 e違 các yêu c亥u do PCManager g穎i 8院n
o PCServer ghi k院t qu違 b逸t 8逢嬰c vào c挨 s荏 d英 li羽u MySQL thành công.
Ch逢挨ng 6: Cài 8員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ô v違: 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 e違 các yêu c亥u do PCManager g穎i 8院n
o PCServer ghi k院t qu違 b逸t 8逢嬰c vào c挨 s荏 d英 li羽u MySQL thành công.
Ch逢挨ng 6: Cài 8員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ôv違
PCServer và PCManager ch衣y trên 2 o衣ng LAN khác nhau
8逢嬰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違 8衣t 8逢嬰c
Sau khi th詠c hi羽n xong 8隠 tài, chúng em 8ã thu 8逢嬰c m瓜t s嘘 k院t qu違:
• Tìm hi吋u 8逢嬰c th逢 vi羽n mã ngu欝n m荏 libpcap và vi院t 8逢嬰c 泳ng
f映ng b逸t gói tin d詠a vào th逢 vi羽n này. Aây là b瓜 th逢 vi羽n mã ngu欝n m荏h鰻tr嬰 l壱p trìnho衣ng c医p th医p 8逢嬰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鵜 e挨 s荏 d英li羽u mã ngu欝n m荏 MySQL.
• Tìm hi吋u v医n 8隠 l壱p trình socket, multithread trên môi tr逢運ng Linux.
• Xây d詠ng 8逢嬰c 泳ng f映ng phân tán b逸t các gói tin ph映c x映 cho vi羽c phân tích thông tin o衣ng.
7.1.2.J衣n ch院
• Ch逢a th吋b逸t gói tin 8欝ng trên nhi隠u cardo衣ng
• U嘘 l逢嬰ng protocol có th吋phân tích và tríchn丑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 8ã b逸t 8逢嬰c.
Ch逢挨ng 7: T鰻ng k院t 7.2. H逢噂ng phát tri吋n
Trong t逢挨ng lai, 泳ng f映ng PacketCap u胤 8逢嬰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羽nv衣i ch逢a 8逢嬰c t嘘t.
• H鰻tr嬰 b逸t các gói tin 8欝ng th運i trên nhi隠u cardo衣ng
• V<ng thêm s嘘 l逢嬰ng protocol mà ch逢挨ng trình có th吋 phân tích và tríchn丑c thông tin.
• J厩 tr嬰 n逢u thông tin b逸t 8逢嬰c theo các 8鵜nh f衣ng e栄a Ethereal, TcpDump..
Ph映 L映c
PH影 L影C H逢噂ng d磯n s穎 d映ng PacketCap
1.Ch逢挨ng trình PCServer
A吋 ch衣y ch逢挨ng trình Server d衣n ch雨 c亥n vào th逢 o映c ch泳a ch逢挨ng trình server và gõ l羽nh ./pcserver thì ch逢挨ng trìnhu胤 8逢嬰c th詠c thi.
A吋 thoát kh臼i ch逢挨ng trình PCServer d衣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 8ang ch衣y PCserver.
2. Ch逢挨ng trình PCManager