Site icon Knowledge Base| Kiến thức Dịch vụ P.A Việt Nam

Giới thiệu về bắt gói tin

Là phần mềm bắt gói tin có thể sử dụng trên hầu hết các phiên bản hệ điều hành unix/linux.  Tcpdump cho phép bắt và lưu lại những gói tin bắt được, từ đó chúng ta có thể sử dụng để phân tích.

Định dạng của dòng giao thức tcp:

Time-stamp: hiển thị thời gian gói tin được bắt.
Src và dst: hiển thị địa IP của người gởi và người nhận.
Cờ Flag thì bao gồm các giá trị sau:
+ 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.

Một số tùy chọn bắt gói tin thông dụng của tcpdump:

-i : Sử dụng option này khi khách hàng muốn chụp các gói tin trên một card mạng được chỉ định.
-D : Khi sử dụng option này, tcpdump sẽ liệt kê ra tất cả các card mạng đang hiện hữu trên máy tính mà nó có thể capture được.
-c N : khi sử dụng option này, tcpdump sẽ dừng hoạt động sau khi capture N gói tin.
-n : Khi sử dụng option này, tcpdump sẽ không phân giải từ địa chỉ IP sang hostname.
-nn : Tương tự như option –n, tuy nhiên tcpdump sẽ không phân giải cả portname.
-v : Tăng số lượng thông tin về gói tin mà bạn có thể nhận được, thậm chí có thể tăng thêm với option –vv hoặc –vvv.
-s : Định nghĩa snaplength (kích thước) gói tin sẽ lưu lại, sử dụng 0 để mặc định.
-q : Khi sử dụng option này thì lệnh tcpdump sẽ hiển thị ít thông tin hơn.
-w filename: Khi sử dụng option này tcpdump sẽ capture các packet và lưu xuống file chỉ định.
-r filename: Sử dụng kèm với option –w, dùng để đọc nội dung file đã lưu từ trước.
-x : Hiển thị dữ liệu của gói tin capture dưới dạng mã Hex.
-xx : Tương tự option –x tuy nhiên sẽ chuyển đổi cả ethernet header.
-X : Hiển thị dữ liệu của gói tin capture dưới dạng mã Hex và ASCII
-XX : Tương tự như option –X tuy nhiên sẽ chuyển đổi luôn cả ethernet header.
-A : Hiển thị các packet được capture dưới dạng mã ACSII.
-S : Khi tcpdump capture packet, thì nó sẽ chuyển các số sequence number, ACK thành các relative sequense number, relative ACK. Nếu sử dụng option –Snày thì nó sẽ không chuyển mà sẽ để mặc định.
-F filename: Dùng để filter các packet với các luật đã được định trước trong tập tin filename.
-e : Khi sử dụng option này, thay thì hiển thị địa chỉ IP của người gửi và người nhận, tcpdump sẽ thay thế các địa chỉ này bằng địa chỉ MAC.
-t : Khi sử dụng option này, tcpdump sẽ bỏ qua thời gian bắt được gói tin khi hiển thị cho khách hàng.
-tt : Khi sử dụng option này, thời gian hiển thị trên mỗi dòng lệnh sẽ không được format theo dạng chuẩn.
-ttt : Khi sử dụng option này, thời gian hiển thị chính là thời gian chênh lệnh giữa thời gian tcpdump bắt được gói tin của gói tin và gói tin đến trước nó.
-tttt : Khi sử dụng option này, sẽ hiển thị thêm ngày vào mỗi dòng lệnh.
-ttttt : Khi sử dụng option này, thời gian hiển thị trên mỗi dòng chính là thời gian chênh lệch giữa thời gian tcpdump bắt được gói tin của gói tin hiện tại và gói tin đầu tiên.
-K : Với option này tcpdump sẽ bỏ qua việc checksum các gói tin.
-N : Khi sử dụng option này tcpdump sẽ không in các quality domain name ra màn hình.
-B size : Sử dụng option này để cài đặt buffer_size .
-L : Hiển thị danh sách các datalink type mà card mạng hỗ trợ.
-y : Lựa chọn datalinktype khi bắt các gói tin.

Một số bộ lọc cơ bản tcpdump:

dst A: Khi sử dụng option này, tcpdump sẽ chỉ capture các gói tin có địa chỉ đích là “A”, có thể sử dụng kèm với từ khóa net để chỉ định một dãy mạng cụ thể. Ví dụ: tcpdump dst net 192.168.1.0/24.
src A: Tương tự như option dst, nhưng thay vì capture các gói tin có địa chỉ đích cụ thể thì nó sẽ capture các gói tin có địa chỉ nguồn như quy định.
host A: Khi sử dụng option này, tcpdump sẽ chỉ capture các gói tin có địa chỉ nguồn hoặc địa chỉ đích là “A”.
port / port range: Khi sử dụng option này, tcpdump sẽ chỉ capture các gói tin có địa chỉ port được chỉ định rõ, hoặc nằm trong khoảng range định trước. Có thể sử dụng kèm với option dst hoặc src.
less: Khi sử dụng từ khóa này, tcpdump sẽ lọc (filter) các gói tin có dung lượng nhỏ hơn giá trị chỉ định.
greater: Khi sử dụng từ khóa này, tcpdump sẽ lọc (filter) các gói tin có dung lượng cao hơn giá trị chỉ định.
(ether | ip) broadcast: Capture các gói tin ip broadcast hoặc ethernet broadcast.
(ether | ip | ip6) multicast: Capture các gói tin ethernet, ip , ipv6 multicast.
Ngoài ra, tcpdump còn có thể capture các gói tin theo các protocol như : udp, tcp, icmp, ipv6 (chỉ cần gõ trực tiếp các từ khóa vào là được). Ví dụ: tcpdump icmp

Một số kết hợp gói tin trong tcpdump:

AND: Sử dụng từ khóa and hoặc &&.
OR: Sử dụng từ khóa or hoặc || 
EXCEPT: sử dụng từ khóa not hoặc !
Ngoài ra để gom nhóm các điều kiện ta có thể dùng cặp từ khóa ‘’. Ví dụ: tcpdump –i eth0 ‘dst host 192.168.1.1 or 192.168.1.10 or 192.168.1.11’

Một số ví dụ cơ bản bắt gói tin bằng tcpdump

Hiển thị tất cả các cổng mạng trên máy tính mà tcpdump có thể lắng nghe được

Bắt gói tin từ một giao diện ethernet cụ thể

Lọc các gói tin trên card mạng eth0, có địa chỉ đích là 192.168.1.0 hoặc địa chỉ nguồn là 192.168.1.0

Lọc các gói tin ARP chạy trên card mạng eth0, xuất phát từ dãy mạng 192.168.1.0/24

Tham khảo thêm 1 số câu lệnh tcp thường dùng tại đây

Tham khảo đăng ký dịch vụ hosting tại P.A click vào đây

 

4.5 / 5 ( 120 bình chọn )
Exit mobile version