Hướng Dẫn Sử Dụng Lệnh tcpdump Trên Linux Từ Cơ Bản Đến Nâng Cao

Trong quản trị máy chủ, lệnh tcpdump là công cụ dòng lệnh tiêu chuẩn dùng để bắt, phân tích và trích xuất các gói tin mạng truyền qua giao diện mạng trên hệ điều hành Linux. Quản trị viên sử dụng công cụ này để cô lập lỗi kết nối ứng dụng, phát hiện các đợt lưu lượng bất thường hoặc giám sát quá trình bắt tay TCP trực tiếp trên terminal. Môi trường hạ tầng máy chủ tại InterData cung cấp quyền kiểm soát root tuyệt đối, hỗ trợ kỹ sư vận hành triển khai các tác vụ chẩn đoán mạng chuyên sâu này nhanh chóng.

tcpdump là gì và hoạt động như thế nào?

tcpdump là tiện ích phân tích gói tin mạng (packet analyzer) hoạt động dưới dạng dòng lệnh trên Linux. Công cụ sử dụng thư viện libpcap để chặn các khung dữ liệu ở tầng liên kết dữ liệu, sau đó giải mã tiêu đề và nội dung gói tin dựa trên cơ chế lọc gói Berkeley Packet Filter (BPF) trực tiếp từ nhân Linux.

Để hiểu rõ bản chất, tcpdump can thiệp vào tầng mạng thông qua các thành phần cốt lõi:

  • Thư viện libpcap: Cung cấp giao diện cấp thấp để tương tác với raw socket của Linux kernel. Thay vì đợi gói tin đi qua toàn bộ network stack để đến tiến trình ứng dụng, libpcap nhân bản bản sao của gói tin ngay khi vừa chạm tới card mạng vật lý hoặc card ảo.
  • Cơ chế BPF (Berkeley Packet Filter): Bộ máy lọc nằm ngay trong không gian kernel (kernel space). Khi bạn chỉ định điều kiện lọc (ví dụ: chỉ lấy port 80), BPF loại bỏ các gói tin không khớp trước khi sao chép dữ liệu lên không gian người dùng (user space). Nhờ vậy, máy chủ tiết kiệm tối đa chu kỳ xử lý của CPU và tránh tràn bộ nhớ khi lưu lượng mạng quá lớn.
  • Chế độ Promiscuous Mode: Mặc định khi kích hoạt, công cụ chuyển card mạng sang chế độ nhận toàn bộ khung truyền (promiscuous mode), bắt được cả những gói tin không gửi trực tiếp đến địa chỉ MAC của máy chủ nếu đang kết nối trong cùng miền phát thanh (broadcast domain).

Kỹ năng điều khiển công cụ này nằm trong nhóm các lệnh Linux cơ bản mà mọi kỹ sư hạ tầng và quản trị viên hệ thống bắt buộc phải nắm vững khi quản trị máy chủ production.

Lệnh tcpdump

DÀNH CHO DEV & SYSADMIN

VPS Dev & Staging

IPv4 Riêng • Port 10Gbps • Toàn quyền Root OS

Cần môi trường máy chủ chuẩn để Test Webhook, API và Debug hệ thống?

Mạng Localhost không thể test được Webhook hay phân tích gói tin Internet thực tế. Hãy triển khai ngay VPS Staging riêng biệt trên nền SSD NVMe Enterprise. An toàn kiểm thử, không lo ảnh hưởng Production.

Khởi Tạo VPS Staging Ngay (Chỉ từ vài nghìn/ngày) →
✔ Cài đặt tự động trong 60s  •  ✔ Hỗ trợ đa dạng OS (Ubuntu, AlmaLinux, Debian)

So sánh tcpdump, Wireshark và tshark: nên chọn công cụ nào?

Cả ba công cụ đều phục vụ mục đích phân tích mạng nhưng được thiết kế cho các môi trường và trường hợp sử dụng khác nhau. Bảng dưới đây đối chiếu chi tiết ba công cụ phổ biến nhất hiện nay:

Tiêu chí tcpdump Wireshark tshark
Giao diện Dòng lệnh (CLI) thuần túy Đồ họa (GUI) trực quan Dòng lệnh (CLI) của Wireshark
Môi trường chạy Máy chủ Linux không màn hình (Headless) Máy trạm cá nhân (Windows, macOS, Desktop Linux) Server hoặc Script tự động hóa
Tài nguyên tiêu tốn Thấp, footprint tối thiểu Nhiều RAM khi mở file dung lượng lớn Trung bình
Cú pháp lọc Cú pháp BPF (host, port, net) Display Filters (tcp.port == 80) Hỗ trợ cả BPF và Display Filters
Khả năng phân tích sâu Cơ bản (xem header, payload thô dạng Hex/ASCII) Chuyên sâu (Reassemble TCP stream, giải mã SSL/TLS) Rất mạnh qua các tham số giải mã (-z, -T)

Quy trình vận hành tiêu chuẩn là dùng tcpdump để bắt gói tin và ghi ra tệp tin .pcap trực tiếp trên server từ xa, sau đó tải về máy cá nhân mở bằng phần mềm Wireshark để mổ xẻ cấu trúc luồng dữ liệu.

Cài đặt tcpdump trên Linux

Hầu hết các bản phân phối Linux không cài đặt sẵn gói tiện ích này theo mặc định. Quá trình thiết lập yêu cầu người dùng sở hữu đặc quyền quản trị viên sudo hoặc quyền root. Nếu bạn là người mới làm quen với máy chủ, hãy tham khảo thêm bài viết hướng dẫn sử dụng VPS lần đầu để nắm cách thiết lập quyền tài khoản.

Cài đặt trên hệ điều hành Ubuntu và Debian

Trên môi trường Ubuntu hoặc Debian, bạn cập nhật danh mục gói và cài đặt thông qua trình quản lý apt:

sudo apt update
sudo apt install tcpdump -y

Cài đặt tcpdump trên hệ điều hành Ubuntu

Cài đặt trên CentOS, AlmaLinux và Rocky Linux

Đối với CentOS 7, sử dụng trình quản lý yum:

sudo yum install tcpdump -y

Đối với AlmaLinux 8/9, Rocky Linux hoặc RHEL hiện đại, sử dụng trình quản lý dnf:

sudo dnf install tcpdump -y

Kiểm tra phiên bản cài đặt thành công

Sau khi tiến trình cài đặt hoàn tất, xác minh phiên bản binary và thư viện libpcap đi kèm:

tcpdump --version

Kết quả hiển thị trên terminal sẽ tương tự như sau:

tcpdump version 4.99.4
libpcap version 1.10.4 (with TPACKET_V3)
OpenSSL 3.0.13 30 Jan 2024

Kiểm tra phiên bản tcpdump cài đặt thành công

Các lệnh tcpdump cơ bản cần biết khi bắt gói tin

Khi thực hiện xử lý sự cố mạng, áp dụng các cờ (flags) chính xác giúp cô lập dữ liệu cần thiết thay vì để màn hình tràn ngập hàng nghìn dòng thông tin không liên quan. Bảng tổng hợp dưới đây liệt kê các tham số cơ bản nhất:

Cờ (Flag) Chức năng kỹ thuật Mục đích sử dụng thực tế
-D Liệt kê danh sách network interface Xác định tên card mạng (eth0, ens3, lo)
-i [interface] Chỉ định interface cần lắng nghe Lắng nghe trên card chỉ định hoặc toàn bộ (any)
-n Không phân giải DNS ngược cho IP Tăng tốc độ hiển thị, tránh trễ do DNS lookups
-nn Không phân giải cả tên miền và tên port Hiển thị số hiệu port thuần (ví dụ: 80 thay vì http)
-c [số_lượng] Giới hạn số gói tin cần thu thập Tự động thoát tiến trình sau khi bắt đủ số gói tin
-v / -vv / -vvv Tăng cấp độ chi tiết (verbosity) Xem TTL, cờ TCP, ID gói tin, checksum
-A Hiển thị payload dưới định dạng ASCII Đọc nội dung văn bản thô như HTTP GET/POST, SMTP
-X Hiển thị cả mã Hex và ký tự ASCII Phân tích payload nhị phân chi tiết
-s0 Thiết lập snapshot length bằng 0 (vô hạn) Bắt toàn bộ chiều dài gói tin, tránh bị cắt cụt (truncation)

Liệt kê các giao diện mạng khả dụng

Trước khi bắt đầu thu thập, bạn cần xác định card mạng đang nhận lưu lượng:

sudo tcpdump -D

Đầu ra mẫu:

1.eth0 [Up, Running, Connected]
2.any (Pseudo-device that captures on all interfaces) [Up, Running]
3.lo [Up, Running, Loopback]

Liệt kê các giao diện mạng khả dụng bằng tcpdump

Bắt gói tin trên giao diện mạng xác định

Để theo dõi lưu lượng trên card eth0 hoặc ens3, giới hạn 10 gói tin và hiển thị địa chỉ số thuần túy:

sudo tcpdump -i eth0 -nn -c 10

Bắt gói tin trên giao diện mạng xác định bằng lệnh tcpdump

Giải mã định dạng đầu ra của tcpdump

Một dòng nhật ký bắt gói tin điển hình có cấu trúc sau:

21:15:02.105432 IP 192.168.1.50.45210 > 103.56.156.20.443: Flags [P.], seq 1:120, ack 1, win 502, length 119

Ý nghĩa từng trường dữ liệu:

  1. 21:15:02.105432: Thời gian gói tin được ghi nhận (Giờ:Phút:Giây.Microgiây).
  2. IP: Giao thức tầng mạng (IPv4).
  3. 192.168.1.50.45210: Địa chỉ IP nguồn và cổng nguồn (Port 45210).
  4. 103.56.156.20.443: Địa chỉ IP đích và cổng đích (Port 443 – HTTPS).
  5. Flags [P.]: Cờ điều khiển TCP. [S] là SYN, [.] là ACK, [P] là PUSH, [F] là FIN, [R] là RST. Cụm [P.] nghĩa là gói tin mang cả cờ PUSH và ACK.
  6. seq 1:120: Dải số thứ tự gói tin (Sequence number) từ byte số 1 đến 120 (chứa 119 bytes dữ liệu).
  7. ack 1: Số xác nhận (Acknowledge number) mong muốn nhận tiếp theo.
  8. win 502: Kích thước cửa sổ nhận (Window size) khả dụng của phía gửi.
  9. length 119: Chiều dài của phần thân dữ liệu (payload) tính theo byte.

Khi cần đối chiếu trạng thái cổng đang mở hoặc các kết nối đang hoạt động song song với quá trình bắt gói, bạn có thể chạy kết hợp công cụ lệnh netstat trên một phiên terminal khác.

Bộ lọc tcpdump nâng cao với BPF filter

Bộ lọc BPF cho phép bạn xây dựng các biểu thức điều kiện logic chính xác. Nhờ khả năng biên dịch trực tiếp thành mã máy trong kernel, BPF xử lý việc lọc gói tin với tốc độ cực cao, không làm tắc nghẽn buffer của hệ thống.

Lọc theo địa chỉ IP hoặc dải mạng (Subnet)

Lọc các gói tin có địa chỉ nguồn hoặc đích là một host cụ thể:

sudo tcpdump -i eth0 -nn host 192.168.1.100

Lọc lưu lượng theo dải mạng CIDR sử dụng định danh net:

sudo tcpdump -i eth0 -nn net 10.0.0.0/24

Chỉ định rõ hướng dữ liệu đi bằng tiền tố src (nguồn) hoặc dst (đích):

sudo tcpdump -i eth0 -nn src net 192.168.0.0/16 and dst host 103.56.156.20

Lọc theo cổng và dải cổng (Port & Portrange)

Giám sát toàn bộ gói tin gửi và nhận qua một cổng dịch vụ:

sudo tcpdump -i eth0 -nn port 80

Lọc một dải cổng liên tiếp:

sudo tcpdump -i eth0 -nn portrange 8000-8080

Lọc theo giao thức mạng

Bạn có thể giới hạn bắt các giao thức tầng giao vận hoặc giao thức hỗ trợ như tcp, udp, icmp, hoặc arp:

sudo tcpdump -i eth0 -nn icmp

Kết hợp các toán tử logic: AND, OR, NOT

Khi kiểm tra các dịch vụ web phức tạp, phối hợp các toán tử logic giúp loại trừ thông tin dư thừa:

# Lọc gói tin web (80 hoặc 443) nhưng LOẠI TRỪ IP máy quản trị viên
sudo tcpdump -i eth0 -nn "(port 80 or port 443) and not host 118.69.182.15"

Lọc chuyên sâu theo cờ TCP (TCP Flags) bằng Bitmask

Kỹ thuật này dùng để phát hiện các gói khởi tạo kết nối hoặc chấm dứt kết nối bất thường. tcpdump cho phép kiểm tra các byte cụ thể trong tiêu đề TCP:

# Bắt các gói tin chỉ mang cờ TCP SYN (yêu cầu kết nối mới)
sudo tcpdump -i eth0 -nn "tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) == 0"

Lệnh trên trích xuất byte số 13 trong TCP header, thực hiện phép toán bit AND để kiểm tra cờ SYN bật và cờ ACK tắt. Biểu thức này vô cùng hữu ích khi kiểm tra các rule định tuyến tường lửa với iptables để xác nhận gói SYN có bị drop hay không.

Tiết Kiệm Đến 80% Chi Phí VPS & Cloud Server

Khoan mua giá gốc! Trang Canh Me đang phát hành các ưu đãi độc quyền, cấu hình RAM khủng, SSD NVMe Gen4 chỉ dành riêng cho độc giả.

Xem Ưu Đãi Tại Canh Me Ngay (Số Lượng Có Hạn) →

Các use case thực tế của lệnh tcpdump trên VPS

Việc vận hành máy chủ thực tế trên môi trường VPS (Virtual Private Server) thường xuyên phát sinh lỗi giao tiếp giữa các tầng dịch vụ. Dưới đây là 5 kịch bản thực tế kèm lệnh thực thi trực tiếp.

1. Bắt gói tin HTTP/HTTPS để debug ứng dụng web

Khi API trả về lỗi hoặc proxy Nginx không thể chuyển tiếp request tới backend Node.js hay PHP-FPM, bạn cần xem rõ tiêu đề HTTP gửi lên máy chủ:

sudo tcpdump -i eth0 -nn -A -s 0 "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12:2]&0xf0)>>2)) != 0)"

Biểu thức trên lọc toàn bộ gói tin mang tải trọng (payload) trên cổng 80 và in dữ liệu dưới dạng ký tự ASCII (-A). Bạn sẽ thấy rõ các trường Host, User-Agent, Cookie, và phương thức GET / POST đang gửi tới.

2. Phát hiện tấn công DDoS và brute-force

Khi máy chủ bị quá tải CPU đột biến do lưu lượng mạng tăng cao, hãy kiểm tra xem có hiện tượng SYN Flood tấn công cổng SSH hoặc Web hay không:

sudo tcpdump -i eth0 -nn -c 500 "tcp[tcpflags] & tcp-syn != 0" | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -nr | head -n 10

Lệnh này bắt 500 gói tin SYN, trích xuất IP nguồn, đếm số lượng xuất hiện và sắp xếp từ cao xuống thấp. Nếu một địa chỉ IP gửi hàng nghìn gói SYN trong thời gian ngắn mà không hoàn thành bắt tay 3 bước, bạn có thể dùng dịch vụ bảo vệ tự động như Fail2ban để chặn IP đó ngay lập tức.

3. Debug kết nối cơ sở dữ liệu (MySQL / PostgreSQL)

Khi ứng dụng backend báo lỗi “Connection timed out” hoặc “Access denied” khi kết nối tới máy chủ cơ sở dữ liệu riêng biệt, hãy theo dõi cổng dữ liệu tương ứng:

# Đối với MySQL / MariaDB (Port 3306)
sudo tcpdump -i any -nn port 3306 -vv

# Đối với PostgreSQL (Port 5432)
sudo tcpdump -i any -nn port 5432 -vv

Nếu bạn thấy gói SYN gửi đi nhưng đầu bên kia phản hồi lại cờ [R.] (RST-ACK), nghĩa là dịch vụ database chưa khởi chạy hoặc cổng chưa được phép lắng nghe trên interface đó. Nếu hoàn toàn không có phản hồi, kết nối đang bị chặn ở mức mạng.

4. Kiểm tra và xác minh rule tường lửa (UFW / iptables)

Sau khi thiết lập các chính sách bảo mật với tường lửa UFW (Uncomplicated Firewall) hoặc cấu hình iptables, bạn cần kiểm tra xem gói tin đến có thực sự bị chặn lại không:

sudo tcpdump -i eth0 -nn "dst port 22 and src host 198.51.100.25"

Từ máy client có IP 198.51.100.25, thử kết nối SSH. Nếu tcpdump hiển thị gói tin chạm tới card mạng nhưng không có gói phản hồi đi ra, rule tường lửa của bạn đã thực thi thành công việc DROP lưu lượng.

5. Kết hợp tcpdump và Wireshark trực tiếp qua SSH

Bạn không cần phải lưu file rồi chuyển qua SFTP một cách thủ công. Kỹ sư có thể tạo đường ống (pipe) để truyền luồng dữ liệu packet thời gian thực từ VPS Linux về phần mềm Wireshark cài trên máy trạm cá nhân:

# Chạy lệnh này trên máy trạm của bạn (Linux / macOS terminal)
ssh [email protected] "tcpdump -s0 -U -n -w - -i eth0 not port 22" | wireshark -k -i -

Giải thích các tham số trong đường ống:

  • -w -: Ghi luồng nhị phân trực tiếp ra đầu ra chuẩn (STDOUT).
  • -U: Buộc tcpdump ghi từng gói tin vào output buffer ngay khi bắt được, không chờ gom đầy block.
  • not port 22: Loại bỏ lưu lượng SSH của chính phiên kết nối hiện tại để tránh tạo ra vòng lặp vô tận (packet loop).
  • wireshark -k -i -: Khởi động Wireshark, lắng nghe dữ liệu từ đầu vào chuẩn (STDIN) và bắt đầu phân tích ngay lập tức.

Lưu và đọc file .pcap với lệnh tcpdump

Khi xử lý sự cố mạng gián đoạn theo chu kỳ, việc quan sát trực tiếp trên terminal là bất khả thi. Quản trị viên cần ghi lại toàn bộ dấu vết gói tin vào tệp định dạng chuẩn .pcap để phục vụ điều tra sau này.

Ghi lưu lượng ra file pcap

Sử dụng cờ -w để chỉ định đường dẫn lưu trữ:

sudo tcpdump -i eth0 -s 0 -w /var/log/traffic_capture.pcap port 80 or port 443

Cơ chế xoay vòng file (Log Rotation) để chống tràn đĩa cứng

Chạy tcpdump trên hệ thống có lưu lượng lớn rất dễ làm đầy dung lượng ổ đĩa. Sử dụng cờ -C (giới hạn dung lượng theo MegaByte) và -W (số lượng file tối đa được lưu trữ vòng lặp):

sudo tcpdump -i eth0 -s 0 -C 100 -W 5 -w /var/log/capture_rolling.pcap

Hệ thống sẽ tạo ra các tệp capture_rolling.pcap0, capture_rolling.pcap1 đến capture_rolling.pcap4. Khi đạt giới hạn 100MB ở file cuối, nó sẽ tự động ghi đè lại file đầu tiên.

Bạn cũng có thể xoay vòng tệp tin theo chu kỳ thời gian với tham số -G (tính theo giây). Lệnh sau tạo tệp mới sau mỗi 3600 giây (1 giờ):

sudo tcpdump -i eth0 -s 0 -G 3600 -w /var/log/traffic_%Y%m%d_%H%M%S.pcap

Đọc lại file pcap với bộ lọc

Sử dụng tham số -r để đọc file đã lưu. Bạn vẫn có thể áp dụng đầy đủ các bộ lọc BPF như khi bắt trực tiếp:

sudo tcpdump -nn -r /var/log/traffic_capture.pcap host 192.168.1.50 and port 443

Khi trích xuất và lưu trữ file capture mạng, cần tuân thủ nghiêm ngặt quy trình bảo mật VPS Linux vì payload có thể chứa dữ liệu nhạy cảm hoặc chuỗi xác thực chưa được mã hóa. Song song với việc chẩn đoán cấp độ gói tin, bạn có thể cài đặt hệ thống giám sát đồ họa như Netdata để quan sát lưu lượng băng thông tổng thể theo thời gian thực.

HẠ TẦNG DOANH NGHIỆP

Cloud Server Cao Cấp

Port Mạng 10Gbps • Anti-DDoS Tự Động • Cam Kết 99.99% Uptime

Mệt mỏi vì server cũ liên tục nghẽn mạng, drop packet hoặc bị DDoS?

Đừng để sự cố mạng làm gián đoạn doanh thu. Nâng cấp lên Cloud Server InterData với đường truyền tốc độ cao không bóp băng thông, phần cứng 100% Enterprise NVMe U.2 và hệ thống lọc tấn công tự động đa tầng.

Khám Phá Giải Pháp Cloud Chịu Tải Cao →
✔ Hỗ trợ chuyển dữ liệu miễn phí  •  ✔ Kỹ thuật trực NOC 24/7/365

Xử lý sự cố thường gặp khi dùng lệnh tcpdump

Sự cố 1: Lỗi “tcpdump: command not found”

Nguyên nhân: Tiện ích chưa được cài đặt trong hệ điều hành hoặc đường dẫn thực thi không nằm trong biến môi trường $PATH của người dùng hiện tại.

Cách xử lý: Kiểm tra đường dẫn cài đặt và thiết lập lại gói tiện ích:

# Kiểm tra vị trí nhị phân
which tcpdump

# Nếu không có phản hồi, tiến hành cài đặt lại theo bản phân phối
sudo apt install tcpdump -y || sudo dnf install tcpdump -y

Sự cố 2: Lỗi “tcpdump: eth0: No such device exists” hoặc “no suitable device found”

Nguyên nhân: Trên các phiên bản Linux hiện đại áp dụng quy chuẩn đặt tên Consistent Network Device Naming, card mạng vật lý hoặc ảo hóa không còn mang tên eth0 mà đổi thành ens3, ens18, enp1s0, hoặc venet0.

Cách xử lý: Sử dụng lệnh xem danh sách thiết bị để lấy tên chính xác trước khi gán vào cờ -i:

# Liệt kê giao diện qua ip command
ip link show

# Hoặc dùng trực tiếp tcpdump
sudo tcpdump -D

# Chạy với đúng tên card hiển thị
sudo tcpdump -i ens3 -nn

Sự cố 3: Lỗi “Permission denied” / “Operation not permitted”

Nguyên nhân: Việc mở raw socket và đưa card mạng vào chế độ promiscuous mode đòi hỏi đặc quyền cấp kernel CAP_NET_RAW và CAP_NET_ADMIN.

Cách xử lý: Chạy lệnh với tiền tố sudo. Trong trường hợp cần cấp quyền chạy cho người dùng không phải root mà không muốn chia sẻ mật khẩu quản trị, gán capability cho file nhị phân:

sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/tcpdump
getcap /usr/bin/tcpdump

Sự cố 4: Cảnh báo “packets dropped by kernel”

Nguyên nhân: Khi lưu lượng mạng quá lớn, không gian bộ đệm (socket buffer) trong kernel dành cho tcpdump bị tràn trước khi ứng dụng kịp đọc và hiển thị ra màn hình terminal.

Cách xử lý: Tăng kích thước bộ đệm với cờ -B (tính theo KiB) và hạn chế xuất dữ liệu thô ra màn hình:

# Tăng bộ đệm lên 4MB (4096 KiB) và lưu trực tiếp ra file thay vì in ra màn hình
sudo tcpdump -i eth0 -B 4096 -w /tmp/capture_perf.pcap -n

Câu Hỏi Thường Gặp về Lệnh tcpdump

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

Công cụ này dùng để thu giữ, trích xuất và lọc các gói tin mạng truyền qua card mạng máy chủ Linux. Quản trị viên sử dụng tiện ích này để xử lý sự cố kết nối, phân tích lỗi bắt tay TCP, giám sát lưu lượng bất thường và ghi lại tệp pcap phục vụ kiểm tra an ninh mạng.

tcpdump có cần quyền root không?

Có. Việc mở raw socket để đọc các khung truyền dữ liệu và đưa card mạng vào chế độ promiscuous mode đòi hỏi đặc quyền cao nhất của nhân Linux. Bạn cần thực thi thông qua tài khoản root hoặc sử dụng sudo, trừ khi đã cấp quyền cap_net_raw cụ thể cho tệp nhị phân.

Làm sao để dừng tcpdump sau khi bắt đủ số gói tin?

Bạn có thể chỉ định tham số -c đi kèm số lượng gói cần thu thập để tiến trình tự ngắt khi đủ số lượng, ví dụ -c 100. Nếu đang chạy bắt trực tiếp mà không gán tham số này, hãy nhấn tổ hợp phím Ctrl + C để gửi tín hiệu ngắt SIGINT dừng tiến trình.

tcpdump khác Wireshark như thế nào?

tcpdump là tiện ích dòng lệnh gọn nhẹ, tiêu thụ rất ít tài nguyên và chuyên chạy trên các máy chủ không có giao diện đồ họa. Wireshark sở hữu giao diện người dùng trực quan, hỗ trợ dựng lại luồng dữ liệu chuyên sâu và thích hợp vận hành trên máy tính cá nhân để mở file pcap.

Làm thế nào để xem file .pcap mà không cần cài Wireshark?

Bạn sử dụng trực tiếp tham số -r của tcpdump cùng với các bộ lọc BPF để đọc nội dung file ngay trên terminal. Ngoài ra, bạn có thể cài đặt công cụ tshark hoặc tcpflow trên Linux để phân tích cấu trúc luồng dữ liệu mà không cần môi trường giao diện đồ họa.

Kết luận: Dùng lệnh tcpdump đúng cách để chẩn đoán mạng nhanh hơn

Thành thạo lệnh tcpdump giúp bạn nhanh chóng làm chủ kỹ năng cô lập lỗi mạng, phân tích hành vi gói tin và tăng cường bảo mật hạ tầng máy chủ Linux. Việc kết hợp linh hoạt bộ lọc BPF, trích xuất đúng trường dữ liệu và lưu trữ file .pcap khoa học sẽ tiết kiệm thời gian đáng kể khi vận hành hệ thống thực tế.

Để rèn luyện các câu lệnh thực tế mà không gây ảnh hưởng tới hệ thống đang hoạt động, bạn nên chuẩn bị một máy chủ thử nghiệm riêng. Hãy tham khảo bảng giá dịch vụ VPS hoặc tìm kiếm các ưu đãi mới nhất tại cổng tin Canh Me của InterData để bắt đầu thiết lập môi trường lab mạng của riêng bạn.

Nội dung mang tính tham khảo. Lệnh, cú pháp, đường dẫn file và tùy chọn cấu hình có thể thay đổi theo phiên bản hệ điều hành, phiên bản tcpdump và môi trường cụ thể. Nên kiểm thử, sao lưu dữ liệu và đánh giá rủi ro trước khi áp dụng lên server production.