Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng tcpdump để chụp gói

Cách sử dụng tcpdump để chụp gói

Nắm bắt các gói tin là một cách rất hữu ích để phân tích hoạt động bên trong của một mạng. Có nhiều công cụ khác nhau có sẵn được phát triển cho mục đích này. Một trong số đó là tcpdump. Sau đây, chúng tôi chỉ cho bạn cách sử dụng tốt nhất công cụ tuyệt vời này cho các kỹ sư mạng cũng như những người kiểm tra khả năng thâm nhập.

tcpdump là gì?

tcpdump là một công cụ phân tích gói tin mạng được phát triển và phát hành vào năm 1988 bởi một nhóm các nhà khoa học máy tính làm việc tại Phòng thí nghiệm Lawrence Berkeley và Nhóm Nghiên cứu Mạng của nó. Nó được sử dụng để hiển thị nội dung của các gói mà máy tính gửi và nhận. Tiện ích đi kèm với nhiều tùy chọn khác nhau để làm cho việc thu thập gói tin cụ thể và tập trung hơn. Một số tùy chọn này bao gồm các giao thức mạng và giao diện mạng khác nhau.

Cài đặt

Nhiều bản phân phối Linux đi kèm với tiện ích được cài đặt ngay khi xuất xưởng. Tuy nhiên, nếu bản phân phối bạn chọn không có, việc cài đặt rất nhanh chóng và đơn giản.

Ví dụ:nếu bạn đang sử dụng Ubuntu hoặc Debian, nó có thể được cài đặt bằng cách sử dụng apt :

sudo apt install tcpdump

Trên CentOS, điều tương tự cũng được thực hiện bằng cách sử dụng yum :

sudo yum install tcpdump

Và trên Arch Linux bằng cách sử dụng pacman :

sudo pacman -S tcpdump

Khái niệm cơ bản

Khi cài đặt tcpdump, bạn có thể xem hướng dẫn sử dụng bằng cách sử dụng -h cờ:

tcpdump -h

Điều này hiển thị cho bạn danh sách các cờ bạn có thể sử dụng khi sử dụng công cụ này.

Cách sử dụng tcpdump để chụp gói

Nếu bạn muốn xem sổ tay hướng dẫn chi tiết và đầy đủ hơn, bạn có thể xem trang hướng dẫn sử dụng (trang hướng dẫn sử dụng) bằng cách sử dụng man lệnh:

man tcpdump
Cách sử dụng tcpdump để chụp gói

Bạn có thể chạy chụp gói cơ bản bằng cách nhập:

tcpdump

Sử dụng lệnh của chính nó và không chỉ định giao diện mạng, công cụ sẽ chọn một trong số các giao diện có sẵn trên hệ thống của bạn.

Nếu bạn không muốn tcpdump phân giải tên máy chủ và thay vào đó muốn nó chỉ xuất địa chỉ IP, bạn có thể sử dụng -n cờ:

tcpdump -n

Nếu bạn muốn chỉ định số lượng gói mà bạn muốn nắm bắt, hãy sử dụng -c cờ:

tcpdump -c [number of packets]

Chỉ định Giao diện Mạng

Bạn có thể chỉ định lựa chọn giao diện mạng của mình bằng cách sử dụng -i cờ:

tcpdump -i [interface]

Hai trong số các tên giao diện mạng phổ biến nhất trên hầu hết các hệ thống là eth0 và wlan0:

tcpdump -i eth0
tcpdump -i wlan0

Nếu bạn muốn nắm bắt dữ liệu trên tất cả các giao diện, bạn có thể sử dụng any tùy chọn:

tcpdump -i any
Cách sử dụng tcpdump để chụp gói

Chỉ định một Cổng / Dải Cổng

Nếu bạn chỉ muốn nắm bắt dữ liệu sử dụng một số cổng cụ thể, hãy sử dụng lệnh:

tcpdump -i [interface] port [port number]

Giả sử bạn muốn nắm bắt lưu lượng truy cập trên eth0 giao diện và cho cổng 443 (HTTPS). Nhập nội dung sau:

tcpdump -i eth0 port 443

Ngoài ra, tcpdump cho phép bạn chỉ định một loạt các cổng:

tcpdump -i [interface] portrange [port range]

Chỉ định Máy chủ hoặc Mạng con

Sẽ có những lúc bạn muốn giới hạn các gói đã bắt chỉ đối với những gói được gửi / nhận từ một máy chủ hoặc mạng con cụ thể. May mắn thay, tcpdump cho phép bạn làm như vậy.

Bạn có thể chỉ định máy chủ lưu trữ bằng cách sử dụng định dạng sau:

tcpdump -i [interface] host [host]

Ví dụ:nắm bắt lưu lượng truy cập trên giao diện eth0 và chỉ định máy chủ lưu trữ là 127.0.0.1 (địa chỉ IP lặp lại của riêng bạn):

tcpdump -i eth0 host 127.0.0.1
Cách sử dụng tcpdump để chụp gói

Nếu bạn muốn chỉ định một mạng con bằng ký hiệu CIDR, bạn có thể sử dụng định dạng sau:

tcpdump -i [interface] net [subnet]

Ví dụ:

tcpdump -i eth0 net 10.0.0.0/8

Bạn cũng có thể chỉ định trực tiếp một máy chủ nguồn:

tcpdump -i [interface] src [host]

Và một máy chủ đích:

tcpdump -i [interface] dst [host]

Chỉ định Chi tiết

tcpdump cho phép bạn chỉ định mức độ chi tiết của việc nắm bắt gói tin. Điều này rất hữu ích khi bạn không muốn bị choáng ngợp bởi lượng thông tin trong quá trình nắm bắt.

Có ba tùy chọn gia tăng cho độ chi tiết, cờ -v , -vv-vvv :

tcpdump -i [interface] -v
tcpdump -i [interface] -vv
tcpdump -i [interface] -vvv
Cách sử dụng tcpdump để chụp gói

Tùy chọn đầu tiên chỉ định độ dài ít nhất, trong khi tùy chọn thứ ba chỉ định nhiều nhất.

Lưu Chụp vào Tệp

Thường rất hữu ích khi lưu dữ liệu đã chụp vào một tệp để có thể phân tích và diễn giải thêm.

Điều này được thực hiện bằng cách sử dụng -w cờ:

tcpdump -i [interface] -w [filename]

Ví dụ:bạn có thể lưu dữ liệu đã chụp vào một tệp có tên “capture.txt”:

tcpdump -i eth0 -w capture.txt

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

1. Tôi đã nhận được lỗi "Thao tác không được phép". Làm cách nào để giải quyết nó?

Sau đây là lỗi phổ biến mà người dùng có thể gặp phải khi cố gắng sử dụng tcpdump:

Cách sử dụng tcpdump để chụp gói

tcpdump cung cấp cho bạn lỗi này khi bạn không có quyền cần thiết để thực hiện chụp gói. Trong hầu hết các trường hợp, bạn có thể giải quyết vấn đề này bằng cách sử dụng sudo . Ví dụ:

sudo tcpdump -i eth0

2. Làm cách nào để biết giao diện mạng nào khả dụng?

tcpdump có một chức năng tích hợp cho phép bạn kiểm tra các giao diện mạng có sẵn trên hệ thống của mình.

Để kiểm tra các giao diện, hãy sử dụng -D cờ:

tcpdump -D