TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
KHOA CÔNG NGHỆ THÔNG TIN
@&?
BÀI TẬP LỚN
THỰC HÀNH MẠNG MÁY TÍNH
ĐỀ TÀI:
TÌM HIỂU PHẦN MỀM WIRESHARK
Giáo viên hướng dẫn : Nguyễn Duy Tân
Sinh viên thực hiện : Hoàng Lệ Chi
Lớp : TK6LC_1
HƯNG YÊN 5-2009
Tìm hiểu về Wireshark
ĐỀ TÀI: TÌM HIỂU VỀ WIRESHARK
I. Giới thiệu WireShark
WireShark có một bề dầy lịch sử. Gerald Combs là người đầu tiên phát triển phần
mềm này. Phiên bản đầu tiên được gọi là Ethereal được phát hành năm 1998. Tám
năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ công việc hiện tại để
theo đuổi một cơ hội nghề nghiệp khác. Thật không may, tại thời điểm đó, ông
không thể đạt được thoả thuận với công ty đã thuê ông về việc bản quyền của
thương hiệu Ethereal. Thay vào đó, Combs và phần còn lại của đội phát triển đã
xây dựng một thương hiệu mới cho sản phẩm “Ethereal” vào năm 2006, dự án tên
là WireShark.
WireShark đã phát triển mạnh mẽ và đến nay, nhóm phát triển cho đến nay đã lên
tới 500 cộng tác viên. Sản phẩm đã tồn tại dưới cái tên Ethereal không được phát
triển thêm.
Wireshark là công cụ dùng để phân tích các giao thức của mạng. Wireshark
cho phép bạn xem được chi tiết các giao thức mạng hiện có, bắt các gói tin
và phân tích offline chúng, phân tích VoIP. Dữ liệu có thể bắt được thông qua
giao diện đồ hoạ hoặc qua TTY-mode của tiện ích TShark. Wireshark có thể đọc/
ghi nhiều dạng file như tcpdump (libpcap), Catapult DCT2000, Cisco Secure IDS
iplog, Microsoft Network Monitor, Network General Sniffer®, … Dữ liệu nén
Hệ điều hành hỗ trợ Wireshark: Wireshark hỗ trợ hầu hết các loại hệ điều hành
hiện nay.
2. Một số tính năng nâng cao của Wireshark
•
Name Resolution
Dữ liệu truyền trong mạng thông qua một vài hệ thống địa chỉ, các địa chỉ này
thường dài và khó nhớ (Ví dụ: MAC). Phân giải điạch chỉ là quá trình mà một giao
thức sử dụng để chuyển đổi một địa chỉ loại này thành một địa chỉ loại khác đơn
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
giản hơn. Chúng ta có thể tiết kiệm thời gian bằng cách sử dụng một vài công cụ
phân giải địa chỉ để file dữ liệu ta bắt được dễ đọc hơn. Ví dụ như là chúng ta có
thể sử dụng phân giải tên DNS để giúp định danh tên của một máy tính mà ta đang
có gắng xác định như là nguồn của các gói cụ thể.
Các kiểu công cụ phân giải tên trong Wireshark: có 3 loại
Ø
MAC Name Resolution: phân giải địa chỉ MAC tầng 2 sang địa chỉ IP
tầng 3. Nếu việc phân giải này lỗi, Wireshark sẽ chuyển 3 byte đầu tiên
của địa chỉ MAC sang tên hãng sản xuất đã được IEEE đặc tả, ví dụ:
Netgear_01:02:03.
Ø
Network Name Resolution: chuyển đổi địa chỉ tầng 3 sang một tên DNS dễ
đọc như là MarketingPC1.
Ø
Transport Name Resolution: chuyển đổi một cổng sang một tên dịch vụ
tương ứng với nó, ví dụ: cổng 80 là http.
•
Protocol Dissection
Một protocol dissector cho phép Wireshark phân chia một giao thức thành một số
thành phần để phân tích. ICMP protocol dissector cho phép Wireshark phân chia
bạn thấy lưu lượng ARP lên tới 50%, bạn hoàn toàn có thể hiểu rằng đang có một
cái gì đó không ổn xảy ra.
•
Xem các Endpoints
Một Endpoint là chỗ mà kết nối kết thúc trên một giao thức cụ thể. Ví dụ, có hai
endpoint trong kết nối TCP/IP: các địa chỉ IP của các hệ thống gửi và nhận dữ liệu,
192.168.1.5 và 192.168.0.8. Một ví dụ ở tầng 2 có thể là kết nối giữa hai NIC vật
lý và địa chỉ MAC của chúng. Các NIC gửi và nhận dữ liệu, các MAC đó tạo nên
các endpoint trong kết nối.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Khi thực hiện phân tích gói tin, bạn có thể nhận ra rằng bạn đã khoanh vùng vấn
đề chỉ còn là một enpoint cụ thể trong mạng. Hộp thoại Wireshark endpoints chỉ
ra một vài thống kê hữu ích cho mỗi endpoint, bao gồm các địa chỉ của từng máy
cũng như là số lượng các gói tin và dung lượng đã được truyền nhận của từng máy.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
•
Cửa số đồ thị IO
Cách tốt nhất để hình dung hướng giải quyết là xem chúng dưới dạng hình ảnh.
Cửa sổ đồ thị IO của Wireshark cho phép bạn vẽ đồ thị lưu lượng dữ liệu trên
mạng. Bạn có thể sử dụng tính năng này để tìm kiếm các đột biến hoặc những thời
điểm không có dữ liệu truyền của các giao thức cụ thể mà bạn đang quan tâm. Bạn
có thể vẽ đồng thời 5 đường trên cùng một đồ thị cho từng giao thức mà bạn quan
tâm bằng các màu khác nhau. Điều này giúp bạn dễ dàng hơn để thấy sự khác nhau
của các đồ thị.
3. Cài đặt WireShark.
Wireshark là một ứng dụng mã nguồn mở và có thể download miễn phí tại
trang http://www.wireshark.org/. Sau khi download Wireshark về, tập tin lưu trên
Hoàng Lệ Chi_Lớp TK6LC1
Để Wireshark có thể hoạt động được, bạn phải cài đặt driver Winpcap trên
máy tính của bạn. Trình cài đặt wireshark sẽ kiểm tra xem bạn đã cài đặt winpcap
chưa. Nếu chưa cài đặt winpcap hoặc bạn đã cài rồi nhưng phiên bản cũ hơn,
chương trình sẽ hỏi bạn có cài winpcap không?
Start WinPcap service "NPF" at startup: Cho phép user không có quyền
admin có thể bắt gói tin bằng wireshark.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 7: Đang trong tiến trình cài đặt
Hình 8: Cửa số cài đặt Winpcap
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 9: Cửa số cài đặt Winpcap
Nhấn “Next” để tiếp tục.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 10: Thông tin bản quyền của Winpcap
Nhấn “I Agree” để tiếp tục.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 11: Chúc mừng! Bạn đã cài đặt xong Winpcap
Nhấn “Finish” để hoàn thành cài đặt Winpcap và tiếp tục cài đặt Wireshark.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 12: Tiếp tục tiến trình cài đặt Wireshark
Nhấn “Next” để tiếp tục.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
Hình 12: Hoàn thành việc cài đặt Wireshark trên Windows
4. Giao diện và một số hướng dẫn sử dụng.
5. Packet list pane: Hiển thị tất cả các packet trong file bắt hiện tại.
6. Packet details pane: Chỉ rõ các chi tiết của packet được chọn hiện tại trong
khung Packet List.
7. Packet bytes pane: Chế độ xem hexdum của packet hiện tại trong Packet
List.
8. Status bar: Cung cấp các thông điệp và thông tin phản hồi đến người dùng.
Hoàng Lệ Chi_Lớp TK6LC1
Tìm hiểu về Wireshark
5. Các lệnh kiểm tra mạng và phần mềm WireShark.
2.1. Lệnh Ping.
Ping (Packet Internet Grouper) là lệnh kiểm tra cấp độ kết nối với máy tính
khác bằng cách gửi các gói tin ICMP (Echo request) và nhận lại các gói tin hồi đáp
tương ứng. Ping là 1 lệnh căn bản của TCP/IP sử dụng để dò lỗi kết nối, tính với
tới, sự phân giải tên miền.
Ping là một trong số những lệnh thường được sử dụng và biết đến. Ping cho
phép người sử dụng ping đến một địa chỉ IP mạng khác.
Cú pháp lệnh Ping:
Ping ip/host [-t] [-a] [-n Count] [-l Size] [-f] [-i TTL] [-v TOS] [-r Count] [-sCount]
[{-jHostLisct | -k HostList}] [-w Timeout] [TargetName]
Trong đó:
o
ip: Địa chỉ IP của máy cần kiểm tra; host là tên của máy tính cần kiểm
tra. Người ta có thể sử dụng địa chỉ IP hoặc tên của máy tính.
o
Tham số -t: Liên tục gửi Echo Request Messages cho đến khi ngừng
kết nối. Để gián đoạn và trình bày thống kê, nhấn CTRL- Break. Để kết
thúc ping, nhấn CTRL-C.
o
Tham số -a: Nếu Ping đến một địa chỉ IP thành công Ping sẽ trả lại host
name tương ứng.
trong IP Header của Echo Request messages gửi.TOS nằm từ bit thứ 4
->7 trong byte thứ 2 của IP Header. Mặc định là 0. TOS nhận giá trị số
thập phân từ 0 đến 255.
o
-r Count: Chỉ ra số các R để lại vết trên Record Route Option trong
IP Header .Mọi hop trên đường đi đều để lại một vết trên Record
Route.Nếu ping thành công thì Count sẽ lớn hơn hoặc bằng số hop giữa
nguồn và đích. Count có thể nhận giá trị từ 1->9.
Hoàng Lệ Chi_Lớp TK6LC1