Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Cách giám sát kết nối mạng trong Linux với netstat

Hướng dẫn sử dụng netstat để phân tích kết nối mạng, phát hiện bất thường, hỗ trợ chống tấn công. Lưu ý: netstat (net-tools) đã deprecated, thay thế bằng ss (iproute2) – nhanh hơn, cú pháp tương tự.

Xem tất cả kết nối TCP

# netstat -ant
# ss -ant  (khuyến khích)
  • -a: All (listening + established).
  • -n: Numeric (không resolve DNS – nhanh hơn).
  • -t: TCP only.
  • -u: UDP (thêm -u cho UDP).
  • -p: Show PID/Program name (cần root).

Phân tích kết nối port 80 (HTTP)

# netstat -ant | grep :80
# ss -ant '( sport = :80 or dport = :80 )'  # ss filter mạnh hơn

Đếm số kết nối theo trạng thái

# netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
# ss -ant | awk '{print $1}' | sort | uniq -c | sort -n  # ss output khác cột

Kết quả mẫu:

  1 LISTEN
  4 FIN_WAIT2
  8 CLOSE_WAIT
 16 ESTABLISHED
409 TIME_WAIT

Ý nghĩa các trạng thái TCP quan trọng

Trạng tháiÝ nghĩaHành động nếu quá nhiều
ESTABLISHEDKết nối đang hoạt độngKiểm tra xem có flood không, giới hạn connection/app
TIME_WAITĐóng kết nối chờ gói trễ (2*MSL ~60s)Bình thường nếu nhiều request ngắn. Tune: net.ipv4.tcp_tw_reuse=1
CLOSE_WAITApp chưa close socket (passive close)BUG APP – app không gọi close(). Cần fix code.
FIN_WAIT1/2Đang đóng kết nối (active close)Thường ít, nếu nhiều check firewall/app
SYN_RECVĐã nhận SYN, chờ ACK (handshake chưa xong)Có thể SYN Flood – bật SYN cookies
LISTENĐang lắng ngheBình thường

Top IP kết nối nhiều nhất (phát hiện DDoS/brute force)

# netstat -ant | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20
# ss -ant '( dport = :80 )' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20

Xem process sở hữu kết nối (cần root)

# netstat -antp | grep :80
# ss -antp '( dport = :80 )'

So sánh netstat vs ss

Đặc điểmnetstatss
Góinet-tools (deprecated)iproute2 (modern)
Nguồn dữ liệu/proc/net/tcp (chậm, đọc file)Netlink socket (nhanh, kernel direct)
Lọc biểu thứcgrep/awk pipeBuilt-in filter: ss '( dport = :80 )'
Hiển thị cgroup/SELinuxKhôngCó

Công cụ giám sát nâng cao

  • iftop / nethogs: Băng thông theo process/kết nối real-time.
  • tcpdump / wireshark: Gói tin sâu (packet capture).
  • bmon / nload: Băng thông interface.
  • Prometheus + node_exporter + Grafana: Metric hệ thống, alert.