Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Lệnh tcpdump trong Linux: Hướng dẫn toàn tập từ cơ bản đến nâng cao

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:23/05/2025
Lượt xem

Đánh giá

5/5 - (1 bình chọn)

Lệnh tcpdump là một công cụ dòng lệnh giúp bạn theo dõi và phân tích lưu lượng mạng ngay trên Linux. Bài viết này sẽ giúp bạn hiểu rõ tcpdump là gì, những đặc điểm nổi bật và cú pháp cơ bản để bắt đầu sử dụng. Bạn cũng sẽ được hướng dẫn cách cài đặt cụ thể trên từng bản phân phối phổ biến như Ubuntu, CentOS, Fedora và Arch. Ngoài ra, bài viết còn giới thiệu các lệnh mẫu thông dụng, biểu thức lọc nâng cao và cách tận dụng công cụ này trong công việc quản trị mạng.

ra mắt vps n8n

Điểm chính cần nắm

  • Lệnh tcpdump trong Linux là gì?: Giới thiệu tổng quan về công cụ tcpdump và ứng dụng trong phân tích lưu lượng mạng.
  • Cú pháp của lệnh tcpdump: Trình bày cú pháp chuẩn của tcpdump và cách sử dụng các tuỳ chọn.
  • Cài đặt lệnh tcpdump chi tiết: Hướng dẫn cài đặt tcpdump trên các bản phân phối Linux phổ biến.
  • Các lệnh cơ bản sử dụng tcpdump trên Linux: Tổng hợp các lệnh tcpdump thường dùng để theo dõi mạng.
  • Biểu thức lọc nâng cao trong tcpdump: Giải thích cách sử dụng các biểu thức lọc để phân tích lưu lượng chi tiết hơn.
  • Vietnix – Hạ tầng vững chắc cho quản trị mạng và hệ thống: Giới thiệu dịch vụ hạ tầng VPS tại Vietnix phù hợp cho công việc giám sát và phân tích mạng.
  • FAQ: Giải đáp các câu hỏi thường gặp liên quan đến lệnh tcpdump trong Linux.

Lệnh tcpdump trong Linux là gì?

Lệnh tcpdump trong Linux là một công cụ dòng lệnh dùng để bắt và phân tích lưu lượng mạng đi qua một giao diện mạng trên hệ thống. Đây là công cụ mạnh mẽ và phổ biến, thường được sử dụng để:

  • Chuẩn đoán sự cố mạng.
  • Phân tích bảo mật mạng.
  • Kiểm tra lưu lượng ứng dụng.
  • Theo dõi các gói dữ liệu trong thời gian thực (real time).
Lệnh tcpdump trong Linux là một công cụ dòng lệnh dùng để bắt và phân tích lưu lượng mạng
Lệnh tcpdump trong Linux là một công cụ dòng lệnh dùng để bắt và phân tích lưu lượng mạng

Một số đặc điểm nổi bật của tcpdump

  • Hoạt động trực tiếp từ dòng lệnh, phù hợp để chạy trên máy chủ không có giao diện đồ họa (GUI).
  • Hỗ trợ lọc gói tin mạnh mẽ theo địa chỉ IP, cổng, giao thức, v.v.
  • Có thể chạy dưới nền hoặc lên lịch tự động với cron.
  • Kết hợp tốt với thư viện libpcap để truy cập dữ liệu gói tin.

Cú pháp của lệnh tcpdump

Cú pháp cơ bản

sudo tcpdump [tùy chọn] [bộ lọc]

Tùy chọn thường dùng của lệnh tcpdump trong Linux

Tùy chọnMô tả
-i <giao_diện>Chỉ định giao diện mạng để bắt gói (vd: eth0, any)
-c <số>Dừng sau khi bắt đủ số lượng gói
-nKhông phân giải tên miền (hiển thị IP thô)
-nnKhông phân giải IP và cổng (hiển thị số cổng thô)
-v, -vv, -vvvMức độ chi tiết khi hiển thị gói tin
-w <file>Ghi gói tin vào file (dạng nhị phân .pcap)
-r <file>Đọc gói tin từ file .pcap
-tẨn dấu thời gian hiển thị
-ttttHiển thị thời gian đầy đủ, có ngày giờ
-s <bytes>Chỉ định số byte cần chụp trong mỗi gói (mặc định thường là 262144 hoặc 65535)
Tùy chọn phổ biến lệnh tcpdump

Biểu thức bộ lọc ([biểu_thức_bộ_lọc]):

Các biểu thức giúp lọc gói tin theo điều kiện. Một số ví dụ:

  • Giao thức: tcp, udp, icmp, ip, arp
  • Địa chỉ IP: host 192.168.1.10, src 10.0.0.1, dst 8.8.8.8
  • Cổng: port 80, src port 443, dst port 53
  • Tổ hợp: tcp and port 80 and src 192.168.1.5

Ví dụ:

sudo tcpdump -i wlp3s0 -nn -c 10 "tcp and port 80 and src 192.168.1.100"
  • -i wlp3s0: chỉ định giao diện mạng Wi-Fi
  • -nn: không phân giải tên host và por
  • -c 10: bắt 10 gói rồi thoát
  • "tcp and port 80 and src 192.168.1.100": chỉ lọc gói TCP từ IP nguồn 192.168.1.100 gửi đến cổng 80
Cú pháp của lệnh tcpdump
Cú pháp của lệnh tcpdump

Cài đặt lệnh tcpdump chi tiết

Trước khi bắt đầu sử dụng tcpdump để bắt gói tin và phân tích lưu lượng mạng, bạn cần chắc chắn rằng công cụ này đã được cài đặt trên hệ thống. Dưới đây là hướng dẫn chi tiết cách cài đặt tcpdump trên các bản phân phối Linux phổ biến.

Trên Ubuntu và Debian

Với các hệ điều hành dựa trên Debian như Ubuntu, việc cài đặt tcpdump khá đơn giản qua trình quản lý gói apt.

sudo apt update
sudo apt install tcpdump -y

Sau khi cài xong, bạn có thể kiểm tra phiên bản đã cài bằng lệnh:

tcpdump --version

Trên CentOS, RHEL

Đối với hệ điều hành CentOS hoặc Red Hat Enterprise Linux, bạn có thể sử dụng yum hoặc dnf (tùy vào phiên bản):

sudo yum install tcpdump -y
# hoặc
sudo dnf install tcpdump -y

Kiểm tra phiên bản:

tcpdump --version

Trên Fedora

Fedora sử dụng trình quản lý gói dnf, bạn chỉ cần chạy:

sudo dnf install tcpdump -y

Trên Arch Linux hoặc Manjaro

Với Arch và các bản phân phối dựa trên nó như Manjaro, bạn cài đặt bằng pacman:

sudo pacman -Syu tcpdump

Các lệnh cơ bản sử dụng tcpdump trên Linux

tcpdump là công cụ dòng lệnh mạnh mẽ dùng để bắt và phân tích các gói tin mạng. Dưới đây là tổng hợp các lệnh tcpdump thường dùng, kèm giải thích ngắn gọn để bạn dễ dàng áp dụng:

1. Bắt gói tin theo địa chỉ IP

  • Theo địa chỉ nguồn:
sudo tcpdump -i wlp3s0 -nn -c 10 "tcp and port 80 and src 192.168.1.100"
Bắt gói tin theo địa chỉ IP
Bắt gói tin theo địa chỉ IP
  • Theo địa chỉ đích:
tcpdump -i wlp3s0 dst 192.168.100.1

2. Xem danh sách interface khả dụng

tcpdump -D
Xem danh sách interface khả dụng
Xem danh sách interface khả dụng

3. Bắt gói tin trên interface cụ thể

tcpdump -i wlp3s0
Bắt gói tin trên interface cụ thể
Bắt gói tin trên interface cụ thể

4. Bắt gói tin theo port

tcpdump -i wlp3s0 port 22 -c 5 -n

Giải thích:

  • -c 5: chỉ bắt 5 gói tin rồi dừng
  • -n: hiển thị địa chỉ IP và số port thay vì hostname hoặc tên dịch vụ
Bắt gói tin theo port
Bắt gói tin theo port

5. Bắt gói TCP giữa hai host

tcpdump -i wlp3s0 tcp -c 5

Bạn có thể thay tcp bằng udp, icmp,…

Bắt gói TCP giữa hai host
Bắt gói TCP giữa hai host

6. Bắt một số lượng gói tin nhất định

tcpdump -c 10 -i wlp3s0
Bắt một số lượng gói tin nhất định
Bắt một số lượng gói tin nhất định

7. Bắt gói có kích thước nhỏ hơn N byte

tcpdump -i wlp3s0 -w small_packets.pcap less 1024

8. Lưu kết quả bắt gói thành file .pcap

tcpdump -i wlp3s0 -w /opt/capture.pcap

9. Đọc file .pcap đã lưu

tcpdump -tttt -r capture.pcap

10. Hiển thị nội dung gói tin ở định dạng ASCII

tcpdump -A -i wlp3s0
Hiển thị nội dung gói tin ở định dạng ASCII
Hiển thị nội dung gói tin ở định dạng ASCII

11. Hiển thị nội dung gói tin ở định dạng HEX và ASCII

tcpdump -XX -i wlp3s0
Hiển thị nội dung gói tin ở định dạng HEX và ASCII
Hiển thị nội dung gói tin ở định dạng HEX và ASCII

12. Thêm dấu thời gian chi tiết

tcpdump -n -tttt -i wlp3s0
Thêm dấu thời gian chi tiết
Thêm dấu thời gian chi tiết

13. Bắt gói tin và lưu trực tiếp vào file

tcpdump -w output.pcap -i wlp3s0
Bắt gói tin và lưu trực tiếp vào file
Bắt gói tin và lưu trực tiếp vào file

Biểu thức lọc nâng cao trong tcpdump

Bạn có thể sử dụng biểu thức trực tiếp để lọc gói tin chính xác hơn theo các điều kiện nhất định.

Một số ví dụ:

  • Gói có độ dài khác 5 byte:
    tcpdump 'len != 5'
    • Gói phát theo multicast:
      tcpdump 'ether[0] & 1 != 0'
      • Gói IP có tùy chọn header:
      tcpdump 'ip[0] & 0xf != 5'
      • Gói không bị phân mảnh:
      tcpdump 'ip[6:2] & 0x1fff = 0'
      Tham sốÝ nghĩa
      host 1.2.3.4Bắt các gói liên quan đến IP 1.2.3.4
      src 1.2.3.4Chỉ bắt gói từ địa chỉ IP nguồn
      dst 1.2.3.4Chỉ bắt gói gửi đến địa chỉ đích
      port 80Bắt gói tin trên cổng 80
      tcp, udp, icmpBắt theo giao thức cụ thể
      net 192.168.1.0/24Bắt gói trong một mạng con
      Một số tham số thường dùng

      Vietnix – Hạ tầng vững chắc cho quản trị mạng và hệ thống

      Khi làm việc với các công cụ như tcpdump để giám sát lưu lượng mạng, truy vết lỗi hệ thống hay kiểm tra hiệu suất dịch vụ, điều quan trọng là có một môi trường máy chủ ổn định, tốc độ cao và sẵn sàng hoạt động liên tục. Vietnix cung cấp đa dạng dòng VPS như VPS NVMe, VPS AMD, VPS SSD và VPS Giá rẻ – tất cả đều được tối ưu hóa cho hiệu suất mạng, giúp bạn xử lý tác vụ từ đơn giản đến chuyên sâu mà không gặp tình trạng nghẽn băng thông hay thiếu tài nguyên.

      Đặc biệt, Vietnix còn có dịch vụ VPS n8n – dòng máy chủ tối ưu cho các hệ thống automation phức tạp, giúp bạn xây dựng các luồng công việc tự động một cách ổn định, lâu dài và hiệu quả. Với hạ tầng mạnh mẽ, tốc độ truyền tải nhanh, bảo mật cao và đội ngũ kỹ thuật hỗ trợ 24/7, Vietnix là lựa chọn đáng tin cậy cho những ai đang triển khai hệ thống giám sát, phân tích hoặc xây dựng nền tảng tự động hóa chuyên nghiệp.

      Thông tin liên hệ:

      • Website: https://vietnix.vn/
      • Hotline: 1800 1093
      • Email: sales@vietnix.com.vn
      • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

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

      Lệnh tcpdump dùng để làm gì trong Linux?

      tcpdump là công cụ dòng lệnh dùng để bắt gói (packet capture) và phân tích lưu lượng mạng theo thời gian thực, giúp người dùng giám sát, kiểm tra hoặc phân tích sự cố mạng.

      Làm sao để bắt gói mạng trên một interface cụ thể bằng tcpdump?

      Sử dụng lệnh: tcpdump -i eth0 để bắt gói trên giao diện eth0. Thay eth0 bằng tên giao diện mạng bạn muốn giám sát.

      Có thể dùng tcpdump để phân tích DNS hoặc HTTP không?

      Có. Ví dụ: tcpdump port 53 để theo dõi DNS, hoặc tcpdump port 80 để theo dõi HTTP. Tuy nhiên, nội dung có thể bị mã hóa (HTTPS).

      Có thể dùng tcpdump để debug kết nối giữa hai server không?

      Có. Bạn có thể lọc theo IP nguồn và đích để xem toàn bộ lưu lượng giữa hai server, ví dụ: tcpdump src host A and dst host B.

      Lệnh tcpdump có yêu cầu quyền root không?

      Có. Thường cần chạy sudo vì việc bắt gói yêu cầu quyền truy cập thấp tầng vào mạng.

      Làm sao để kết hợp tcpdump với cron để ghi log mạng định kỳ?

      Bạn có thể viết script shell sử dụng tcpdump -w, rồi lên lịch với cron để ghi log theo từng khung thời gian, ví dụ: mỗi giờ một file .pcap.

      Có cách nào để lọc gói chỉ khi có cả chiều đi và về (bi-directional flow)?

      Bạn cần dùng biểu thức lọc kết hợp, ví dụ: tcpdump 'src host A and dst host B or src host B and dst host A'.

      Có thể dùng tcpdump để phát hiện tấn công mạng như SYN flood không?

      Có. Bạn có thể dùng tcpdump 'tcp[13] == 2' để bắt các gói SYN và đếm số lượng bất thường.

      Có thể dùng tcpdump để phát hiện truy cập bất thường vào server không?

      Có. Ví dụ: bạn có thể phát hiện port scan hoặc lượng kết nối bất thường từ một IP bằng cách lọc tần suất và số lượng gói.

      Lời kết

      Khi sử dụng hiệu quả lệnh tcpdump, bạn có thể dễ dàng giám sát, phân tích và xử lý sự cố mạng ngay trên dòng lệnh, tiết kiệm thời gian và tối ưu vận hành hệ thống. Nếu bạn còn bất kỳ thắc mắc nào về lệnh tcpdump trong Linux, đừng ngần ngại để lại bình luận bên dưới. Hoặc bạn có thể liên hệ trực tiếp với đội ngũ kỹ thuật của Vietnix để được hỗ trợ chi tiết. Đừng quên theo dõi blog để cập nhật thêm nhiều hướng dẫn hữu ích khác dành cho quản trị hệ thống.

      Mọi người cũng xem:

      THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

      Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

      Đánh giá mức độ hữu ích của bài viết

      icon 1 sao

      Thất vọng

      icon 2 sao

      Chưa hữu ích

      icon 3 sao

      Bình thường

      icon 4 sao

      Hữu ích

      icon 5 sao

      Rất hữu ích

      Hưng Nguyễn

      Co-Founder
      tại

      Kết nối với mình qua

      Kết nối với mình qua

      Theo dõi
      Thông báo của
      guest
      0 Comments
      Phản hồi nội tuyến
      Xem tất cả bình luận

      Tăng tốc độ website - Nâng tầm giá trị thương hiệu

      Banner group
      Tăng tốc tải trang

      95 điểm

      Nâng cao trải nghiệm người dùng

      Tăng 8% tỷ lệ chuyển đổi

      Thúc đẩy SEO, Google Ads hiệu quả

      Tăng tốc ngay

      SẢN PHẨM NỔI BẬT

      Icon tab

      MAXSPEED HOSTING

      TĂNG TỐC WEBSITE TOÀN DIỆN

      CÔNG NGHỆ ĐỘC QUYỀN

      Vector

      PHẦN CỨNG MẠNH MẼ

      Vector

      HỖ TRỢ 24/7

      Vector
      ĐĂNG KÝ NGAYGroup icon
      khuyến mãi sinh nhật
      Nhanh tay, số lượng có hạn!
      17/05/2025 - 22/06/2025
      Pattern

      7 NGÀY DÙNG THỬ HOSTING

      NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

      Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

      icon popup single post

      CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

      Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

      ĐÓNG

      Đánh giá mức độ hữu ích của bài viết

      icon 1 sao

      Thất vọng

      icon 2 sao

      Chưa hữu ích

      icon 3 sao

      Bình thường

      icon 4 sao

      Hữu ích

      icon 5 sao

      Rất hữu ích

      Icon
      ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
      Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
      ĐÓNG

      ĐĂNG KÝ DÙNG THỬ HOSTING

      Asset

      7 NGÀY MIỄN PHÍ

      Asset 1

      ĐĂNG KÝ DÙNG THỬ HOSTING

      Asset

      7 NGÀY MIỄN PHÍ

      Asset 1
      Icon
      XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
      Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
      ĐÓNG