DANH MỤC TÀI LIỆU
Sử dụng tcpdump để phân tích lưu lượng
Sử dụng tcpdump để phân tích lưu lượng
Tcpdump là công cụ trụ cột trong việc gỡ rối và kiểm tra vấn đề kết nối
mạng và bảo mật trước đây, nó đã từng là công cụ đã được các chuyên gia
trên khắp thế giới tín nhiệm về sự hữu dụng. Một công cụ dòng lệnh không
thực sự có nhiều các họa tiết đẹp mắt so với các công phân tích lưu lượng
khác như Ettercap và Wireshark, cả hai sản phẩm này đều cung cấp các chức
năng kiểm tra gói dữ liệu bằng một giao diện khá thuận tiện. Tương phản lại
với các công cụ như vậy, tcpdump lại chỉ là một công cụ dòng lệnh với các
tùy chọn được chỉ định tại thời điểm đó và cho ra các kết quả dưới dang đầu
ra chuẩn. Điều này tạo một cảm giác khá nguyên thủy với một số người dùng
và khó sử dụng đối với họ, tuy nhiên tiện ích này lại thực sự là một công cụ
mạnh và linh hoạt.
Các tùy chọn
Tiện ích tcpdump cung cấp một khá nhiều các tùy chọn, ở đây chúng tôi chỉ
giới thiệu cho các bạn một số trong chúng:
-A: In các gói theo mã ASCII.
-c N: Ký tự N ở đây là số, tùy chọn này thông báo cho tcpdump biết để
thoát sau gói N.
-i interface: Capturre các gói trên giao diện mạng nào đó.
-n: Không giải quyết các địa chỉ cho các tên.
-q: Cung cấp đầu ra ngắn để các dòng đầu ra ngắn hơn.
-r filename: Đọc các gói từ một file cụ thể thay cho một giao diện
mạng, thường được sử dụng sau khi các gói dữ liệu thô đã được ghi vào
một file với tùy chọn –w.
-t: Không in tem thời gian trên mỗi dòng đầu ra.
-v: Cung cấp đầu ra dài hơn. Dài hơn nữa với -vv, vào thậm chí còn cả
-vvv.
-w filename: Ghi các gói dữ liệu thô vào một file nào đó
Các biểu thức
Tiện ích tcpdump cũng hỗ trợ các biểu thức dòng lệnh, vẫn được sử dụng để
định nghĩa các nguyên tắc lọc để bạn có được chính xác lưu lượng muốn
xem, bỏ qua các gói không cần quan tâm đến. Các biểu thức gồm có một số
các primitive (mẫu), các thuật ngữ modifier (từ bổ nghĩa) và tùy chọn. Các
primitive và modifier không thiết lập một danh sách đầy đủ nhưng chúng
chính là những gì hữu dụng nhất.
Primitive (mẫu)
dst foo: Chỉ định một địa chỉ hoặc một hostname nhằm hạn chế các gói
được capture về mặt lưu lượng gửi đến một host nào đó.
host foo: Chỉ định một địa chỉ hoặc một hostname nhằm hạn chế các
gói đã được capture về mặt lưu lượng đến và đi đối với một host nào
đó.
net foo: Chỉ định một mạng hoặc một đoạn mạng sử dụng ghi chú
CIDR để hạn chế sự capture gói.
proto foo: Chỉ định một giao thức nhằm hạn chế các gói đã được
capturre về mặt lưu lượng mạng đang sử dụng giao thứ đó.
src foo: Chỉ định một địa chỉ hoặc một hostname nhằm hạn chế các gói
được capture đối với lưu lượng được gửi bởi một host nào đó.
Modifiers (từ bổ nghĩa)
and: Sử dụng modifier này nhằm trói buộc các mẫu cùng nhau khi bạn
muốn hạn chế các gói đã được capture để có được các yêu cầu cần thiết
của các biểu thức trên cả hai phía của and.
not: Sử dụng từ bổ nghĩa này trước một mẫu khi bạn muốn hạn chế các
gói đã được capturre để không có được các yêu cầu của biểu thức theo
sau.
or: Sử dụng nhằm nhằm trói buộc các mẫu cùng nhau khi bạn muốn
hạn chế các gói đã được capture để có được các yêu cầu cần thiết của
một hoặc nhiều biểu thức trên phía của or.
Ví dụ
Tất cả các tùy chọn, primitive và modifier này, cùng với một số tùy chọn
khác được liệt kê trong trang chính của tcpdump có thể được sử dụng để xây
dựng các lệnh rất cụ thể nhằm cung cấp đầu ra chính xác.
tcpdump -c 50 dst foo cho bạn các thông tin có thể nhận ra được nguồn
của một lưu lượng nặng gửi đến và rất có thể làm quá tải máy chủ với
hostname “foo”, kết xuất 50 gói đầu tiên như đầu ra.
tcpdump -c 500 -w `date +"%Y%j%T"`.log kết xuất 500 gói vào một
file có tên tem time/date hiện hành (nghĩa là 200820715:16:31.log) để
chúng có thể được lọc sau theo các thông tin mà bạn muốn xem. Chúng
tôi có lệnh date +"%Y %j%T"được lấy bí danh là stamp trong file rc
của tiện ích, chính vì vậy có thể viết ngắn lệnh giống như vậy thành
tcpdump -c 500 -w `stamp`.log, giảm việc phải nhớ tất cả các tùy chọn
định dạng cho lệnh date.
tcpdump proto ssh src or dst foo and src and dst not bar làm cho hiển
thị đầu ra đang được thực hiện hiển thị tất cả các hoạt động SSH được
khởi đầu từ hoặc nhắm đến host “foo” trừ khi nó đang khởi đầu từ host
“bar” hoặc nhắm đến host “bar”. Nếu foochỉ được cho là được truy cập
thông qua SSH bởi bar, thì lệnh này sẽ cho phép kiểm tra đang diễn ra
đối với lưu lượng SSH chưa được thẩm định gửi đến và từ foo. Thậm
chí bạn còn có thể bắt đầu một số các quá trình kiểm tra liên tục với
tcpdump giống như vậy bên trong một phiên tmux trên một máy chủ
chuyên dụng.
Như những gì bạn thấy, các biểu thức của tcpdump gần như tương đương với
một ngôn ngữ lập trình ở phạm vi đơn giản, tạo được sự dễ hiểu cho người
dùng. Với khả năng mạnh và sự linh động đó, bạn hoàn toàn có thể không
cần đến các công cụ khác cho các nhiệm vụ phân tích lưu lượng tổng quát.
thông tin tài liệu
Tcpdump là công cụ trụ cột trong việc gỡ rối và kiểm tra vấn đề kết nối mạng và bảo mật trước đây, nó đã từng là công cụ đã được các chuyên gia trên khắp thế giới tín nhiệm về sự hữu dụng
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×