Wireshark là một công cụ mã nguồn mở giúp phân tích gói tin, lắng nghe và nghiên cứu traffic cũng như là kiểm tra các capture file (PCAP file).

Important

Wireshark không phải là một IDS (Intrusion Detection System)

Tool Overview

GUI and Data

Giao diện cửa sổ chính của Wireshark:

Loading PCAP Files

Giao diện sau khi nạp file PCAP:

Merge PCAP Files

Wireshark có thể merge hai file PCAP:

Note

Lưu ý rằng ta cần lưu file PCAP sau khi merge trước khi làm việc với nó.

View File Details

Chúng ta có thể xem thông tin chi tiết về file PCAP:

Packet Dissection

Khi chúng ta chọn một gói tin thì nội dung của gói tin đó sẽ được nạp lên packet details pane ở góc dưới bên trái như sau:

Nội dung của gói tin được phân theo 7 tầng của mô hình OSI1.

Packet Navigation

Packet Numbers

Các gói tin được đánh số thứ tự tăng dần theo thời gian:

Go to Packet

Chúng ta có thể đi đến một gói tin bất kỳ thông qua chức năng “Go to packet”:

Find Packets

Có thể tìm packet dựa trên một tiêu chí nào đó (display filter, hex, string hoặc regex) thông qua chức năng “Find Packet”:

Có ba vị trí tìm kiếm là packet list, packet details và packet bytes.

Mark Packets

Chúng ta có thể đánh dấu gói tin:

Important

Chú ý rằng các đánh dấu sẽ mất khi đóng file PCAP.

Packet Comments

Tương tự như đánh dấu gói tin, ta có thể thêm vào bình luận cho từng gói tin:

Không giống với các đánh dấu, các bình luận về gói tin sẽ không bị mất khi đóng file PCAP.

Export Packets

Tính năng này giúp ta trích xuất các packet cần thiết từ file PCAP.

Export Objects (Files)

Wireshark có thể trích xuất các file được trao đổi trong các packet.

Tính năng này chỉ khả dụng đối với các giao thức sau: DICOM, HTTP, IMF, SMB và TFTP.

Time Display Format

Chúng ta có thể thay đổi định dạng hiển thị của thời gian cho các gói tin:

Expert Information

Wireshark theo dõi các gói tin bất thường ở trong capture file và hiển thị chúng trong hộp thoại Expert Information.

Note

Lưu ý là có thể xảy false positive/negative.

Ví dụ:

Mỗi expert information item có một severity:

SeverityColourInfo
ChatBlueInformation on usual workflow.
NoteCyanNotable events like application error codes.
WarnYellowWarnings like unusual error codes or problem statements.
ErrorRedProblems like malformed packets.

Đi kèm với severity là các nhóm thông tin. Một số nhóm thường gặp:

GroupInfo
ChecksumChecksum errors.
CommentPacket comment detection.
DeprecatedDeprecated protocol usage.
MalformedMalformed packet detection.

Seealso

7.4. Expert Information (wireshark.org)

Packet Filtering

Wireshark có hai chế độ filter: capture và display.

Apply as Filter

Có hai cách để dùng filter: sử dụng câu query và chuột phải vào packet rồi chọn “Apply as Filter”.

Số lượng packet tổng cộng và số lượng packet hiển thị được đặt ở trên status bar.

Info

Chúng ta cũng có thể chuột phải vào giao thức (HTTP, TCP, …) trong nội dung chi tiết của gói tin để chọn làm filter.

Conversation Filter

Khi chúng ta muốn nghiên cứu một packet cụ thể và các packet liên quan đến nó. Chúng ta có thể dùng conversation filter bằng cách chuột phải vào packet rồi chọn “Analyse → Conversation Filter”.

Colourise Conversation

Filter này tương tự với conversation filter nhưng lại không lọc ra các packet không liên quan và giảm số packet hiển thị. Thay vào đó, nó chỉ tô màu các packet liên quan.

Để sử dụng, chuột phải packet và chọn “View → Colourise Conversation”. Để xóa filter, chúng ta chọn “View → Colourise Conversation → Reset Colourisation”.

Prepare as Filter

Tương tự với tính năng “Apply as Filter” nhưng không áp dụng filter ngay lập tức. Tính năng này cho phép chúng ta tùy chỉnh câu truy vấn của filter rồi mới áp dụng filter.

Để sử dụng, chuột phải vào packet và chọn “Prepare as Filter” cùng với toán tử and/or.

Apply as Column

Chúng ta có thể chuột phải vào một field nào đó trong packet rồi chọn “Apply as Column” để thêm field đó vào danh sách các cột hiển thị trên packet list pane.

Follow Stream

Để follow data stream, chúng ta có thể chuột phải vào packet rồi chọn “Follow TCP/UDP/HTTP Stream”. Các dữ liệu từ server được tô màu xanh và các dữ liệu từ client được tô màu đỏ.

Khi chúng ta follow stream, Wireshark sẽ tự động tạo ra và áp dụng filter dựa trên stream đó.

list
from outgoing([[Wireshark - The Basics]])
sort file.ctime asc

Resources

Footnotes

  1. xem thêm The OSI Model