TCPDUMP là gì? Tìm hiểu về những thông tin về lệnh TCPDUMP

tcpdump la gi 16535511050141734605022 0 0 337 600 crop 16535511209971331363405 1

Đối với những người sử dụng hệ điều hành Linux hay Unix thì TCPDUMP là một công cụ vô cùng hữu ích giúp kiểm tra nhanh chóng lưu lượng mạng và những gói tin mà nó bắt được. Trong bài viết được chia sẻ dưới đây, aetc.edu.vn sẽ giúp bạn tìm hiểu TCPDUMP là gì cũng như một số thông tin quan trọng khác có liên quan để bạn có thể hiểu rõ hơn về thuật ngữ này nhé!

TCPDUMP là gì?

TCPDUMP là công cụ hữu ích được ra đời và phát triển để phục vụ cho mục đích hỗ trợ phân tích các gói dữ liệu mang theo dòng lệnh đồng thời cho phép khách hàng thực hiện việc chặn, lọc và hiển thị các gói tin TCP/IP được truyền đi hoặc nhận trên một mạng có sự tham gia của máy tính.

Hiểu đơn giản hơn, TCPDUMP là một phần mềm có khả năng bắt các gói tin trong mạng đang hoạt động trên các phiên bản hệ điều hành Unix và Linux. Nó cho phép người dùng có thể bắt và lưu lại những gói tin này để phục vụ cho việc phân tích về sau.

thong tin tcpdump 1653551316068537515930

TCPDUMP là công cụ giúp phát triển để phục vụ cho mục đích hỗ trợ phân tích các gói dữ liệu

TCPDUMP tồn tại ở hình thức nào? 

TCPDUMP sẽ xuất ra màn hình nội dung các gói tin chạy trên card nhà mạng mà máy chủ đang lắng nghe sao cho phù hợp với biểu thức logic chọn lọc mà khách hàng đã sử dụng và nhập vào máy tính. Khách hàng có thể xuất ra các mô tả về gói tin thành một file pcap để phân tích sau dựa trên từng loại tùy chọn khác nhau. Để đọc được nội dung của file pcap này, bạn chỉ cần sử dụng các phần mềm khác như Wireshark hay với option -r của lệnh TCPDUMP.

Trong các trường hợp không có tùy chọn nào, TCPDUMP sẽ vẫn tiếp tục chạy cho đến khi nó nhận được tín hiệu ngắt từ phía khách hàng. Sau khi việc bắt các gói tin kết thúc, TCPDUMP sẽ đưa ra các báo cáo sau:

  • Packet capture: Số lượng các gói tin đã bắt được và tiến hành xử lý.
  • Packet received by filter: Số lượng các gói tin mà bộ lọc nhận được.
  • Packet dropped by kernel: số lượng packet bị dropped do cơ chế bắt gói tin.
tcpdump ton tai o hinh thuc nao 16535514758971154340610

TCPDUMP sẽ xuất ra màn hình nội dung các gói tin chạy trên card nhà mạng

Định dạng chung của một dòng giao thức TCPDUMP 

Một dòng giao thức TCPDUMP sẽ có định dạng chung là time-stamp src > dst: flags data-seqno ack window urgent options. Trong đó:

– Time-stamp: Hiển thị thời gian capture của các gói tin.

– scr và dst: Hiển thị đầy đủ địa chỉ IP của cả người gửi và người nhận.

– Cờ Flags sẽ bao gồm các giá trị cơ bản đó là:

  • S (SYN): Trong quá trình bắt tay của giao thức TCP, giá trị SYN thường được sử dụng.
  • .(ACK): Giá trị này thường được sử dụng với mục đích gửi lại thông báo đã nhận được dữ liệu thành công cho phía người gửi.
  • F (FIN): Giá trị này được ứng dụng để đóng thành công kết nối TCP.
  • P (PUSH): Giá trị này thường được đặt ở cuối để phục vụ cho việc đánh dấu các thao tác truyền dữ liệu.
  • R (RST): Khi người dùng muốn thiết lập lại đường truyền thì giá trị này sẽ được sử dụng.
  • Data-sqeno: Số lượng sequence number hiện tại của gói dữ liệu.
  • ACK: Mô tả số sequence number tiếp theo được truyền đến của gói tin mà bên gửi mong muốn nhận được.
  • Window: Đây là vùng nhớ đệm có sẵn trên kết nối theo một hướng khác.
  • Urgent: Giá trị này cho người dùng biết được các gói dữ liệu khẩn cấp có trong gói tin.
dinh dang chung cua mot dong giao thuc tcpdump 165355159779028676145

Những tùy chọn thông dụng trong lệnh TCPDUMP 

Trong lệnh TCPDUMP sẽ có một số những tuỳ chọn thông dụng mà bạn có thể bắt gặp được đó là:

  • -i: Khi khách hàng muốn chụp các gói tin trên một interface được chỉ định thì các option này sẽ được sử dụng.
  • -D: Khi option này được sử dụng, TCPDUMP sẽ tiến hành liệt kê ra toàn bộ các interface đang hiện đang tồn tại trên máy tính mà nó có thể capture được.
  • -c N : Sau khi capture nhiều gói tin, TCPDUMP sẽ dừng hoạt động khi bạn sử dụng option này.
  • -n: Khi sử dụng option này, TCPDUMP sẽ không thực hiện việc phân giải từ địa chỉ IP sang hostname.
  • -nn: Tương tự như option –n, TCPDUMP sẽ không tiến hành phân giải từ địa chỉ IP sang hostname mà nó cũng không phân giải cả portname.
  • -v: Option này sẽ giúp người dùng gia tăng số lượng thông tin về gói tin thậm chí có thể tăng thêm với option –vv hoặc –vvv mà họ có thể nhận được.
  • -s: Với option này, các định nghĩa snap length (kích thước) gói tin sẽ lưu lại, để mặc định, người dùng phải sử dụng 0.
  • -q: Khi option này được sử dụng thì lệnh TCPDUMP sẽ hiển thị được ít thông tin hơn.
  • -w filename: TCPDUMP khi sử dụng option này sẽ capture các packet và lưu xuống file chỉ định.
  • -r filename: Option này được sử dụng đi kèm với option –w với mục đích sử dụng là đọc nội dung file đã lưu từ trước.
  • -x: Dữ liệu của gói tin capture sẽ được hiển thị dưới dạng mã Hex.
  • -A: Các packet được capture được hiển thị dưới dạng mã ACSII.
  • -S: Khi TCPDUMP capture packet, các số sequence number ACK sẽ được chuyển đổi thành các relative sequence number hay relative ACK. Nếu sử dụng option –S này thì TCPDUMP sẽ không tiến hành chuyển đổi nữa mà sẽ để mặc định.
  • -F filename: Các packet với các luật đã được định trước trong tập tin filename sẽ được Filter bởi TCPDUMP.
  • -e: Thay vì hiển thị địa chỉ IP của người gửi và người nhận, TCPDUMP khi sử dụng option này sẽ thay thế các địa chỉ IP nói trên bằng địa chỉ MAC.
  • -t: TCPDUMP khi sử dụng option này sẽ bỏ qua thời gian bắt được gói tin khi thực hiện việc hiển thị cho khách hàng.
  • -tt: Thời gian hiển thị trên mỗi dòng lệnh sẽ không được format theo dạng chuẩn khi TCPDUMP sử dụng option này.
  • -K: TCPDUMP sẽ bỏ qua việc checksum các gói tin.
  • -N: TCPDUMP với option này sẽ không tiến hành in các quality domain name ra màn hình.
  • -B size: TCPDUMP thường sử dụng option này để cài đặt buffer_size .
  • -L: Danh sách các data link type mà interface hỗ trợ sẽ được hiển thị với option này.
  • -y: Lựa chọn data link type khi bắt các gói tin.

Một số bộ lọc cơ bản trong TCPDUMP 

Bên cạnh những tuỳ chọn thông dụng thì bạn cũng cần nắm rõ một số bộ lọc cơ bản trong TCPDUMP dưới đây:

  • dst A: TCPDUMP khi sử dụng option này sẽ chỉ capture các gói tin có địa chỉ đích là “A”. Để chỉ định một dãy mạng cụ thể, TCPDUMP có thể sử dụng kèm với từ khoá net.
  • src A: Thay vì capture các gói tin có địa chỉ đích cụ thể như option dst thì TCPDUMP sẽ capture các gói tin có địa chỉ nguồn theo quy định.
  • host A: Khi sử dụng option này, TCPDUMP sẽ chỉ capture các gói tin có địa chỉ đích hoặc địa chỉ nguồn là “A”.
  • port / port range: 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 khi sử dụng option này. Ngoài ra, nó có thể sử dụng kèm với option dst hoặc src.
  • less: TCPDUMP khi sử dụng từ khoá này sẽ tiến hành việc lọc (filter) các gói tin có dung lượng nhỏ hơn giá trị chỉ định.
  • greater: TCPDUMP khi sử dụng từ khoá này sẽ tiến hành việc lọc (filter) các gói tin có dung lượng cao hơn giá trị chỉ định.
  • (ether | ip) broadcast: Các gói tin ip broadcast hoặc ethernet broadcast sẽ được capture.
  • (ether | ip | ip6) multicast: Các gói tin ethernet, ip , ipv6 multicast sẽ được capture.

Qua bài viết mà aetc.edu.vn chia sẻ có thể thấy, TCPDUMP là một công cụ hữu ích đối với nhiều người dùng nhờ khả năng capture packets vô cùng mạnh mẽ. Mặc dù nhìn qua, TCPDUMP có vẻ khá phức tạp nhưng khi bạn hiểu rõ TCPDUMP là gì và biết cách sử dụng TCPDUMP một cách thành thạo thì bạn sẽ thấy được những lợi ích tuyệt vời từ lệnh này.

Related Posts

Leave a Reply

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