Wireshark là ứng dụng tuyệt vời trong môi trường Windows để monitor traffic mạng. Trong môi trường Linux ta có tcpdump nhưng một nhược điểm của tcdump là không cho phép monitor realtime, vì thế việc phải dump ra file .pcap rồi phân tích offline nhiều khi trở nên bất tiện. Tcpflow là ứng dụng cho phép monitor realtime và khá chi tiết, vì thế nó trở nên rất phổ biến ngày nay.

Để sử dụng Tcpflow trên CentOS ta setup như sau:

yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm

Tcpflow đã được cài, ta sử dụng lệnh sau để monitor các web traffic hay HTTP traffic

tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

Và ta được kết quả như sau:

tcpflow[17091]: listening on eth0
POST /xmlrpc.php HTTP/1.0
Host: abcxyz.com
GET /category/cam-nang-chuyen-nha/FxtBbvhfbtop/307/8808-307gxwqR-nqg420pa-0601.html HTTP/1.1
Host: abcdef.com
POST /wp-login.php HTTP/1.1
Host: qdfgvnn.com
POST /xmlrpc.php HTTP/1.0

Từ các kết quả sơ bộ trên, ta có thể chuẩn đoán được những hoạt động gì đang xảy ra với webservice. Đặc biệt trong ví dụ trên sẽ cho ta thấy ngay là webservẻ đang bị hứng rất nhiều cú hit khai thác từ xmlrpc.

Tcpflow là ứng dụng đơn giản, dễ sử dụng kể cả cho những người không có nhiều kinh nghiệm với Linux, nhất là những nhà phát triển web, những người muốn sử dụng vps để tự vận hành các hệ thống website của riêng mình. Chúc bạn thành công

Tagged: