Giám sát lưu lượng mạng với tcpdump trên Linux
Một trong những lý do khiến Linux được ưa chuộng trong lĩnh vực bảo mật và phát triển hệ thống là nhờ bộ công cụ mạng mạnh mẽ có sẵn. Từ góc độ an ninh mạng, khả năng sniffing lưu lượng ở chế độ promiscuous bằng công cụ tcpdump là cực kỳ quan trọng. Với tcpdump, bạn có thể quan sát trực tiếp các gói tin hoặc ghi lại để phân tích sau, áp dụng bộ lọc để tập trung vào những luồng dữ liệu quan trọng, thậm chí ghi lại toàn bộ Ethernet frame và payload để phân tích chi tiết.
Cú pháp cơ bản của tcpdump
sudo tcpdump <options> <filters>
sudo tcpdump -i ens33 -Xnns 0 host 192.168.222.1
Lọc nâng cao
Lưu dữ liệu capture
Lưu ý khi bắt gói tin trong môi trường production
Câu hỏi ôn tập
Công cụ dòng lệnh nào được dùng để bắt lưu lượng mạng thụ động để phân tích?
Một trong những lý do khiến Linux được ưa chuộng trong lĩnh vực bảo mật và phát triển hệ thống là nhờ bộ công cụ mạng mạnh mẽ có sẵn. Từ góc độ an ninh mạng, khả năng sniffing lưu lượng ở chế độ promiscuous bằng công cụ tcpdump là cực kỳ quan trọng. Với tcpdump, bạn có thể quan sát trực tiếp các gói tin hoặc ghi lại để phân tích sau, áp dụng bộ lọc để tập trung vào những luồng dữ liệu quan trọng, thậm chí ghi lại toàn bộ Ethernet frame và payload để phân tích chi tiết.
Cú pháp cơ bản của tcpdump
sudo tcpdump <options> <filters>
- Options: tham số điều khiển cách tcpdump thu thập gói tin.
- Filters: định nghĩa loại lưu lượng cần quan sát hoặc ghi lại. Nếu không có filter, tcpdump sẽ bắt toàn bộ lưu lượng trên interface.
sudo tcpdump -i ens33 -Xnns 0 host 192.168.222.1
- -i ens33: chọn interface để lắng nghe (nếu bỏ qua, tcpdump chọn interface đầu tiên).
- -X: hiển thị payload dưới dạng hex và ASCII.
- -nn: hiển thị IP/port ở dạng số (không resolve DNS).
- -s 0: bắt toàn bộ payload (snap length).
- host 192.168.222.1: chỉ bắt gói tin đi/đến host này.
Lọc nâng cao
- Bắt lưu lượng FTP (port 21):
- Loại bỏ SSH traffic (port 22):
Lưu dữ liệu capture
- Xuất ra file text:
- Lưu dưới dạng PCAP để phân tích bằng Wireshark hoặc Snort:
- Đọc lại file PCAP:
Lưu ý khi bắt gói tin trong môi trường production
- Filter càng lỏng → lưu lượng bắt càng nhiều → ảnh hưởng hiệu năng host, nhưng có thêm dữ liệu để phân tích sau.
- Xuất trực tiếp ra màn hình (STDOUT) tiêu tốn tài nguyên nhiều hơn. Thay vào đó, nên ghi ra file PCAP rồi phân tích lại.
- Khi dừng tcpdump, hãy kiểm tra thống kê cuối cùng: nếu có nhiều gói bị drop, nên áp dụng filter chặt hơn hoặc tăng tài nguyên cho tiến trình.
Câu hỏi ôn tập
Công cụ dòng lệnh nào được dùng để bắt lưu lượng mạng thụ động để phân tích?
- capturetcp
- tcpgrab
- tcpdump ✅
- sniffTCP