Tài liệu Hướng dẫn thực hành môn Mạng máy tính - Bài 3: Tìm hiểu công cụ bắt gói tin Wireshark

CTT105 Mng Máy Tính  
Console  
TÌM HIU CÔNG CBT GÓI TIN WIRESHARK  
I. Mc tiêu :  
Bài hướng dn giúp sinh viên có th:  
Sdng công cbt gói tin Wireshark.  
Biết cu trúc gói tin mt sgiao thức cơ bản trong mng máy tính  
II. Wireshark  
II.1.Gii thiu  
Wireshark là mt phn mm mã ngun mdùng để bt và phân tích các gói  
tin lưu thông qua card mạng ca máy tính. Phn mm này có thsdng trên  
nhiu nn tảng khác nhau như Linux, windows, Mac OS X, Solaris …  
Tên nguyên bn ca phn mềm Wireshark là Ethereal, vào tháng 5 năm  
2006 dự án được chuyn tên thành Wireshark.  
Phn mm Wireshark giúp :  
Ngưi qun trhthng phân tích và sa cha hthng.  
Ngưi phát triển chương trình xây dựng các ng dng.  
Sinh viên tìm hiu hoạt động ca các giao thc mng.  
Các tính năng chính của Wireshark gm :  
Bt các gói tin đi qua một card mng.  
Lit kê mt cách chi tiết các gói tin bắt được.  
Lưu trvà mli các thông tin bắt được dưới dng file.  
Tiến hành lc các gói tin bắt được dưới nhiu tiêu chun khác nhau.  
To ra các biểu đồ thng kê các gói tin qua card mng.  
Và nhiều các tính năng khác  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 1  
CTT105 Mng Máy Tính  
Console  
II.2.Cách cài đặt  
1. Gói cài đặt có thể được download ti http://www.wireshark.org.  
2. Cài đt tfile va download v.  
Trên windows quá trình này din ra tự động và gồm bước  
a. Cài đt bộ thư viện WinPcap là mt bộ thư viện trên windows cung  
cp chức năng bắt các gói tin trên card mng.  
b. Cài đt phn mm wireshark shoạt động da trên bộ thư viện này.  
II.3.Cách bt gói tin thông qua mt card mng  
Khởi động chương trình Wireshark.  
Lưu ý rằng wireshark không bt hết các gói tin ca máy mà chbt các gói  
tin thông qua mt card mạng được chọn, nên đầu tiên là ta phi chn card mng  
mun lng nghe. Chn Menu Capture Interface hay phím tt là Ctr+I :  
Ở đây liệt kê tt ccác card mng mà máy tính có, ta chn mt card mng  
mun lng nghe và khởi động quá trình Capture .  
Thping 8.8.8.8 và ta nhn được kết qubắt gói tin nsau :  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 2  
CTT105 Mng Máy Tính  
Console  
Menu  
Lnh  
Danh  
sách  
các gói  
tin  
Thông tin  
gói tin  
theo cu  
trúc ca  
giao thc  
Thông  
tin gói  
tin dng  
byte  
Sau khi thu thập đủ các dliu cn, ta sdng quá trình lng nghe ti mt  
card mng bng cách vào menu Capture Stop  
II.4.Lc các gói tin sau khi Capture  
Trong quá trình làm vic thc tế thường có rt nhiu các loi gói tin khác nhau  
thông qua card mng mà ta khó có thkim soát hết được. Trong khi đó ta thường  
chmun tiến hành thu thp dliu và phân tích mt sloi gói tin nhất định.  
Chính vì thế Wireshark cung cấp cho người dùng khả năng lọc các gói tin theo các  
tiêu chí cth.  
Wireshark cung cấp cho người dùng 2 phương pháp để lc gói tin vào 2 thời điểm  
khác nhau ca quá trình bt gói tin. Tuy nhiên, do 2 thời điểm lc gói tin là khác  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 3  
CTT105 Mng Máy Tính  
Console  
nhau và do 2 thành phần khác nhau đứng ra lọc gói tin là WinPCap và chương  
trình Wireshark nên ta sthấy được skhác nhau trong ngôn ngmô tca 2 chc  
năng này. Sau đây ta sẽ đi tìm hiểu cả 2 phương pháp.  
II.4.1. Lc gói tin ngay khi bt:  
Khi mhp thoi chn card mng, thay vì bm Start để bắt đầu, ta tiên nhn  
nút Options để tùy khởi động vic tùy chn cho vic bt gói tin.  
Hp thoi Capture Options shin ra :  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 4  
CTT105 Mng Máy Tính  
Console  
Hp thoi này cho phép ta tùy chnh rt nhiều các tính năng trong quá trình  
bắt gói tin như chức năng lọc các gói tin, chức năng hiển thcác gói, chức năng lưu  
trcác gói tin và chức năng hẹn gitắt chương trình.  
Ở đây chúng ta quan tâm đến chức năng lọc các gói tin bắt được. Vic lc  
các gói tin bắt được sẽ được thc hin theo mô tả mà người dùng đánh vào ở mc  
capture Filter. Các gói tin sẽ được lc theo tiêu chí được mô tvà chnhng gói tin  
tha các tiêu chí này mới được lưu lại để xem xét.  
Phương pháp mô tcác gói tin :  
Vì vic bt các gói tin phần này được thc hiện dưới shi trbộ thư viện  
WinPcap, nên ngôn ngmô tả ở đây được sdng là ngôn ngmô tca  
WinPcap.  
Bn có thtìm thy nhiu ví dụ ở http://wiki.wireshark.org/CaptureFilters .  
Sau đây sẽ trình bày một cách khái quát phương pháp mô tả này.  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 5  
CTT105 Mng Máy Tính  
Console  
Câu lnh mô tlà skết hp ca nhiu câu lênh mô tả con và được ni vi  
nhau bng [and|or], ta có thphủ định câu lênh mô tcon bằng cách đặt chnot  
trước nó.  
[not] Mô T[and|or] [not] Mô Tả …  
Ví d:  
+Lc các gói tin Telnet (port 23) tmáy ch10.0.0.5  
tcp port 23 and host 10.0.0.5  
Các mô tthành phn là mt trong nhng mô tsau :  
[src|dst] host <host>  
Là mt thành phn cho phép bn lọc các gói tin theo địa chIP hay theo tên  
ca nguồn hay đích. Bạn có thchỉ rõ địa chnguồn hay đích bằng cách đặt các  
tham sphụ ở đu là src|dst . Nếu trường này không được chra, vmặc định các  
gói tin có địa chnguồn hay đích phù hợp điều kin sẽ được nhn.  
ether [src|dst] host <ehost>  
Thành phn này cho phép bạn filter trên địa chEthernet ca ngun hay  
đích. Tương tự như thành phần trên bn có thchrõ loại đa chmà bn quan  
tâm bng tham sphlà [src|dst].  
[src|dst] net <net> [{mask <mask>}|{len <len>}]  
Thành phn này cho phép bn tiến hành lọc các gói tin theo địa chnetwork  
ca mt gói tin. Bn có ththêm các thành phn phụ như src|dst vào để nhn mnh  
rng bạn quan tâm đến địa chnguồn hay đích. Nếu không thêm trường này vào thì  
các gói tin có địa chngun hoặc đích tha yêu cu sẽ được lưu lại.  
[tcp|udp] [src|dst] port <port>  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 6  
CTT105 Mng Máy Tính  
Console  
Cho phép bn lc các gói tin theo TCP và UDP port. Bn có ththêm các  
tham ssrc|dst tcp|udp cho phép bn nhn mnh rằng quan tâm đến địa chỉ  
port nguồn hay đích, UDP hay TCP. Chú ý rằng ttcp|udp phi xut hiện trước  
src|dst.  
Nếu các tham số đó không được sdng, gói tin sẽ được la chn trên c2  
giao thức là TCP và UDP khi mà địa chvà port ca gói tin thỏa mãn điều kiện đề  
ra.  
less|greater <length>  
Thành phn này cho phép bn lc các gói tin có chiu dài nhỏ hơn, hay bằng  
hoc lớn hơn một độ dài cho trước.  
ip|ether proto <protocol>  
Thành phn này cho phép bn lc các gói tin mt sgiao thc nhất định ở  
ctng Ethernet hay tng IP.  
ether|ip broadcast|multicast  
Cho phép bn tiến hành lc các gói tin ctng Ethernet hay IP vi  
broadcasts or multicasts.  
<expr> relop <expr>  
Cho phép bn to ra một điều kin lc gói tin phc tp bng cách nhn mnh  
bng cách chra mt byte hay mt khong bytes ca gói tin. Tham kho chi tiết ti  
II.4.2. Lc các gói tin sau khi bt:  
Wireshark cung cp mt cách lc các gói tin khác sau khi bắt và lưu trữ nó  
mt cách khá hiu quả và đơn giản hơn. Ngôn ngữ mô tả ở đây đưc Wireshark  
xây dng một cách đơn giản hơn vì thế cho phép bn có thto ra những điều kin  
lc gói tin chính xác và hiu quả hơn. Bạn có thso sánh giá trcủa các trường ca  
mt gói tin thông qua các biu thc mt cách trc quan. Bn có thtiến hành lc  
các gói tin theo :  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 7  
CTT105 Mng Máy Tính  
Console  
Loi giao thc.  
Sxut hin ca một trường  
Giá trca một trường  
Và nhiu các giá trkhác.  
VD :  
Ta tiến hành lc các gói tin DNS tcác gói tin bắt được bng cách nhp chữ  
DNS vào trường Filter ca ca shin th:  
Để xây dng tt các miêu tlc gói tin bn nên tham kho chi tiết ti  
http://wiki.wireshark.org/DisplayFilters . Sau đây sẽ trình bày một cách sơ lược  
cách xây dng biu thc lc gói tin.  
Phương pháp mô tcác gói tin :  
Mọi trường trong khung thông tin ca Packet mà Wireshark thhiện đều có  
thsdng trong ô Filter.  
Ví d: nếu Filter là tcp thì Wireshark stiến hành lọc các gói tin có trường  
này.  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 8  
CTT105 Mng Máy Tính  
Console  
Mt bảng danh sách đầy đủ các trường có thtiến hành lọc được thhin ở  
Menu InternalsSupported Protocals  
Tiến hành so sánh các trường :  
Ta có thtiến hành so sánh các trường ca mt gói tin theo các giá trcth.  
Bn có thsdng tviết tt cho tiếng anh hay sdng các phép so sánh ca ngôn  
ngữ C đthhin vic so sánh. Bng các phép so sánh có giá trị được lit kê bên  
dưới:  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 9  
CTT105 Mng Máy Tính  
Console  
English  
C
Định nghĩa và ví dụ  
Bằng  
==  
!=  
>
Eq  
Ne  
Gt  
Lt  
ip.src==10.0.0.5  
Khác  
ip.src!=10.0.0.5  
Lớn hơn  
frame.len > 10  
Bé hơn  
<
frame.len < 128  
Lớn hơn hay bằng  
>=  
<=  
Ge  
Le  
frame.len ge 0x100  
Bé hơn hay bằng  
frame.len <= 0x20  
Bng sau thhiện các trường mà bn có thtiến hành so sánh cũng như cách  
sdng chúng :  
Type  
Example  
Ta có thể tiến hành so sánh các giá trị số với với trên  
hệ 10 hay hệ 16  
Giá trị số không dấu (8-  
bit, 16-bit, 24-bit, 32-  
bit)  
ip.len le 1500  
ip.len le 02734  
ip.len le 0x436  
Nhấn mạnh một trường nào đó của gói tin có tồn tại hay không. Nếu  
trường đó tồn tại, giá trị trả ra là True và gói tin thỏa điều kiện lọc.  
Boolean  
VD : Lọc các gói tin có cờ SYN của giao thức TCP  
tcp.flags.syn  
Dấu ngăn cách sử dụng ở đây có thể là dấu hai chấm (:), dấu chấm (.),  
dấu gạch ngang (-).  
Địa chỉ Ethernet (6  
bytes)  
eth.dst == ff:ff:ff:ff:ff:ff  
eth.dst == ff-ff-ff-ff-ff-ff  
eth.dst == ffff.ffff.ffff  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 10  
CTT105 Mng Máy Tính  
Console  
Type  
Example  
ip.addr == 192.168.0.1  
IPv4  
Tiến hành lọc IP từ một miền xác định :  
ip.addr == 129.111.0.0/16  
ipv6.addr == ::1  
IPv6  
IPX  
ipx.addr == 00000000.ffffffffffff  
Chuỗi  
http.request.uri == "http://www.wireshark.org/"  
Các phép liên kết gia các biu thc :  
English C-  
Định nghĩa và ví dụ  
ip.src==10.0.0.5 and tcp.flags.fin  
and  
or  
&&  
||  
ip.scr==10.0.0.5 or ip.src==192.1.1.1  
tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29  
xor  
not  
^^  
!
not llc  
Phân đoạn  
Wireshark cho phép bạn chia các tham số thành các đoạn để so sánh với một cách  
khá phức tạp. Sau trường so sánh, bạn có thể đặt dấu [] và chỉ ra khoảng mà bạn  
muốn sử dụng để so sánh.  
VD:  
[n:m] giá trị so sánh lấy từ vị trí n và lấy m giá trị  
eth.src[0:3] == 00:00:83]  
[...]  
[n-m] Lấy từ vị trí thứ n đến vị trí thứ m  
eth.src[1-2] == 00:83  
[:m] lấy các giá trị từ vị trí bắt đầu cho đến vị trí thứ m. điều này tương đương với  
[0:m]  
eth.src[:4] == 00:00:83:00  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 11  
CTT105 Mng Máy Tính  
Console  
English C-  
Định nghĩa và ví dụ  
[n:] Lấy các giá trị từ điểm n trở về sau.  
eth.src[4:] == 20:20  
[n] lấy chính xác giá trị tại vị trí thứ n. Tương đương với [n:1]  
eth.src[2] == 83  
Wireshark cho phép bạn nối các giá trị này lại với nhau bằng dấu phẩy ngăn cách  
giữa chúng.  
eth.src[0:3,1-2,:4,4:,2] ==  
00:00:83:00:83:00:00:83:00:20:20:83  
III. Cu trúc các gói tin thông dng  
III.1.Gói tin TCP:  
.
Chi tiết tham kho ti  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 12  
CTT105 Mng Máy Tính  
Console  
III.2.Gói tin UDP  
III.3.Gói tin IP  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 13  
CTT105 Mng Máy Tính  
Console  
III.4.Gói tin ICMP  
Chi tiết tham kho ti  
III.5.ARP Packet:  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 14  
CTT105 Mng Máy Tính  
Console  
III.6. Gói tin DHCP:  
Chi tiết tham kho ti  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 15  
CTT105 Mng Máy Tính  
Console  
III.7. Gói tin DNS:  
Bmôn MMT&VT | Khoa CNTT | ĐH KHTN TP HCM | Tháng 9/2012  
Trang 16  
pdf 16 trang myanh 14540
Bạn đang xem tài liệu "Tài liệu Hướng dẫn thực hành môn Mạng máy tính - Bài 3: Tìm hiểu công cụ bắt gói tin Wireshark", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftai_lieu_huong_dan_thuc_hanh_mon_mang_may_tinh_bai_3_tim_hie.pdf