Liên hệProfile
Danh mục

Mục Lục

    Cách dùng lệnh tshark trên Linux để bắt và phân tích gói tin mạng bằng dòng lệnh

    Nguyễn Hưng

    Ngày đăng:

    02/04/2026

    Cập nhật lần cuối:

    02/04/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    02/04/2026

    Cập nhật lần cuối:

    02/04/2026

    Mục lục

    Lệnh tshark Linux là phiên bản chạy trên dòng lệnh (CLI) của Wireshark, dùng để bắt và phân tích gói tin mạng trực tiếp trong terminal trên Linux và các hệ điều hành khác. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh tshark trên Linux để bắt và phân tích gói tin mạng trực tiếp trên terminal một cách hiệu quả.

    Những điểm chính

    • Khái niệm: Hiểu rõ tshark là bộ phân tích giao thức mạng mạnh mẽ trên giao diện dòng lệnh, giúp bạn giám sát và giải mã lưu lượng mạng chuyên sâu.
    • Lý do nên sử dụng: Biết được ưu điểm của tshark trong môi trường server từ xa và khả năng tích hợp linh hoạt vào script tự động hóa.
    • Điều kiện sử dụng: Nắm vững các yêu cầu về hệ điều hành và đặc quyền quản trị cần thiết để can thiệp và thu thập dữ liệu từ giao diện mạng.
    • Hướng dẫn cài đặt: Làm chủ các bước thiết lập tshark trên nhiều bản phân phối Linux khác nhau như Ubuntu, Debian và CentOS nhanh chóng.
    • Cách sử dụng chi tiết: Thành thạo các kỹ năng liệt kê card mạng, bắt gói tin thực tế, lọc dữ liệu nâng cao và xuất file .pcap để phân tích chuyên sâu.
    • Xử lý lỗi thường gặp: Trang bị kỹ năng khắc phục các sự cố về phân quyền truy cập thiết bị và lỗi nhận diện lệnh trong quá trình vận hành.
    • Lưu ý quan trọng: Biết cách kiểm soát tài nguyên hệ thống, bảo mật dữ liệu nhạy cảm và quản lý không gian lưu trữ khi bắt gói tin dung lượng lớn.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh tshark.

    Lệnh tshark trên Linux là gì?

    Lệnh tshark là bộ phân tích giao thức mạng vận hành trên giao diện dòng lệnh (CLI), được phát triển dựa trên nhân của phần mềm Wireshark và sử dụng để giám sát, phân tích lưu lượng mạng trong các môi trường không có giao diện đồ họa hoặc yêu cầu tự động hóa cao. Lệnh này có nhiều chức năng quan trọng, cụ thể như:

    • Trích xuất và thu thập: tshark khởi tạo tiến trình bắt gói tin trực tiếp từ các giao diện mạng hoặc truy xuất dữ liệu từ các file lưu trữ định dạng chuẩn.
    • Phân tích lưu lượng thời gian thực: Lệnh này có khả năng giải mã và hiển thị chi tiết các luồng dữ liệu ngay tại thời điểm phát sinh, hỗ trợ quan sát biến động mạng tức thời.
    • Cơ chế lọc dữ liệu nâng cao: Lệnh có khả năng áp dụng các bộ lọc hiển thị và bộ lọc bắt gói phức tạp dựa trên địa chỉ IP, port, giao thức hoặc các tham số đặc hữu trong header của gói tin.
    • Tối ưu hóa công tác kỹ thuật:
      • Network Troubleshooting: tshark có thể xác định và xử lý triệt để các sự cố kết nối, độ trễ và mất gói tin.
      • Security Auditing: Bạn có thể dùng tshark để kiểm tra bảo mật, phát hiện các hành vi xâm nhập hoặc rò rỉ dữ liệu dựa trên dấu hiệu bất thường.
      • Validation & Automation: tshark xác minh tính chính xác của cấu hình mạng và dễ dàng tích hợp vào quy trình CI/CD hoặc các script giám sát hệ thống tự động.
    Lệnh tshark là bộ phân tích giao thức mạng vận hành trên giao diện dòng lệnh
    Lệnh tshark là bộ phân tích giao thức mạng vận hành trên giao diện dòng lệnh

    Lý do nên sử dụng lệnh tshark

    Việc lựa chọn và sử dụng tshark đóng vai trò quan trọng trong việc thực thi các kịch bản kỹ thuật chuyên sâu, cụ thể như:

    • Tương thích tuyệt đối với môi trường Headless: Bạn có thể vận hành tshark linh hoạt trên các hệ thống Server từ xa hoặc thiết bị nhúng không có giao diện đồ họa thông qua kết nối SSH.
    • Tốc độ thực thi và phân tích tức thời: tshark cho phép truy vấn, giải mã và hiển thị dữ liệu mạng trực tiếp trên dòng lệnh với độ trễ thấp và mức tiêu thụ tài nguyên hệ thống tối thiểu.
    • Quy trình xử lý dữ liệu nhất quán: tshark hỗ trợ kết xuất lưu lượng sang định dạng chuẩn .pcap, tạo điều kiện thuận lợi cho việc chuyển tiếp và phân tích chuyên sâu trên giao diện trực quan của Wireshark.
    Lý do nên sử dụng lệnh tshark
    Lý do nên sử dụng lệnh tshark

    Điều kiện để sử dụng lệnh tshark

    Dưới đây là các điều kiện cần có để triển khai tshark trên hệ thống:

    • Nền tảng hệ điều hành: Yêu cầu các bản phân phối Linux tiêu chuẩn như Ubuntu, Debian, CentOS, AlmaLinux hoặc Rocky Linux để đảm bảo tính tương thích và hiệu suất ổn định.
    • Đặc quyền truy cập: Người dùng phải sở hữu quyền quản trị (root) hoặc có quyền thực thi qua lệnh sudo để có thể can thiệp và thu thập dữ liệu trực tiếp từ các giao diện mạng.
    • Môi trường thực thi: Công cụ tshark cần được cài đặt sẵn và cấu hình đúng trong biến môi trường (PATH) của hệ thống trước khi bắt đầu các tác vụ phân tích.
    Điều kiện để sử dụng lệnh tshark
    Điều kiện để sử dụng lệnh tshark

    Cách cài đặt lệnh tshark trên Linux

    Đối với Ubuntu hoặc Debian

    Để cập nhật danh sách gói phần mềm trên hệ thống, bạn sử dụng lệnh sau:

    sudo apt update

    Để tiến hành cài đặt công cụ tshark, bạn sử dụng lệnh bên dưới:

    sudo apt install tshark -y

    Đối với CentOS, AlmaLinux hoặc RHEL

    Đối với các hệ điều hành CentOS, AlmaLinux hoặc RHEL, bạn có thể cài đặt Wireshark bao gồm tshark bằng lệnh như sau:

    sudo yum install wireshark -y

    Hoặc bạn có thể sử dụng trình quản lý gói dnf để cài đặt riêng thành phần dòng lệnh:

    sudo dnf install wireshark-cli -y

    Kiểm tra phiên bản sau khi cài đặt

    Để xác nhận quá trình cài đặt thành công và xem phiên bản hiện tại, bạn chạy lệnh bên dưới:

    tshark -v

    1. Liệt kê danh sách card mạng trước khi bắt gói tin

    Trước khi bắt gói tin, bạn cần xác định card mạng nào đang hoạt động. Để liệt kê các interface mạng có sẵn trên hệ thống, bạn sử dụng lệnh như sau:

    tshark -D
    Liệt kê danh sách card mạng trước khi bắt gói tin
    Liệt kê danh sách card mạng trước khi bắt gói tin

    2. Bắt gói tin mạng cơ bản bằng tshark

    Sau khi đã xác định được interface, ví dụ: eth0, bạn có thể bắt đầu quá trình bắt gói tin. Để bắt các gói tin trên một giao diện mạng cụ thể, bạn chạy lệnh sau:

    sudo tshark -i eth0
    Bắt gói tin mạng cơ bản bằng tshark
    Bắt gói tin mạng cơ bản bằng tshark

    Để dừng quá trình bắt gói tin, bạn nhấn tổ hợp phím: Ctrl + C.

    3. Bắt gói tin và lưu dữ liệu ra file

    Việc lưu gói tin ra file giúp bạn có thể phân tích dữ liệu sâu hơn. Để bắt gói tin và ghi dữ liệu trực tiếp vào một file định dạng pcap, bạn sử dụng lệnh dưới đây:

    sudo tshark -i eth0 -w capture.pcap

    Bạn có thể đọc lại nội dung từ file gói tin đã lưu bằng cách sử dụng lệnh như sau:

    tshark -r capture.pcap

    4. Lọc gói tin bằng tshark

    Lệnh tshark cung cấp các tùy chọn lọc mạnh mẽ để thu hẹp phạm vi dữ liệu cần theo dõi. Nếu bạn muốn lọc gói tin theo địa chỉ host cụ thể, hãy chạy lệnh sau đây:

    sudo tshark -i eth0 -f "host 192.168.1.10"

    Để lọc các gói tin đi qua một port nhất định, bạn sử dụng lệnh như sau:

    sudo tshark -i eth0 -f "port 80"

    Để chỉ bắt các gói tin sử dụng giao thức TCP, bạn sử dụng lệnh dưới đây:

    sudo tshark -i eth0 -f "tcp"

    5. Hiển thị dữ liệu gói tin chi tiết

    Trong trường hợp bạn cần xem toàn bộ cấu trúc chi tiết của từng gói tin, hãy sử dụng tùy chọn -V bằng lệnh sau:

    sudo tshark -i eth0 -V

    6. Hiển thị số lượng gói tin giới hạn

    Nếu bạn chỉ muốn bắt một số lượng gói tin nhất định rồi tự động dừng lại, bạn sử dụng tùy chọn -c. Ví dụ, để bắt đúng 100 gói tin, bạn chạy lệnh như sau:

    sudo tshark -i eth0 -c 100

    Một số lỗi thường gặp khi dùng lệnh tshark

    Dưới đây là các sự cố thường gặp và giải pháp khắc phục khi vận hành tshark:

    • Lỗi “You don’t have permission to capture on that device”: Lỗi này phát sinh khi người thực thi thiếu quyền can thiệp vào giao diện mạng. Để khắc phục, bạn khởi chạy lệnh với đặc quyền quản trị cao nhất thông qua tiền tố sudo với lệnh như sau:
    sudo tshark -i eth0
    • Lỗi “tshark: command not found”: Lỗi này xảy ra khi gói phần mềm chưa được thiết lập hoặc biến môi trường chưa nhận diện được công cụ. Để khắc phục, bạn có thể cài đặt lại hoặc kiểm tra lại quy trình cấu hình gói tin trên hệ điều hành.

    Theo kinh nghiệm của mình, các lỗi khi dùng tshark thường khá cơ bản và dễ xử lý, chủ yếu liên quan đến quyền truy cập hoặc thiếu gói cài đặt. Vì vậy, trước khi đi sâu debug, bạn nên kiểm tra quyền và môi trường hệ thống trước để tiết kiệm thời gian.

    Một số lỗi thường gặp khi dùng lệnh tshark
    Một số lỗi thường gặp khi dùng lệnh tshark

    Lưu ý khi sử dụng lệnh tshark

    Khi sử dụng tshark trong môi trường quản trị hệ thống và an ninh mạng chuyên nghiệp, bạn cần lưu ý đến các khía cạnh sau để đảm bảo hiệu suất và an toàn dữ liệu:

    • Kiểm soát tài nguyên hệ thống: Khi thực hiện bắt gói tin trên các đường truyền có lưu lượng lớn, bạn hãy luôn sử dụng bộ lọc để giới hạn dữ liệu, tránh tình trạng quá tải CPU hoặc tràn bộ nhớ đệm.
    • Quản lý không gian lưu trữ: Luôn thiết lập giới hạn dung lượng file hoặc sử dụng cơ chế ghi đè vòng tròn khi bạn xuất file .pcap để ngăn chặn việc file log chiếm dụng hoàn toàn ổ cứng.
    • Chính sách phân quyền an toàn: Thay vì luôn sử dụng sudo, bạn hãy cân nhắc cấu hình người dùng vào nhóm wireshark để thực thi lệnh, nhằm giảm thiểu rủi ro bảo mật khi chạy các công cụ phân tích mạng với đặc quyền root.
    • Độ chính xác của giao diện mạng: Bạn cần xác định đúng tên giao diện cần giám sát bằng lệnh tshark -D trước khi bắt đầu, tránh việc thu thập dữ liệu nhầm lẫn trên các cổng loopback hoặc giao diện không mong muốn.
    • Rủi ro lộ lọt thông tin nhạy cảm: tshark có thể thu giữ các thông tin chưa mã hóa như mật khẩu HTTP, nội dung Telnet,… do đó bạn cần tuân thủ các quy định về bảo mật dữ liệu và quyền riêng tư của tổ chức. 

    Theo kinh nghiệm của mình, tshark là công cụ rất mạnh nhưng cũng “nhạy cảm”, nếu dùng không kiểm soát dễ gây ảnh hưởng đến hiệu năng hệ thống hoặc vô tình thu thập dữ liệu nhạy cảm. Vì vậy, mình luôn ưu tiên lọc dữ liệu ngay từ đầu và chỉ capture những gì thực sự cần thiết.

    Lưu ý khi sử dụng lệnh tshark
    Lưu ý khi sử dụng lệnh tshark

    Câu hỏi thường gặp

    Lệnh tshark có hỗ trợ hệ điều hành Windows không?

    Có. Khi bạn cài đặt phần mềm Wireshark bản chuẩn, công cụ tshark sẽ được tích hợp sẵn trong thư mục cài đặt. Để sử dụng, bạn hãy mở Command Prompt hoặc PowerShell, di chuyển đến thư mục cài đặt Wireshark và gõ lệnh tshark.

    Làm thế nào để mở và khởi chạy tshark sau khi cài đặt?

    Vì tshark là một công cụ dòng lệnh, bạn không thể mở bằng cách nhấp đúp chuột vào biểu tượng như các ứng dụng thông thường. Thay vào đó, bạn phải mở cửa sổ Terminal hoặc Command Prompt, sau đó nhập lệnh tshark để bắt đầu phiên làm việc.

    Tôi có thể tìm mã nguồn của tshark ở đâu?

    tshark là một dự án mã nguồn mở và là một phần của bộ công cụ Wireshark. Bạn có thể tải toàn bộ mã nguồn của tshark tại trang chủ Wireshark hoặc trên kho lưu trữ GitLab chính thức của dự án để nghiên cứu hoặc tùy chỉnh theo nhu cầu.

    tshark có hỗ trợ bắt gói tin trên mạng không dây như wifi không?

    Có, tshark hỗ trợ bắt gói tin trên nhiều loại giao diện mạng khác nhau, bao gồm cả wifi. Tuy nhiên, để bắt được các gói tin quản trị hoặc dữ liệu thô từ các thiết bị khác, card mạng của bạn phải hỗ trợ và được chuyển sang chế độ giám sát.

    Sự khác biệt lớn nhất giữa tshark và tcpdump là gì?

    Cả tshark và tcpdump đều là công cụ dòng lệnh để bắt gói tin, nhưng tshark mạnh hơn ở khả năng phân tích sâu các giao thức ở tầng ứng dụng (Lớp 7) nhờ kế thừa bộ thư viện đồ sộ từ Wireshark. Trong khi đó, tcpdump thường nhẹ hơn và có sẵn trên hầu hết các hệ thống Unix mà không cần cài đặt thêm nhiều phụ thuộc.

    Tóm lại, tshark là công cụ hỗ trợ tối ưu trong việc quản trị mạng, kiểm tra bảo mật và gỡ lỗi kết nối trên Linux. Bạn hãy sử dụng tshark thường xuyên để chủ động kiểm soát và phân tích hệ thống mạng của mình một cách chuyên nghiệp. Cảm ơn bạn đã theo dõi bài viết và hẹn gặp lại bạn trong các bài viết tiếp theo.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng lệnh systemctl trong Linux để quản lý dịch vụ hệ thống chuyên nghiệp
    Cách dùng lệnh systemctl trong Linux để quản lý dịch vụ hệ thống chuyên nghiệp

    systemctl là công cụ dòng lệnh dùng để quản lý dịch vụ systemd trên Linux, cho phép start/stop/restart, bật/tắt autostart và kiểm tra trạng thái service. Trong bài viết này, mình sẽ giúp bạn hiểu rõ cơ chế hoạt động của systemd, sử dụng thành thạo lệnh systemctl và áp dụng hiệu quả vào các…

    02/04/2026

    Cách dùng lệnh netcat để đọc và ghi dữ liệu qua các kết nối mạng chi tiết
    Cách dùng lệnh netcat để đọc và ghi dữ liệu qua các kết nối mạng chi tiết

    netcat là một tiện ích dòng lệnh được sử dụng để đọc và ghi dữ liệu qua kết nối mạng bằng giao thức TCP hoặc UDP, hoạt động được như cả client lẫn server. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu chi tiết các tính năng, cú pháp lệnh và cách…

    02/04/2026

    Cách sử dụng lệnh traceroute Linux để theo dõi đường đi của gói tin mạng và xác định sự cố
    Cách sử dụng lệnh traceroute Linux để theo dõi đường đi của gói tin mạng và xác định sự cố

    traceroute là lệnh phân tích mạng quan trọng trên hệ điều hành Linux, được sử dụng để theo dõi lộ trình mà một gói tin IP di chuyển từ máy tính của bạn đến một máy chủ đích trên mạng. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh traceroute để…

    02/04/2026

    Hướng dẫn dùng lệnh host Linux để kiểm tra và truy vấn DNS nhanh chóng
    Hướng dẫn dùng lệnh host Linux để kiểm tra và truy vấn DNS nhanh chóng

    Lệnh host trong Linux là một tiện ích dòng lệnh dùng để truy vấn DNS, giúp bạn kiểm tra việc phân giải tên miền và tra cứu các bản ghi DNS một cách nhanh và đơn giản. Trong bài viết này, mình sẽ hướng dẫn chi tiết cách sử dụng lệnh host để kiểm tra…

    02/04/2026

    linux

    lenh

    text