Hướng dẫn kết xuất và phân tích lưu lượng mạng với Tshark

Thảo luận trong 'Web Security' bắt đầu bởi whf, 29/02/20, 11:02 PM.

  1. whf

    whf Super Moderator Thành viên BQT

    Tham gia: 06/07/13, 03:07 AM
    Bài viết: 1,121
    Đã được thích: 736
    Điểm thành tích:
    113
    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.

    upload_2020-3-2_23-34-7.png

    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
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan