-
06/07/2013
-
797
-
1.308 bài viết
Hướng dẫn kết xuất và phân tích lưu lượng mạng với Tshark
TShark là công cụ phân tích giao thức mạng, một phiên bản terminal của Wireshark được sử dụng khi giao diện đồ họa không có sẵn hoặc không cần thiết. Với TShark bạn có thể bắt gói tin, đọc/phân tích gói tin từ file đã lưu... Bài này sẽ giới thiệu một số hướng dẫn cơ bản để bạn có thể sử dụng công cụ này.
Hiển thị danh sách network interfaces
Để xem danh sách network interfaces trên máy tính hiện tại ta sử dụng lệnh:
Bắt và lưu gói tin
Sau khi xem danh sách network interfaces ở bước trên chúng ta sẽ tiến hành bắt và lưu gói tin với tham số -i và -w. File sẽ được lưu dưới dạng .pcap
Với lệnh trên sẽ bắt tất cả gói tin từ network interface eth0 và ghi ra file vidu.pcap cho đến khi nhấn Ctrl-C để dừng. Để bắt một số lượng gói tin nhất định ta có thể dùng tham số -c
Đọc file pcap
Với tham số -r ta có thể xem nội dung file .pcap đã lưu.
Phân tích HTTP request
Trong ví dụ sau chúng ta sẽ bắt gói tin từ network interface eth0 và lọc ra HTTP requests bằng tham số -Y http.request kết hợp tham số -T và -e để lọc dữ liệu là các trường http.host và http.user_agent
Kết hợp Tshark với lệnh shell để thống kê, phân tích dữ liệu
Trong ví dụ sau ta sử dụng tham số -Y bên trên để lọc dữ liệu từ một file .pcap đã kết xuất trước đó kết hợp với các lệnh shell cơ bản để nhanh chóng đếm tần suất xuất hiện của các user agent.
Từ kết quả có được chúng ta có thể dùng để phân tích lưu lượng mạng để phát hiện những truy cập bất thường, mã độc...
Phân tích truy vấn DNS
Để bắt gói tin và lọc ra các truy vấn DNS và địa chỉ phản hồi ta dùng lệnh sau
Dùng Tshark để... lấy mật khẩu
Bằng cách sử dụng Tshark để bắt gói tin, kết hợp tùy chọn lọc tcp contains "password" và lệnh grep trong Linux ta sẽ có một vài thứ hay ho như mật khẩu...
Trích xuất dữ liệu (files)
Với tùy chọn --export-objects ta có thể dể dàng trích xuất dữ liệu dạng file vào một thư mục được chỉ định.
Các tùy chọn khác của Tshark hỗ trợ phân tích gói tin
Trong quá trình phân tích ta có thể sử dụng tùy chọn -V để hiển thị chi tiết thông tin từng gói tin như số frame, giao thức...
Tùy chọn -O tương tự -V nhưng chỉ hiện thị chi tiết gói tin sử dụng giao thức mà chúng ta chỉ định.
Tham khảo: https://www.wireshark.org/docs/man-pages/tshark.html
Hiển thị danh sách network interfaces
Để xem danh sách network interfaces trên máy tính hiện tại ta sử dụng lệnh:
Mã:
tshark -D
Bắt và lưu gói tin
Sau khi xem danh sách network interfaces ở bước trên chúng ta sẽ tiến hành bắt và lưu gói tin với tham số -i và -w. File sẽ được lưu dưới dạng .pcap
Mã:
tshark -i eth0 -w vidu.pcap
Với lệnh trên sẽ bắt tất cả gói tin từ network interface eth0 và ghi ra file vidu.pcap cho đến khi nhấn Ctrl-C để dừng. Để bắt một số lượng gói tin nhất định ta có thể dùng tham số -c
Mã:
tshark -i eth0 -c 69 -w vidu.pcap
Đọc file pcap
Với tham số -r ta có thể xem nội dung file .pcap đã lưu.
Mã:
tshark -r vidu.pcap
Phân tích HTTP request
Trong ví dụ sau chúng ta sẽ bắt gói tin từ network interface eth0 và lọc ra HTTP requests bằng tham số -Y http.request kết hợp tham số -T và -e để lọc dữ liệu là các trường http.host và http.user_agent
Mã:
tshark -i eth0 -Y http.request -T fields -e http.host -e http.user_agent
Kết hợp Tshark với lệnh shell để thống kê, phân tích dữ liệu
Trong ví dụ sau ta sử dụng tham số -Y bên trên để lọc dữ liệu từ một file .pcap đã kết xuất trước đó kết hợp với các lệnh shell cơ bản để nhanh chóng đếm tần suất xuất hiện của các user agent.
Từ kết quả có được chúng ta có thể dùng để phân tích lưu lượng mạng để phát hiện những truy cập bất thường, mã độc...
Mã:
tshark -r vidu.pcap -Y http.request -T fields -e http.host -e http.user_agent | sort | uniq -c | sort -n
Phân tích truy vấn DNS
Để bắt gói tin và lọc ra các truy vấn DNS và địa chỉ phản hồi ta dùng lệnh sau
Mã:
tshark -i eth0 -f "src port 53" -n -T fields -e dns.qry.name -e dns.resp.addr
Dùng Tshark để... lấy mật khẩu
Bằng cách sử dụng Tshark để bắt gói tin, kết hợp tùy chọn lọc tcp contains "password" và lệnh grep trong Linux ta sẽ có một vài thứ hay ho như mật khẩu...
Mã:
tshark -i eth0 -Y 'http.request.method == POST and tcp contains "password"' | grep password
Trích xuất dữ liệu (files)
Với tùy chọn --export-objects ta có thể dể dàng trích xuất dữ liệu dạng file vào một thư mục được chỉ định.
Mã:
tshark -nr vidu.pcap --export-objects http,thumucluu
Các tùy chọn khác của Tshark hỗ trợ phân tích gói tin
Trong quá trình phân tích ta có thể sử dụng tùy chọn -V để hiển thị chi tiết thông tin từng gói tin như số frame, giao thức...
Mã:
tshark -i eth0 -V
Tùy chọn -O tương tự -V nhưng chỉ hiện thị chi tiết gói tin sử dụng giao thức mà chúng ta chỉ định.
Mã:
tshark -i eth0 -O ftp
Tham khảo: https://www.wireshark.org/docs/man-pages/tshark.html