- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
Tiện ích Tcpdump mang lại giải pháp giúp bạn nắm bắt các gói dữ liệu, phục vụ cho mục đích phân tích lưu lượng truy cập. Ngoài ra, tiện ích này giúp quản trị viên theo dõi dữ liệu khi máy chủ gặp sự cố. Trong bài viết này, BKHOST sẽ cùng bạn thảo luận về các nội dung:
Đây là những nội dung quan trọng giúp bạn hiểu rõ hơn về tiện ích Tcpdump.
TCPdump là một công cụ mã nguồn mở được sử dụng trong hệ thống mạng để giám sát và phân tích lưu lượng mạng. Nó cho phép bạn ghi lại các gói tin đang truyền qua mạng và xem chúng theo thời gian thực. Điều này giúp bạn tìm ra các vấn đề và cung cấp các giải pháp để giải quyết chúng.
TCPdump được viết bằng ngôn ngữ lập trình C và hoạt động trên nhiều hệ điều hành, bao gồm cả Linux và Unix. Nó là một trong những công cụ mạnh mẽ và phổ biến nhất để giám sát và phân tích lưu lượng mạng, và được sử dụng rộng rãi trong các môi trường mạng lớn.
Phần lớn thời gian sử dụng, bạn sẽ thấy Tcpdump trong Linux đã được cài đặt sẵn trong hệ thống của mình. Tuy nhiên, trong một số trường hợp, bản phân phối Linux không đi kèm gói, bạn sẽ cần cài đặt thủ công tiện ích này.
Để kiểm tra Tcpdump trong Linux đã được cài đặt chưa bạn có thể sử dụng lệnh which. Bạn sẽ nhận được đường dẫn thư mục (/usr/bin/Tcpdump) khi đã cài đặt gói. Khi cài đặt Tcpdump, bạn sẽ cần chi tiết các lệnh như:
sudo apt-get install Tcpdump
sudo yum install Tcpdump
sudo pacman -S Tcpdump
sudo dnf install Tcpdump
Tcpdump khi cài đặt bắt buộc hệ thống của bạn phải có libcap. Do đó, bạn cần đảm bảo gói này đã được cài đặt sẵn trên hệ thống của bạn.
Sau khi tiện ích Tcpdump trong Linux được cài đặt thành công, chúng ta sẽ thực hiện theo dõi một số gói. Bạn sẽ cần thêm sudo vào các lệnh vì Tcpdump yêu cầu thực hiện hầu hết các thao tác.
Khi bạn muốn kiểm tra những giao diện đã có sẵn để chụp, bạn sử dụng lệnh: Tcpdump -D
Thông qua --list-interfaces
làm đối số sẽ nhận được cùng một đầu ra: Tcpdump --list-interfaces
. Bạn sẽ nhận được danh sách toàn bộ giao diện mạng có trên hệ thống.
Sau đó, chúng ta thực hiện bước giám sát mạng thông qua cách chụp các gói trên hệ thống mạng. Bạn hoàn toàn có thể chỉ định giao diện bất kỳ để tiến hành chụp các gói với lệnh: Tcpdump --interface any
Định dạng chung hầu hết các gói tuân theo sẽ được hiển thị như sau:
{{EJS0}}
Đây là kết quả định dạng đầu ra của một gói duy nhất. Định dạng này sẽ chứa các thông tin cụ thể là:
17:00:25.369138
)wlp0s20f3
)Out
)Flags [P.]
)seq 196:568
)ack 1
)win 309
)length 33
)Tuy lệnh Tcpdump đầu tiên đang chạy nhưng hệ thống vẫn sẽ tiếp tục chụp các gói mạng cho đến khi nhận được tín hiệu ngắt từ bạn. Hệ thống cần nhận được thông báo lệnh dừng để ngừng chụp.
Tín hiệu có thể được ghi đè mặc định với lệnh: Tcpdump --interface any -c 10
. Hiểu đơn giản, lệnh này thể hiện rằng sẽ chụp mười gói bất kỳ trong khi giao diện mạng đang hoạt động.
Việc nhận được khối lượng văn bản đầu ra trên thiết bị đầu cuối là điều có thể xảy đến trong khi bạn đang khắc phục các sự cố, khiến công việc trở lên khó khăn hơn. Lúc này Tcpdump sẽ phát huy vai trò quan trọng của mình, đó là:
Tcpdump --interface any -c 5 tcp
Tcpdump --interface any -c 5 port 50
Tcpdump --interface any -c 5 host 112.123.13.145
Tcpdump --interface any -c 5 src 112.123.13.145
Tcpdump --interface any -c 5 dst 112.123.13.145
Ngoài ra, bạn cũng có thể dùng các toán tử logic and và or để kết hợp hai hay nhiều biểu thức. Chẳng hạn như, bạn muốn nhận nhận các gói thuộc về IP nguồn 112.123.13.145
và sử dụng cổng 80
. Bạn có thể sử dụng lệnh:
{{EJS1}}
Trong trường hợp gặp các biểu thức phức tạp, chúng ta có thể nhóm chúng lại với nhau bằng dấu ngoặc đơn theo lệnh. Ví dụ lệnh sau:
{{EJS2}}
Sau khi thực hiện xong các bước trên, chúng ta đến với việc phân tích nội dung gói mạng. Bạn dùng cờ -A và -x kết hợp với lệnh Tcpdump để thực hiện hành động này.
Cờ -A
được viết tắt từ định dạng ASCII và -x
là biểu thị cho định dạng thập lục phân. Cụ thể về lệnh này là:
Tcpdump --interface any -c 1 -A
Tcpdump --interface any -c 1 -x
Dữ liệu chụp sau khi tiến hành phân tích, xem xét có thể được lưu trữ lại nhằm mục đích tham khảo. Tcpdump trong Linux sẽ hỗ trợ bạn hoàn thành công việc này thông qua các lệnh khác nhau.
Chuyển cờ -w
với lệnh mặc định nhằm mục đích ghi đầu ra vào tệp thay vì cho nó hiển thị ra ngoài màn hình của bạn:
{{EJS3}}
Một cách làm khác để lưu lại dữ liệu chụp vào trong một tệp thông qua tiện ích Tcpdump trong Linux đó là sử dụng cờ -v
. Với cách này bạn nhập lệnh:
{{EJS4}}
Phần mở rộng trong các lệnh trên với tệp đuôi .pcap
là viết tắt của dữ liệu chụp gói. Khi sử dụng Tcpdump trong Linux để đọc tệp này, bạn cần sử dụng cờ -r
(viết tắt của Read) với lệnh:
{{EJS5}}
TCPdump là một công cụ giám sát và phân tích mạng rất mạnh mẽ và hữu ích. Nó cho phép bạn theo dõi và ghi lại các gói tin truyền qua mạng, giúp bạn tìm ra và giải quyết các vấn đề liên quan đến mạng. TCPdump cung cấp rất nhiều tùy chọn cho phép bạn lọc và ghi lại chính xác những gói tin mà bạn quan tâm, và do đó giúp bạn tiết kiệm thời gian và tăng hiệu suất công việc. Nếu bạn là một quản trị mạng hoặc nhà phát triển mạng, hãy sử dụng TCPdump để giúp bạn quản lý và phân tích mạng một cách dễ dàng và hiệu quả.
Mua Hosting Cao Cấp tại BKHOST
Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay: