You are on page 1of 15

Contents

1. Giới thiệu...............................................................................................................................................2
1.1 Wireshark là gì?.............................................................................................................................2
1.2 Mục đích sử dụng Wireshark........................................................................................................2
1.3 Chức năng.......................................................................................................................................2
2. Giao diện người dùng............................................................................................................................2
2.1 Thanh menu....................................................................................................................................3
2.2 Thanh công cụ chính.......................................................................................................................4
2.3 Thanh lọc (Filter Toolbar)..............................................................................................................5
2.4 Ô liệt kê gói tin (Packet List Pane).................................................................................................5
2.5 Ô chi tiết gói tin (packet detail pane).............................................................................................6
2.6 Ô mã nhị phân gói tin......................................................................................................................6
2.7 Thanh trạng thái (Statusbar)..........................................................................................................6
3. Sử dụng Wireshark để bắt và phân tích gói tin..................................................................................6
3.1 Cách bắt gói tin.................................................................................................................................6
3.2 Phân tích gói tin...............................................................................................................................8
4. Phân tích gói tin SNMP.......................................................................................................................10
4.1 Cấu trúc của PDU GETQUEST.....................................................................................................10
4.2 Cấu trúc của PDU GetResponse.....................................................................................................11
4.3 Cấu trúc của PDU GetNextRequest...............................................................................................12
4.4 Cấu trúc của PDU SetRequest........................................................................................................13
4.5 Cấu trúc của PDU Trap..................................................................................................................14

Page 1 of 15
1. Giới thiệu.
1.1 Wireshark là gì?
Wireshark là một phần mềm dùng để phân tích các gói tin trong mạng. Phân tích gói
tin trên mạng là cố gắng bắt các gói tin trên mạng và cố gắng hiển thị dữ liệu gói tin
chi tiết nhất có thể.
Nó giống như một thiết bị đo lường được dùng để kiểm tra những gì đang xảy ra
trong cáp mạng, giống như một vôn-kế được thợ điện dùng để kiểm tra những gì
đang xảy ra trong dây điện.
Trong quá khứ, những công cụ có chức năng như vậy thường rất đắt tiền, độc quyền
hoặc cả hai.
Wireshark có lẽ là một trong những mã nguồn mở phân tích gói tin trong mạng tốt
nhất hiện nay.
1.2 Mục đích sử dụng Wireshark.
Dưới đây là một số mục đích khi sử dụng wireshark:
- Nhân viên quản trị mạng dùng Wireshark để khắc phục sự cố các vấn đề
mạng.
- Kỹ sư an ninh mạng dùng Wireshark để kiểm tra vấn đề an ninh mạng.
- Các nhà phát triển dùng Wireshark để gỡ các lỗi khi triển khai giao thức
- Người sử dụng dùng nó để tìm hiểu lõi của giao thức mạng.
Bên cạnh các chức năng trên, Wireshark còn có thể hữu ích trong nhiều tình huống
khác.
1.3 Chức năng.
Sau đây là một số chức năng mà Wireshark cung cấp:
- Dùng cho hệ điều hành UNIX và Windows.
- Bắt gói dữ liệu trực tiếp từ giao diện mạng.
- Hiển thị nội dung gói tin rất chi tiết.
- Mở và lưu dữ liệu gói tin bị bắt.
- Nhập và xuất dữ liệu gói tin và bắt gói tin từ nhiều chương trình khác nhau.
- Bộ lọc gói tin trên nhiều tiêu chí.
- Tìm kiếm các gói tin trên nhiều tiêu chí.
- Nhiều màu sắc hiển thị dựa trên loại gói tin.
Và nhiều hơn nữa….
2. Giao diện người dùng.
Dưới đây là giao diện tổng quát của chương trình.

Page 2 of 15
Hình 1: Giao diện tổng quát của chương trình.
2.1 Thanh menu.

File: chứa các lệnh mở hay kết hợp các file dữ liệu thu thập, lệnh lưu/ in/ kết xuất
toàn bộ hoặc một phần file dữ liệu thu thập, và lệnh đóng chương trình Wireshark.
Edit: chứa các lệnh tìm gói tin, tham chiếu thời gian hoặc đánh dấu một hay nhiều
gói tin, thiết lập các tùy chọn.
View: chứa lệnh điều khiển việc hiển thị dữ liệu thu được, bao gồm việc tô màu các
gói tin, phóng to, biểu diễn gói tin trong cửa sổ riêng, mở rộng hoặc thu hẹp cây chi
tiết gói tin…
Go: chứa các mục để đi đến một gói tin cụ thể.
Capture: bắt đầu hoặc kết thúc việc bắt gói tin, thiết lập bộ lọc gói tin.

Page 3 of 15
Analyze: chứa các mục để thao tác các bộ lọc hiển thị, kích hoạt hoặc vô hiệu hóa
mổ xẻ các giao thức, cấu hình người dùng chỉ định giải mã và theo một dòng TCP.
Statistics: chứa các mục để hiển thị các cửa sổ thống kê khác nhau, bao gồm 1 bản
tóm tắt của gói tin đã bị bắt, hiển thị thống kê phân cấp và nhiều hơn.
Telephony: chứa các mục để hiển thị cửa sổ thống kê liên quan đến thoại, bao gồm
phân tích đường truyền, lưu lượng, hiển thị giao thức thông kê phân cấp.
Tools: chứa các công cụ có sẵn trong Wireshark.
Internals: chứa các mục để hiển thị thông tin Wireshark.
Help: chứa mục để giúp đỡ người dùng.
2.2 Thanh công cụ chính.
Thanh công cụ chính chứa các lệnh giúp người sử dụng nhanh chóng tìm thấy các
lệnh cần thiết.

Toolbar Toolbar Item Coresponding Description


Icon Menu Item
Interfaces... Capture/ Mục này trả về hộp thoại
Interfaces... Capture Interfaces List
Options... Capture/Options... Mục này trả về hộp thoại
Capture Options
Start Capture/Start Bắt đầu bắt gói tin
Stop Capture/Stop Dừng bắt gói tin
Restart Capture/Restart Dừng việc bắt gói tin và khởi
động lại cho thuận tiện.
Open... File/Open... Mở hộp thoại Open và tải file
capture để xem.
Save File/Save As... Save file capture dang chạy.
Close File/Close Đóng capture hiện tại.
Reload View/Reload Tải lại lần nữa file capture.
Find File/Print... Mở một hộp thoại để tìm một
Packet... gói tin.
Go Back Edit/Find Packet... Nhảy trở lại lịch sử gói tin.
Go Forward Go/Go Forward Nhảy về phía trước trong lịch
sử gói tin.

Page 4 of 15
Go to Go/Go to Packet... Mở hộp thoại cho phép chỉ
Packet... định đến một số gói tin.
Go To First Go/First Packet Nhảy đến gói tin đầu tiên của
Packet file capture.
Go To Last Go/Last Packet Nhảy đến gói tin cuối cùng của
Packet file capture.
Colorize View/Colorize Có hoặc không có màu cho
danh sách gói tin.
Auto Scroll View/Auto Scroll Cuộn hay không cuộn trong
in in Live Capture quá trình bắt gói tin.
Live Capture
Zoom In View/Zoom In Phóng to dữ liệu gói tin.
Zoom Out View/Zoom Out Thu nhỏ dữ liệu gói tin.
Normal Size View/Normal Size Thiết lập kích thước mặc định
100%
Resize View/Resize Thay đổi kích thước cột.
Columns Columns
Capture Capture/Capture Mở hộp thoại cho phép thiết
Filters... Filters... lập lọc gói tin.
Display Analyze/Display Mở hộp thoại cho phép thiết
Filters... Filters... lập và chỉnh sửa lọc gói tin.
Coloring View/Coloring Mở hộp thoại cho phép thiết
Rules... Rules... lập màu cho gói tin.
Preferences.. Edit/Preferences Mở hộp thoại cho phép thiết
. lập ưu tiên dối với nhiều thông
số.
Help Help/Contents Giúp đỡ người dùng.
2.3 Thanh lọc (Filter Toolbar).

Thanh lọc được sử dụng để tìm kiếm gói tin mọt cách nhanh chóng bằng cách viết
loại gói tin vào ô Filter.

Page 5 of 15
2.4 Ô liệt kê gói tin (Packet List Pane).

Ô liệt kê gói tin hiển thị tóm tắt về mỗi gói tin bắt được.
Mỗi dòng trong danh sách ứng với một gói tin trong file dữ liệu thu thập. Nếu chọn
1 dòng trong ô này, ô Packet Details và Packet Bytes sẽ hiển thị thông tin chi tiết về
gói tin tương ứng, khi phân tích một gói tin, Wireshark sẽ lấy thông tin từ bộ phân
tích giao thức và dắt vào các cột. Vì thông tin về giao thức ở tầng cao sẽ ghi đè lên
thông tin của giao thức ở tầng thấp nên sẽ chỉ nhìn thấy thông tin giao thức tầng cao
nhất có thể.
2.5 Ô chi tiết gói tin (packet detail pane).

Ô chi tiết gói tin hiển thị chi tiết thông tin gói tin được chọn ở ô liệt kê gói tin.
2.6 Ô mã nhị phân gói tin.

Ô mã nhị phân hiển thị dữ liệu biểu diễn dưới dạng cơ số 16 của gói tin dược chọn.
Cột bên trái ghi vị trí tương đối của dữ liệu trong gói tin , cột ở giữa là dữ liệu được
biểu diễn dưới dạng cơ số 16 và cột bên phải là ký tự ASCII tương ứng hoặc là dấu
“.” nếu ký tự không biểu diễn được.
2.7 Thanh trạng thái (Statusbar).

Thanh trạng thái biểu diễn một số thông tin thêm về trạng thái hiện tại của chương
trình và các dữ liệu thu thập được. thông thường phần bên trái sẽ hiển thị thông tin

Page 6 of 15
liên quan đến ngữ cảnh (tên, kích thước của file, thời gian thực hiện), trong khi phần
bên phải hiển thị số lượng gói tin hiện đã thu thập được.
3. Sử dụng Wireshark để bắt và phân tích gói tin.
3.1 Cách bắt gói tin.
Sau khi cài đặt, khởi động chương trình và chọn thành phần trong interface để bắt
đầu hoạt động. ví dụ nếu muốn giám sát lưu lượng mạng qua mạng wireless thì chọn
card mạng wifi tương ứng. nhấn Capture Option để hiển thị nhiều tùy chọn khác.

Ngay sau đó chúng ta sẽ thấy các gói dữ liệu bắt đầu xuất hiện, Wireshark sẽ bắt
từng gói tin- package ra và vào hệ thống mạng. Nếu đang giám sát thông tin trên
Wireless trong chế độ Promiscuous thì sẽ thấy các gói dữ liệu khác trong toàn bộ hệ
thống.

Page 7 of 15
Nếu muốn dừng quá trình này thì ấn nút Stop trên thanh công cụ chính (Main
Toolbar).
Mỗi gói tin tương ứng với một Frame. Mỗi Frame sẽ có một màu sắc khác nhau
tương ứng với protocol của nó.
Ví dụ: SSDP: xanh lá cây, TCP: màu xám, UDP: xanh da trời, ICMP: màu tím…và
màu đen là gói TCP đang có vấn đề.
3.2 Phân tích gói tin.
Cách đơn giản nhất để sử dụng Filter sau đó nhấn enter. Ví dụ, nếu gõ TCP thì chỉ
thấy các gói tin TCP.

Page 8 of 15
Để kiểm tra thông tin gói tin ta chon một gói tin bất kỳ để kiểm tra các phần thông
tin cụ thể hơn.

Page 9 of 15
4. Phân tích gói tin SNMP.
4.1 Cấu trúc của PDU GETQUEST.

 Request-id : mã số của request. ID này là số ngẫu nhiên do manager tạo ra, agent
khi gửi bản tin GetResponse cho request nào thì nó phải gửi requestID giống như
lúc nhận.
 Giữa manager và agent có thể có nhiều request & reponse, một request và một
response là cùng một phiên trao đổi khi chúng có requestID giống nhau.
 Error-status : nếu = 0 là thực hiện thành công không có lỗi, nếu <> 0 là có lỗi xảy
ra và giá trị của nó mô tả mã lỗi. Trong bản tin GetRequest, GetNextRequest,
SetRequest thì
 error-status luôn = 0.
 Error-index : số thứ tự của objectid liên quan đến lỗi nếu có. Trong variable-
bindings có nhiều objectid, được đánh số từ 1 đến n, một bản tin GetRequest có
thể lấy cùng lúc nhiều object.
 Variable-bindings : danh sách các cặp [ObjectID – Value] cần lấy thông tin, trong
đó objectId là định danh của object cần lấy, còn value không mang giá trị. Khi
agent gửi bản tin trả lời thì nó sẽ copy lại bản tin này và điền vào value bằng giá trị
của object.

Dùng Wireshark để bắt gói tin ta sẽ thấy cấu trúc của một bản tin Getrequest như sau:

Page 10 of 15
Trong hình trên là cấu trúc một bản tin SNMP với PDU là GetRequest. Bao gồm các
thông tin :
 Version là v1, số 0 trong ngoặc là giá trị của trường version, nếu giá trị này là 0
nghĩa là version1.
 Community là “public”.
 Request-id = 2142061952.
 Error-status = 0, nghĩa là không có lỗi. Trong bản tin getresponse thì error-status
mới được dùng.
 Error-index = 0.
 Phần variable-bindings bao gồm 1 item, mỗi item là 1 cặp objectid-value.
 Objectid là .1.3.6.1.2.1.1.3.0, theo mib-2 thì đó là sysuptime.0
 Scalar instance index = 0, đây là chỉ số index của sysUptime. Do một thiết bị chỉ
có một khái niệm
 sysUptime nên index là 0 (sysUptime.0). Nếu bạn request ifDescr chẳng hạn thì
mỗi interface sẽ có một
 description khác nhau và sẽ có index khác nhau.
 Value = unSpecified. Do bản tin là GetRequest nên value sẽ không mang giá trị,
giá trị sẽ được ghi vào
 và trả về trong bản tin GetResponse.
4.2 Cấu trúc của PDU GetResponse.
 Request-id : mã số của request. ID này phải giống với request-id của bản tin
GetRequest trước đó.
 Error-status : mang một trong các giá trị noError(0), tooBig(1), noSuchName(2),
badValue(3), readOnly(4), genErr(5). Nếu agent lấy thông tin để trả lời request
thành công thì error-status là noError(0).
Page 11 of 15
 Objectid : định danh của object được trả về. Nếu trước đó là GetRequest thì
objectid sẽ giống với objectid trong bản tin request, nếu trước đó là
GetNextRequest thì objectid sẽ là định danh của object nằm sau (nằm sau trong
mib) objectid của request.
Hình sau là bản tin trả lời cho GetRequest sysUpTime ở trên, với giá trị trả về là
109852988 (centi giây).

4.3 Cấu trúc của PDU GetNextRequest


Cấu trúc GetNextRequest giống với GetRequest, chỉ khác ở byte chỉ ra bản tin là
GetNextRequest PDU.
Hình sau là bản tin GetNextRequest với objectid là sysContact, sau đó agent sẽ gửi bản
tin GetReponse trả lời với objectid là sysName, vì sysName nằm sau sysContact trong
mib. Chú ý request-id là giống nhau.

Page 12 of 15
4.4 Cấu trúc của PDU SetRequest
Cấu trúc SetRequest cũng giống với GetRequest, objectid-value chỉ ra đối tượng và giá trị
cần set.
Hình sau là bản tin SetRequest đặt lại tên của thiết bị là “Cisco2950”.

Page 13 of 15
4.5 Cấu trúc của PDU Trap.

Cấu trúc của bản tin trap của SNMPv1 như sau :
 Enterprise : kiểu của object gửi trap. Đây là một OID giúp nhận dạng thiết bị gửi
trap là thiết bị gì; nhận dạng chi tiết đến hãng sản xuất, chủng loại, model. OID
này bao gồm một chỉ số
 doanh nghiệp (enterprise number) và chỉ số id của thiết bị của hãng do hãng tự
định nghĩa.
 Agent address : địa chỉ IP của nguồn sinh ra trap. Có thể bạn sẽ thắc mắc tại sao
lại có IP của nguồn sinh ra trap trong khi bản tin IP chứa gói SNMP đã có địa chỉ
nguồn. Giả sử mô hình giám sát của bạn như sau : tất cả trap sender được cấu hình
để gửi trap đến một trap receiver trung gian, gọi là trap
 relay, sau đó trap relay mới gửi đến nhiều trap receiver cùng lúc; thì lúc này bản
tin trap nhận được tại trap receiver sẽ có IP là của trap relay, trong khi IP của
nguồn phát sinh trap thực sự nằm trong agent address.
 Generic-trap : kiểu của các loại trap generic.
 Specific-trap : kiểu của các loại trap do người dùng tự định nghĩa.
 Time-stamp : thời gian tính từ lúc thiết bị được khởi động đến lúc gửi bản tin trap,
tính bằng centi giây.
 Variable-bindings : các cặp objectID – value mô tả các object có liên quan đến
trap.

Page 14 of 15
Hình sau là bản tin trap thông báo interface FastEthernet0/21 đã UP.

 Enterprise = .1.3.6.1.4.1.9.1.324, đây là định danh của thiết bị Cisco switch


Catalyst 2950 (.9.1.324)
 Agent-addr = 192.168.47.253
 Generic-trap = 3, cho biết đây là bản tin trap kiểu generic, giá trị 3 nghĩa là
linkUp.
 Specific-trap = 0, do đây là trap kiểu generic nên không sử dụng đến specific.
 Time-stamp = 173729742.
 Variable-bindings gồm 4 item, chỉ ra 4 cặp objectid-value, gồm : ifIndex=21,
ifDescr=“FastEthernet0/21”, ifType=6, và một object riêng của Cisco có
value=7570 (2 ký tự hexa 0x750x70 là chữ “up”).

Page 15 of 15

You might also like