Tip #34: Live capture packet trên Server và view realtime trên Local bằng wireshark

01/02/2021
140 Lượt xem

Để Live capture packet trên Server và view realtime trên máy Local bằng wireshark, sử dụng lệnh sau:

[zero2hero@vietnix.vn ~]$ ssh blog.vietnix.vn 'tcpdump -nn -i any -c 10000 -w - ip and not port 22' | sudo  wireshark -k -i -

Kết quả:

ssh tcpdump wireshark
  • tcpdump:
    • -nn: Không phân giải IP thành hostname, port thành tên dịch vụ. Giúp loại bỏ quá trình phân giải DNS để kết quả capture hiển thị nhanh hơn.
    • -i any: capture trên tất cả interface của server, nếu muốn capture trên 1 card chỉ định (ví dụ: eth0) thì dùng -i eth0
    • -c 10000: tcpdump sẽ kết thúc sau khi capture đủ 10,000 packets.
    • -w – : Ghi kết quả capture ra stdout.
    • ip and not port 22: capture filter – capture các gói tin IP và không phải port 22. Bạn có thể thay thế thành filter tương ứng mình cần.
  • wireshark:
    • -k: Start the capture session immediately. If the -i flag was specified, the capture uses the specified interface.
    • -i – : đọc data từ stdin

Wireshark hỗ trợ nhiều tính năng thống kê cũng như phân tích rất tiện lợi khi lượng packet lớn. Trường hợp bị tấn công DDoS phức tạp, đây là cách mình thường dùng để phân tích nhanh traffic trên server và ra phương án xử lý.

Lưu ý: Việc sử dụng dấu “-” để tcpdump ghi kết quả ra stdout và wireshark đọc dữ liệu từ stdin là tính năng do command hỗ trợ, đây không phải là tính năng của hệ điều hành Linux. Tham khảo man page:

  • tcpdump:
tcpdump
  • wireshark:
wireshark

Hãy tham gia Group Telegram Quản Trị Linux để giao lưu và trao đổi với các thành viên khác.