Wireshark là một bộ phân tích gói mạng dựa trên GUI cho phép bạn kiểm tra dữ liệu gói từ một mạng sống cũng như từ một tệp đã chụp trước đó. Mặc dù nó là một công cụ rất mạnh mẽ, một vấn đề phổ biến mà người mới phải đối mặt là nó hiển thị rất nhiều dữ liệu mà nó trở nên thực sự khó khăn cho họ để xác định thông tin thực tế mà họ đang tìm kiếm. Đây là nơi bộ lọc hiển thị của Wireshark giúp đỡ.

Lưu ý - Nếu bạn hoàn toàn mới sử dụng Wireshark, bạn nên đi qua hướng dẫn cơ bản của nó.

Bộ lọc hiển thị

Dưới đây là một ví dụ về hoạt động chụp trực tiếp trong Wireshark:

Lưu ý rằng một phần chính của GUI được sử dụng để hiển thị thông tin (như Thời gian, Nguồn, Đích và hơn thế nữa) về tất cả các gói dữ liệu đến và đi. Để lọc thông tin này theo yêu cầu của bạn, bạn cần sử dụng hộp Bộ lọc có ở đầu cửa sổ.

1. Lọc thông tin dựa trên giao thức

Để lọc kết quả dựa trên giao thức cụ thể, chỉ cần viết tên của nó trong hộp bộ lọc và nhấn enter. Ví dụ: ảnh chụp màn hình sau đây hiển thị thông tin liên quan đến giao thức HTTP:

Quan sát rằng cột Giao thức chỉ chứa các mục HTTP. Nếu thông tin liên quan đến nhiều giao thức là bắt buộc, hãy nhập tên giao thức được phân tách bằng một đường ống đôi (hoặc toán tử OR logic) || . Đây là một ví dụ:

 http || arp || icmp 

2. Lọc thông tin dựa trên địa chỉ IP

Để lọc kết quả dựa trên IP nguồn, hãy sử dụng bộ lọc ip.src . Đây là một ví dụ:

 ip.src == 50.116.24.50 

Tương tự, sử dụng ip.dst để lọc kết quả dựa trên địa chỉ IP đích. Để hiển thị cả hai gói nguồn và đích với một IP cụ thể, hãy sử dụng bộ lọc ip.addr . Đây là một ví dụ:

 ip.addr == 50.116.24.50 

Quan sát rằng các gói với địa chỉ IP nguồn hoặc đích là 50.116.24.50 được hiển thị trong đầu ra.

Để loại trừ các gói có địa chỉ IP cụ thể, hãy sử dụng toán tử != . Đây là một ví dụ:

 ip.src! = 50.116, 24, 50 

3. Lọc thông tin dựa trên cổng

Bạn cũng có thể lọc lưu lượng truy cập đã capture dựa trên các cổng mạng. Ví dụ, để chỉ hiển thị các gói có chứa nguồn TCP hoặc cổng đích 80, hãy sử dụng bộ lọc tcp.port . Đây là một ví dụ:

 tcp.port == 80 

Tương tự, bạn có thể sử dụng tcp.srcporttcp.dstport để lọc riêng các kết quả dựa trên các cổng nguồn và đích TCP tương ứng.

Wireshark cũng có khả năng lọc kết quả dựa trên cờ TCP. Ví dụ, để hiển thị trên các gói TCP có chứa cờ SYN, hãy sử dụng bộ lọc tcp.flags.syn . Đây là một ví dụ:

Tương tự, bạn cũng có thể lọc kết quả dựa trên các cờ khác như ACK, FIN và hơn thế nữa, bằng cách sử dụng các bộ lọc như tcp.flags.ack, tcp.flags.fin và nhiều thứ khác, tương ứng.

4. Một số bộ lọc hữu ích khác

Wireshark hiển thị dữ liệu chứa trong một gói (hiện đang được chọn) ở dưới cùng của cửa sổ. Đôi khi, trong khi gỡ lỗi một vấn đề, nó là cần thiết để lọc các gói tin dựa trên một chuỗi byte cụ thể. Bạn có thể dễ dàng làm điều đó bằng cách sử dụng Wireshark.

Ví dụ, các gói TCP chứa chuỗi 00 00 01 byte có thể được lọc theo cách sau:

 tcp chứa 00:00:01 

Tiếp tục, giống như bạn có thể lọc kết quả dựa trên địa chỉ IP (được giải thích trước đó), bạn cũng có thể lọc kết quả dựa trên địa chỉ MAC, sử dụng bộ lọc eth.addr . Ví dụ: để xem tất cả lưu lượng truy cập vào và ra khỏi máy có địa chỉ mac, hãy nói AA: BB: CC: DD: EE: FF, sử dụng lệnh bộ lọc sau:

 eth.addr == AA: BB: CC: DD: EE: FF 

Phần kết luận

Chúng tôi vừa mới trầy xước bề mặt ở đây, vì Wireshark có nhiều thứ hơn để cung cấp. Để biết thêm thông tin về bộ lọc hiển thị Wireshark, hãy truy cập trang web chính thức của Wireshark hoặc trang web Wiki Wireshark. Nếu bạn có một số nghi ngờ hoặc truy vấn, để lại một bình luận dưới đây.