Giới Thiệu TCPDUMP Và Các Thủ Thuật Sử Dụng

Bài viết này Giới Thiệu TCPDUMP Và Các Thủ Thuật Sử Dụng. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

Giới Thiệu 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. Nó cho phép khách hàng 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.

Có thể lưu ra file và đọc bằng công cụ đồ họa Wireshark.

TCPDUMP Và Các Thủ Thuật Sử Dụng

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, debian ta dùng lệnh

$ sudo apt-get install tcpdump -y

Với CentOS, redhat family:

$ yum install tcpdump -y

Các lệnh tcpdump cơ bản

Xem các Interface (cổng mạng) đang hoạt động:

$ tcpdump -D
TCPDUMP Và Các Thủ Thuật Sử Dụng

Bắt gói tin trên interface cụ thể:

$ tcpdump -i <INTERFACE>

Chỉ định số lượng packet cần capture với flag -c:

$ tcpdump –c number –I <INTERFACE>
  • 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.

Lưu file .pcap để có thể dùng wireshark để đọc nội dung:

$ tcpdump –i eth0 -w /path/to/capture_eth0.pcap

Chỉ bắt gói tin TCP với số lượng 5 packet:

$ tcpdump -i eth0 tcp -c 5

Định dạng chung của tcpdump:

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

Time-stamp: hiển thị thời gian gói tin được capture.

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.

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

$ tcpdump –i ens18 udp –c 5

Bắt các gói theo port

$ tcpdump -i ens18 port 22 -c 5 –n

Bắt theo địa chỉ IP nguồn hoặc IP đích

Địa chỉ nguồn:

$ tcpdump -i interface src ip-address

Địa chỉ đích:

$ tcpdump -i interface  dst ip-address

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

$ tcpdump –i eth0 arp src net 192.168.1.0/24

Cách Filter nội dung file .pcap bằng Tool Wireshark

Cách cài đặt Wireshark trên window OS bằng cách truy cập vào URL sau để tải bạn phù hợp về:

https://www.wireshark.org/download.html

Sau khi cài đặt xong, các bạn mở phần mềm wireshare, chọn Menu File > Open (Ctrl O) > chọn tới file .pcap đã lưu.

Ta có thể sử dụng filter để loại bỏ các gói mà ta không quan tâm. Filter có thể được sử dụng khi bắt các gói tin realtime hoặc cũng có thể được sử dụng đối với các gói tin được mở từ file .pcap

Chỉ bắt các gói có IP trùng khớp IP đích: 192.168.20.1

Tương tự cú pháp để Filter gói tin có IP nguồn match với IP 192.168.20.1

ip.src == 192.168.20.1

Filter gói tin có IP nguồn trùng với tất cả IP ngoại trừ 192.168.20.1

ip.src != 192.168.20.1

Lọc theo giao thức TCP và port 80 hoặc TCP và port 443

tcp.port == 80 or tcp.port == 443

Lọc theo giao thức UDP và port 53

udp.port == 53

Lọc các gói tin ngoại trừ port 443

not tcp.port == 443

Lọc các gói tin udp or icmp

udp or icmp

Nếu bạn muốn tìm hiểu sâu hơn về wireshark, có thể tham khảo đường dẫn sau:

https://wiki.wireshark.org/DisplayFilters

Kết luận

Tcpdump và Wireshark là những công cụ cực kỳ mạnh mẽ và hướng dẫn này chỉ nói sơ qua về những gì bạn có thể làm với nó. Các chuyên gia sử dụng nó để gỡ lỗi triển khai giao thức mạng, kiểm tra các vấn đề bảo mật và kiểm tra nội bộ giao thức mạng. Chúc bạn thành công với hướng dẫn TCPDUMP Và Các Thủ Thuật Sử Dụng này nhé!

Was this article helpful?