Wireshark là một công cụ phân tích gói dữ liệu mạng. Công cụ phân tích gói dữ liệu mạng sẽ cố gắng nắm bắt các gói tin mạng và cố gắng để hiển thị dữ liệu gói tin càng chi tiết càng tốt. Ta có thể nghĩ một công cụ phân tích gói dữ liệu mạng như một thiết bị đo sử dụng để kiểm tra những gì đang xảy ra bên trong một cáp mạng, giống như một vôn kế được sử dụng bởi một thợ điện để kiểm tra những gì đang xảy ra bên trong một dây cáp điện (nhưng ở một mức độ cao hơn). Trong quá khứ, các công cụ như vậy hoặc là rất tốn kém, độc quyền, hoặc cả hai. Tuy nhiên, với sự ra đời của Wireshark, tất cả đã thay đổi. Wireshark có lẽ là một trong những phân tích gói dữ liệu mã nguồn mở tốt nhất hiện nay. 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.
Trang 2MỤC LỤC
Trang 3DANH MỤC HÌNH VẼ
Trang 4Chương 1 GIỚI THIỆU CHUNG 1.1 Giám sát an ninh mạng (Network Security Mornitoring - NSM)
Giám sát an ninh mạng là việc thu thập các thông tin trên các thành phầncủa hệ thống, phân tích các thông tin, dấu hiệu nhằm đánh giá và đưa ra cáccảnh báo cho người quản trị hệ thống
Đối tượng của giám sát an ninh mạng là tất cả các thành phần, thiết bị trong
Ta có thể nghĩ một công cụ phân tích gói dữ liệu mạng như một thiết bị đo
sử dụng để kiểm tra những gì đang xảy ra bên trong một cáp mạng, giống nhưmột vôn kế được sử dụng bởi một thợ điện để kiểm tra những gì đang xảy ra bêntrong một dây cáp điện (nhưng ở một mức độ cao hơn)
Trong quá khứ, các công cụ như vậy hoặc là rất tốn kém, độc quyền, hoặc
cả hai Tuy nhiên, với sự ra đời của Wireshark, tất cả đã thay đổi
Wireshark có lẽ là một trong những phân tích gói dữ liệu mã nguồn mở tốtnhất hiện nay
WireShark có một bề dầy lịch sử Gerald Combs là người đầu tiên pháttriển phần mềm này Phiên bản đầu tiên được gọi là Ethereal được phát hànhnăm 1998 Tám năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ côngviệ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ảnquyền của thương hiệu Ethereal Thay vào đó, Combs và phần còn lại của độiphá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
Trang 5WireShark đã 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
Lợi ích Wireshark đem lại đã giúp cho nó trở nên phổ biến như hiện nay
Nó có thể đáp ứng nhu cầu của cả các nhà phân tích chuyên nghiệp lẫn nghiệp
dư và nó đưa ra nhiều tính năng để thu hút mỗi đối tượng khác nhau
Dưới đây là một số mục đích cho người sử dụng Wireshark:
- Người quản trị mạng sử dụng nó để khắc phục sự cố các vấn đề mạng
- Kỹ sư an ninh mạng sử dụng nó để kiểm tra vấn đề an ninh
- Các nhà phát triển sử dụng nó để gỡ lỗi thực thi giao thức
- Số người sử dụng nó để học hỏi giao thức mạng internals
Bên cạnh những ví dụ Wireshark có thể hữu ích trong nhiều tình huốngkhác nữa
Một số tính năng Wireshark cung cấp:
- Có sẵn cho Unix và của Windows
- Chụp dữ liệu gói trực tiếp từ giao diện mạng
- Mở tập tin chứa dữ liệu gói chụp bằng tcpdump / WinDump, Wireshark,
và một số chương trình bắt gói dữ liệu khác
- Nhập gói dữ liệu từ tập tin văn bản có chứa các bãi hex của dữ liệu gói
- Các gói dữ liệu hiển thị với giao thức thông tin rất chi tiết
- Lưu dữ liệu gói chụp
- Trích xuất một số hoặc tất cả các gói trong một số định dạng file chụp
- Gói bộ lọc trên nhiều tiêu chí
- Tìm kiếm cho các gói tin trên nhiều tiêu chí
- Colorize hiển thị gói dựa trên bộ lọc
- Tạo hình thống kê
Trang 6Hình 1.1 Giao diện công cụ WireShark
1: Title bar - Thanh này sẽ chứa những thông tin khác nhau phụ thuộc vào
những gì Wireshark đang làm Nếu nó đang bắt dữ liệu mạng, nó sẽ hiểu thị giaođiện đang sử dụng Nếu nó đang hiển thị dữ liệu từ lần bắt dữ liệu trước đó, têncủa file chứa trong dữ liệu bắt được đó sẽ được hiển thị (untitled sẽ được hiểnthị nếu lần bắt đó được trình diễn, dừng lại và không được lưu lại) Ngược lại nó
sẽ hiển thị tên của ứng dụng: Wireshark network Protocol Analyzer
2: Menu bar - Thanh này cung cấp khả năng truy cập đến các tính năng của
c: View - Chức năng thay đổi cách hiển thị thông tin của Wireshark
d: Go - Chức năng tìm vị trí của một packet chỉ rõ
e: Capture - Chức năng bắt đầu và dừng lại các lần bắt, lưu lại các filter và
làm việc với các giao diện mạng
f: Analyze - Chức năng giải thích và lọc dữ liệu bắt được
g: Statistics - Chức năng thống kê phân tích dữ liệu bắt được
Trang 7h: Help - Chức năng trợ giúp.
3: Main tool bar - Lối tắt để sử dụng các chức năng thường dùng trong
thanh menu
4: Filter tool bar - Truy cập nhanh đến chức năng filter
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
Trang 8Chương 2 CÁC GIAO THỨC VÀ TÍNH NĂNG CỦA WIRESHARK
2.1 Các giao thức được hỗ trợ bởi WireShark
WireShark vượt trội về khả năng hỗ trợ các giao thức (khoảng 850 loại), từnhững loại phổ biến như TCP, IP đến những loại đặc biệt như là AppleTalk vàBit Torrent Và cũng bởi Wireshark được phát triển trên mô hình mã nguồn mở,những giao thức mới sẽ được thêm vào Và có thể nói rằng không có giao thứcnào mà Wireshark không thể hỗ trợ
Dưới đây sẽ trình bày về một số giao thức thường được sử dụng trongWireShark
2.1.1 Giao thức UDP
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của
giao thức TCP/IP Dùng UDP, chương trình trên mạng máy tính có thể gửinhững dữ liệu ngắn được gọi là datagram tới máy khác UDP không cung cấp sựtin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể đến khôngđúng thứ tự hoặc bị mất mà không có thông báo Tuy nhiên UDP nhanh và hiệuquả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thờigian Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lờicác truy vấn nhỏ với số lượng lớn người yêu cầu
Những ứng dụng phổ biến sử dụng UDP như: DNS (Domain NameSystem), ứng dụng streaming media, Voice over IP, Trivial File TransferProtocol (TFTP), và game trực tuyến
UDP là giao thức hướng thông điệp nhỏ nhất của tầng giao vận hiện được
mô tả trong RFC 768 của IETF
Trong bộ giao thức TCP/IP, UDP cung cấp một giao diện rất đơn giản giữa
tầng mạng bên dưới (thí dụ, IPv4) và tầng phiên làm việc hoặc tầng ứng dụng
phía trên
UDP không đảm bảo cho các tầng phía trên thông điệp đã được gửi đi vàngười gửi cũng không có trạng thái thông điệp UDP một khi đã được gửi (Vì lý
do này đôi khi UDP còn được gọi là Unreliable Datagram Protocol)
UDP chỉ thêm các thông tin multiplexing và giao dịch Các loại thông tintin cậy cho việc truyền dữ liệu nếu cần phải được xây dựng ở các tầng cao hơn.+ Bits 0 - 15 16 - 31
0 Source Port Destination Port
Trang 9Data
Hình 2.2 Phần header của UDP
Phần header của UDP chỉ chứa 4 trường dữ liệu, trong đó có 2 trường làtùy chọn (ô nền đỏ trong bảng)
- Source port: Trường này xác định cổng của người gửi thông tin và có ý
nghĩa nếu muốn nhận thông tin phản hồi từ người nhận Nếu không dùng đến thìđặt nó bằng 0
- Destination port: Trường xác định cổng nhận thông tin, và trường này là
cần thiết
- Length: Trường có độ dài 16 bit xác định chiều dài của toàn bộ datagram:
phần header và dữ liệu Chiều dài tối thiểu là 8 byte khi gói tin không có dữ liệu,chỉ có header
- Checksum: Trường checksum 16 bit dùng cho việc kiểm tra lỗi của phầnheader và dữ liệu Phương pháp tính checksum được định nghĩa trong RFC 768
Do thiếu tính tin cậy, các ứng dụng UDP nói chung phải chấp nhận mấtmát, lỗi hoặc trùng dữ liệu Một số ứng dụng như TFTP có nhu cầu phải thêmnhững kỹ thuật làm tin cậy cơ bản vào tầng ứng dụng Hầu hết các ứng dụngUDP không cần những kỹ thuật làm tin cậy này và đôi khi nó bị bỏ đi
Streaming media, game trực tuyến và voice over IP(VoIP) là những thí dụ chocác ứng dụng thường dùng UDP Nếu một ứng dụng đòi hỏi mức độ cao hơn vềtính tin cậy, những giao thức như TCP hoặc mã erasure có thể dùng thay
Thiếu những cơ chế kiểm soát tắc nghẽn và kiểm soát luồng, các kỹ thuậtdựa trên mạng là cần thiết để giảm nguy hiệu ứng cơ tắc nghẽn dây chuyền dokhông kiểm soát, tỷ lệ tải UDP cao Nói cách khác, vì người gởi gói UDP khôngthể phát hiện tắc nghẽn, các thành phần dựa trên mạng như router dùng hàng đợigói (packet queueing) hoặc kỹ thuật bỏ gói như là những công cụ để giảm tảicủa UDP Giao thức Datagram Congestion Control Protocol (DCCP) được thiết
kế như một giải pháp cho vấn đề bằng cách thêm hành vi kiểm soát tắc nghẽncho thiết bị đầu cuối cho các dòng dữ liệu UDP như streaming media
Mặc dù tổng lượng lưu thông của UDP trên mạng thường chỉ vài phầntrăm, nhưng có nhiều ứng dụng quan trọng dùng UDP, bao gồm DNS, SNMP,
DHCP và RIP
2.1.2 Giao thức TCP
TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận")
là một trong các giao thức cốt lõi của bộ giao thức TCP/IP Sử dụng TCP, các
Trang 10ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, màqua đó chúng có thể trao đổi dữ liệu hoặc các gói tin Giao thức này đảm bảochuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự TCP cònphân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụthư điện tử) đồng thời chạy trên cùng một máy chủ.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứngdụng kết quả, trong đó có WWW, thư điện tử và Secure Shell
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bêndưới và một ứng dụng bên trên Các ứng dụng thường cần các kết nối đáng tincậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cungcấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tincậy TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các
mạng máy tính
Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển quamạng TCP phân chia dòng byte này thành các đoạn(segment) có kích thướcthích hợp (thường được quyết định dựa theo kích thước của đơn vị truyền dẫntối đa (MTU) của tầng liên kết dữ liệu của mạng mà máy tính đang nằm trongđó) Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một
liên mạng tới mô đun TCP tại máy tính đích TCP kiểm tra để đảm bảo không cógói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một "số thứ tự" (sequencenumber) Số thứ tự này còn được sử dụng để đảm bảo dữ liệu được trao cho ứngdụng đích theo đúng thứ tự Mô đun TCP tại đầu kia gửi lại "tin báo nhận"(acknowledgement) cho các gói tin đã nhận được thành công, một "đồng hồ"(timer) tại nơi gửi sẽ báo time-out nếu không nhận được tin báo nhận trongkhoảng thời gian bằng một round-trip time (RTT), và dữ liệu (được coi là bị thấtlạc) sẽ được gửi lại TCP sử dụng checksum (giá trị kiểm tra) để xem có bytenào bị hỏng trong quá trình truyền hay không; giá trị này được tính toán cho mỗikhối dữ liệu tại nơi gửi trước khi nó được gửi, và được kiểm tra tại nơi nhận.Không như giao thức UDP - giao thức có thể lập tức gửi gói tin mà khôngcần thiết lập kết nối, TCP đòi hỏi thiết lập kết nối trước khi bắt đầu gửi dữ liệu
và kết thúc kết nối khi việc gửi dữ liệu hoàn tất Cụ thể, các kết nối TCP có bapha:
Trang 11- LISTEN: Đang đợi yêu cầu kết nối từ một TCP và cổng bất kỳ ở xa (trạngthái này thường do các TCP server đặt)
- SYN-SENT: Đang đợi TCP ở xa gửi một gói tin TCP với các cờ SYN vàACK được bật (trạng thái này thường do các TCP client đặt)
- SYN-RECEIVED: Đang đợi TCP ở xa gửi lại một tin báo nhận sau khi đãgửi cho TCP ở xa đó một tin báo nhận kết nối (connection acknowledgment)(thường do TCP server đặt)
- ESTABLISHED: Cổng đã sẵn sàng nhận/gửi dữ liệu với TCP ở xa (đặtbởi TCP client và server)
- TIME-WAIT: Đang đợi qua đủ thời gian để chắc chắn là TCP ở xa đãnhận được tin báo nhận về yêu cầu kết thúc kết nối của nó Theo RFC 793, mộtkết nối có thể ở tại trạng thái TIME-WAIT trong vòng tối đa 4 phút
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước (3-wayhandshake) Trước khi client thử kết nối với một server, server phải đăng ký mộtcổng và mở cổng đó cho các kết nối: đây được gọi là mở bị động Một khi mở bịđộng đã được thiết lập thì một client có thể bắt đầu mở chủ động Để thiết lậpmột kết nối, quy trình bắt tay 3 bước xảy ra như sau:
- Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN (gói tin TCP)tới server, trong gói tin này, tham số sequence number được gán cho một giá trịngẫu nhiên X
- Server hồi đáp bằng cách gửi lại phía client bản tin SYN-ACK, trong góitin này, tham số acknowledgment number được gán giá trị bằng X + 1, tham sốsequence number được gán ngẫu nhiên một giá trị Y
- Để hoàn tất quá trình bắt tay ba bước, client tiếp tục gửi tới server bản tinACK, trong bản tin này, tham số sequence number được gán cho giá trị bằng X+ 1 còn tham số acknowledgment number được gán giá trị bằng Y + 1
Tại thời điểm này, cả client và server đều được xác nhận rằng, một kết nối
đã được thiết lập
2.1.3 Địa chỉ IP
IP (IP là viết tắt của từ tiếng Anh: Internet Protocol - giao thức Internet) làmột địa chỉ đơn nhất mà những thiết bị điện tử hiện nay đang sử dụng để nhậndiện và liên lạc với nhau trên mạng máy tính bằng cách sử dụng giao thứcInternet
Mỗi địa chỉ IP là duy nhất trong cùng một cấp mạng
Một cách đơn giản hơn: IP là một địa chỉ của một máy tính khi tham giavào mạng nhằm giúp cho các máy tính có thể chuyển thông tin cho nhau một
Trang 12cách chính xác, tránh thất lạc Có thể coi địa chỉ IP trong mạng máy tính giốngnhư địa chỉ nhà của ta để nhân viên bưu điện có thể đưa thư đúng cho ta chứkhông phải một người nào khác.
Bất kỳ thiết bị mạng nào - bao gồm bộ định tuyến, bộ chuyển mạch mạng,
máy vi tính, máy chủ hạ tầng (như NTP, DNS, DHCP, SNMP, v.v.), máy in,máy fax qua Internet, và vài loại điện thoại—tham gia vào mạng đều có địa chỉriêng, và địa chỉ này là đơn nhất trong phạm vi của một mạng cụ thể Vài địa chỉ
IP có giá trị đơn nhất trong phạm vi Internet toàn cầu, trong khi một số khác chỉcần phải đơn nhất trong phạm vi một công ty
Địa chỉ IP hoạt động như một bộ định vị để một thiết bị IP tìm thấy và giaotiếp với nhau Tuy nhiên, mục đích của nó không phải dùng làm bộ định danhluôn luôn xác định duy nhất một thiết bị cụ thể Trong thực tế hiện nay, một địachỉ IP hầu như không làm bộ định danh, do những công nghệ như gán địa chỉđộng và biên dịch địa chỉ mạng
Địa chỉ IP do Tổ chức cấp phát số hiệu Internet (IANA) quản lý và tạo ra.IANA nói chung phân chia những "siêu khối" đến Cơ quan Internet khu vực, rồi
từ đó lại phân chia thành những khối nhỏ hơn đến nhà cung cấp dịch vụ Internet
và công ty
IPv4:
Địa chỉ IP theo phiên bản IPv4 sử dụng 32 bit để mã hoá dữ liệu Địa chỉ IP(IPv4) có dạng như sau:
EFG.HIJ.KMN.OPQ (ví dụ một địa chỉ IP: 198.35.26.96)
Trong đó mỗi ký tự trên đại diện cho một con số do người sử dụng máytính, modem hoặc một máy chủ có dịch vụ DHCP (Dynamic Host ConfigurationProtocol) gán cho chúng
IPv6:
Địa chỉ IP theo phiên bản IPv6 sử dụng 128 bit để mã hoá dữ liệu, nó chophép sử dụng nhiều địa chỉ hơn so với IPv4.Ước tính địa chỉ IP phiên bản IPv6cho phép cung cấp (4*10^4)^4 (4 tỉ mũ 5) địa chỉ IP cùng lúc
Địa chỉ IP phiên bản IPv6 đang dần được đưa vào áp dụng bởi nguồn tàinguyên IPv4 đang cạn kiệt do sự phát triển rất nhanh của công nghệ thông tin.Tuy nhiên vì lý do tương thích với thiết bị cũ, nên khó có thể thay thế hết choIPv4,các tổ chức đã đề xuất lộ trình chuyển đổi IPv4 sang IPv6 bắt đầu từ năm
2019 đến năm 2033
2.1.4 Giao thức ICMP
Internet Control Message Protocol (viết tắt là ICMP), là một giao thức của
gói Internet Protocol Giao thức này được các thiết bị mạng như router dùng để
Trang 13gửi đi các thông báo lỗi chỉ ra một dịch vụ có tồn tại hay không, hoặc một địachỉ host hay router có tồn tại hay không ICMP cũng có thể được sử dụng đểchuyển tiếp các thông điệp truy vấn.[1] Giao thức này được đánh số 1.[2] ICMP
[3]khác với các giao thức vận chuyển như TCP và UDP ở chỗ nó không thườngđược sử dụng để trao đổi dữ liệu giữa các hệ thống, cũng không thường xuyênđược sử dụng bởi các ứng dụng mạng của người dùng cuối (với ngoại lệ của một
số công cụ chẩn đoán như ping và traceroute)
Các Internet Control Message Protocol là một phần của Internet ProtocolSuite, như được định nghĩa trong RFC 792 Điệp ICMP thường được sử dụngcho mục đích chẩn đoán hoặc điều khiển hoặc được tạo ra để đáp ứng với các lỗitrong IP hoạt động (như quy định trong RFC 1122 ) Lỗi ICMP đang hướng đếncác địa chỉ IP nguồn của gói tin nguồn gốc
Ví dụ, mỗi thiết bị (như một trung gian bộ định tuyến ) chuyển tiếp một IP
datagram đầu tiên decrements thời gian để sống trường (TTL) trong tiêu đề IPmột Nếu TTL kết quả là 0, gói tin bị loại bỏ và một ICMP Time To Sống vượtquá cảnh nhắn được gửi đến địa chỉ nguồn của gói tin
Mặc dù thông điệp ICMP được chứa trong các gói tin IP chuẩn, các thôngđiệp ICMP thường được xử lý như là một trường hợp đặc biệt, phân biệt với chếbiến IP bình thường, hơn là xử lý như là một sub-giao thức bình thường của IP.Trong nhiều trường hợp, nó là cần thiết để kiểm tra các nội dung của thông điệpICMP và cung cấp những thông báo lỗi thích hợp cho các ứng dụng chịu tráchnhiệm cho việc truyền các gói tin IP mà nhắc việc gửi thông điệp ICMP
Nhiều tiện ích mạng thường được sử dụng dựa trên các thông điệp ICMP.Các traceroute lệnh có thể được thực hiện bằng cách truyền các datagram IP vớiđặc biệt thiết header IP TTL, và tìm kiếm ICMP Thời gian để sống vượt quácảnh (trên) và "Destination unreachable" thông điệp được tạo ra trong phản ứng.Các liên quan ping tiện ích được thực hiện bằng cách sử dụng "yêu cầu Echo"ICMP và "Echo reply" tin nhắn
2.2 Tính năng của WireShark
2.2.1 Tính năng cơ bản
WireShark có các tính năng cơ bản sau:
- Thân thiện với người dùng: Giao diện của Wireshark là một trong nhữnggiao diện phần mềm phân tích gói dễ dùng nhất Wireshark là ứng dụng đồ hoạvới hệ thống menu rất rõ ràng và được bố trí dễ hiểu Không như một số sảnphẩm sử dụng dòng lệnh phức tạp như TCPdump, giao diện đồ hoạ củaWireshark thật tuyệt vời cho những ai đã từng nghiên cứu thế giới của phân tíchgiao thức
Trang 14- Miến phí: Wireshark là một sản phẩm miễn phí GPL Ta có thể tải về và
sử dụng Wireshark cho bất kỳ mục đích nào, kể cả với mục đích thương mại
- Hỗ trợ: Cộng đồng của Wireshark là một trong những cộng đồng tốt vànăng động nhất của các dự án mã nguồn mở
- Hệ điều hành hỗ trợ Wireshark: Wireshark hỗ trợ hầu hết các loại hệ điềuhành hiện nay
2.2.2 Một số tính năng nâng cao của Wireshark
Ngoài các tính năng cơ bản thì WireShark có các tính năng nâng cao sau:
2.2.2.1 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ỉ là quá trình mà mộtgiao 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 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àicô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áytí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ỉ IPtầ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 địachỉ 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
ta có thể thay đổi việc lựa chọn này trong từng trường hợp cụ thể
Trang 15Để sử dụng tính năng này, ta click chuột phải vào 1 gói packet, chọnFollow TCP Stream:
Hình 2.3 Cửa sổ Following TCP Streams
2.2.2.4 Cửa sổ thống kê phân cấp giao thức
Khi bắt được một file có kích thước lớn, chúng ta cần biết được phân bốcác giao thức trong file đó, bao nhiêu phần trăm là TCP, bao nhiêu phần trăm là
IP và DHCP là bao nhiêu phần trăm, Thay vì phải đếm từng gói tin để thuđược kết quả, chúng ta có thể sử dụng cửa sổ thống kê phân cấp giao thức củaWireshark Đây là cách tuyệt với để kiểm thử mạng của ta Ví dụ, nếu ta biếtrằng 10% lưu lượng mạng của mình được sử dụng bởi các lưu lượng ARP, vàmột ngày nào đó, ta thấy lưu lượng ARP lên tới 50%, ta hoàn toàn có thể hiểurằng đang có một cái gì đó không ổn xảy ra
Để sử dụng tính năng này, ta chọn menu Statistics > Protocol Hierarchy:
Trang 16Hình 2.4 Cửa sổ thống kê phân cấp giao thức
2.2.2.5 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ốigiữ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
Hình 2.5 Ví dụ về thiết bị đầu cuối trong mạng
Khi thực hiện phân tích gói tin, ta có thể nhận ra rằng ta đã khoanh vùngvấn đề chỉ còn là một enpoint cụ thể trong mạng Hộp thoại Wireshark endpointschỉ 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ừngmáy cũng như là số lượng các gói tin và dung lượng đã được truyền nhận củatừng máy
Trang 17Để sử dụng tính năng này, ta chọn menu Statistics > Endpoint List và chọnmột giao thức để hiển thị.
Hình 2.6 Cửa sổ xem các Endpoints
2.2.2.6 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 ta vẽ đồ thị lưu lượng dữ liệu trênmạng Ta 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à ta đang quan tâm Ta
có thể vẽ đồng thời 5 đường trên cùng một đồ thị cho từng giao thức mà ta quantâm bằng các màu khác nhau Điều này giúp ta dễ dàng hơn để thấy sự khácnhau của các đồ thị
Để sử dụng tính năng này, ta chọn menu Statistics > IO Graph
Trang 18Hình 2.7 Cửa số đồ thị IO
Trang 19Chương 3 CÀI ĐẶT VÀ SỬ DỤNG WIRESHARK 3.1 Cài đặt WireShark
Ta có thể tải phần mềm tại địa chỉ: www.wireshark.org\download.html.Sau khi tải về bạn kích đôi vào biểu tượng WireShark để tiến hành cài đặtchương trình
Cửa sổ chào mừng tới chương trình xuất hiện Bấm Next để tiếp tục
Hình 3.8 Hướng dẫn cài đặt 1
Đọc trước thông tin bản quyền trước khi cài đặt Kích I Agree để tiếp tục