Tìm hiểu lệnh tcpdump trên Linux

1. tcpdump là gì?

tcpdump: là công cụ được phát triển nhằm mục đích phân tích các gói dữ liệu mạng theo dòng lệnh. tcpdum cho phép bạn chặn và hiển thị các gói tin được truyền đi hoặc được nhận trên một mạng mà máy tính có tham gia.

2. Sử dụng tcpdump

2.1 Cài đặt

Để sử dụng được lệnh tcpdump trên Linux, chúng ta phải cài một gói với tên tương tự.

Ubuntu, ta dùng lệnh

sudo apt-get install tcpdump -y

CentOS

yum install tcpdump -y

2.2 Một vài lệnh cơ bản

a. Xem các Interface đang hoạt động

tcpdump -D
tcpdum

b. Bắt gói tin trên Interface

tcpdump -i <INTERFACE>

Ví dụ, bắt gói tin trên card eth1

tcpdum

Bấm tổ hợp phím Ctrl + C để dừng lại.

Packet capture: số lượng gói tin bắt được và xử lý.
Packet received by filter: số lượng gói tin được nhận bởi bộ lọc.
Packet dropped by kernel: số lượng packet đã bị dropped bởi cơ chế bắt gói tin của hệ điều hành.
Định dạng chung của một dòng giao thức tcpdump là:

time-stamp src > dst: flags data-seqno ack window urgent options

Ý nghĩa các thông số trên:

Time-stamp hiển thị thời gian gói tin được capture.
Srcdst hiển thị địa IP của người gửi và người nhận.
Cờ Flag S(SYN): Được sử dụng trong quá trình bắt tay của giao thức TCP.
.(ACK): Được sử dụng để thông báo cho bên gửi biết là gói tin đã nhận được dữ liệu thành công.
F(FIN): Được sử dụng để đóng kết nối TCP.
P(PUSH): Thường được đặt ở cuối để đánh dấu việc truyền dữ liệu.
R(RST): Được sử dụng khi muốn thiết lập lại đường truyền.
Data-sqeno Số sequence number của gói dữ liệu hiện tại.
ACK Mô tả số sequence number tiếp theo của gói tin do bên gửi truyền (số sequence number mong muốn nhận được).
Window Vùng nhớ đệm có sẵn theo hướng khác trên kết nối này.
Urgent Cho biết có dữ liệu khẩn cấp trong gói tin.

c. Bắt n gói tin với tùy chọn -c

Mặc định, tcpdump sẽ bắt liên tiếp các gói tin. Để dừng quá trình này, chúng ta phải thao tác tổ hợp phím Ctrl + C. Nhưng với tùy chọn -c, chúng ta có thể chỉ cho tcpdump biết là “Tôi chỉ muốn bắt n gói.” Cú pháp như sau:

tcpdum

Với n là số gói tin cần bắt.

d. Lưu file .pcap (Wireshark)

tcpdump -i eth1 -w /opt/capture.pcap

tcpdum

tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
^C4 packets captured
5 packets received by filter
0 packets dropped by kernel

d. Chỉ bắt các gói TCP

tcpdump -i eth1 tcp -c 5

tcpdum
Ngoài TCP, chúng ta có thể bắt theo UDP, IMCP,…

e. Bắt các gói theo port

tcpdump -i eth1 port 22 -c 5 -n
tcpdum

-n: Hiển thị số port thay cho tên giao thức, IP thay cho Hostname

f. Bắt theo địa chỉ nguồn hoặc đích
Địa chỉ nguồn:

tcpdump -i eth1 src 192.168.1.1

tcpdum

Địa chỉ đích:

tcpdump -i eth1 dst 192.168.1.1

tcpdum

Tham khảo: https://secure.vinahost.vn/ac/knowledgebase/248/TCPDUMP-va-cac-th-thut-s-dng.html

Bài viết liên quan

Leave a Reply

Your email address will not be published. Required fields are marked *