10 Lệnh cơ bản để giám sát traffic in/out trên centos 7
Để xem dịch vụ nào đang sử dụng lưu lượng mạng cao trên server của bạn, bạn có thể sử dụng một số công cụ như sau:
1. Sử dụng lệnh nload để hiển thị biểu đồ lưu lượng mạng theo thời gian thực:
nload
Lệnh này sẽ hiển thị một biểu đồ đồ họa với thông tin lưu lượng mạng đang truy cập vào và ra khỏi hệ thống.
2. Sử dụng lệnh iftop
để xem lưu lượng mạng theo địa chỉ IP và cổng:
Lệnh này sẽ hiển thị danh sách các địa chỉ IP và cổng đang tạo ra lưu lượng mạng đầu vào và đầu ra trên hệ thống. Bạn có thể xem xem có dịch vụ nào sử dụng nhiều lưu lượng mạng bằng cách xem địa chỉ IP và cổng tương ứng.
3. Sử dụng lệnh netstat
để xem các kết nối mạng đang hoạt động trên server:
netstat -ntu
Lệnh này sẽ hiển thị danh sách các kết nối mạng và các dịch vụ đang lắng nghe trên các cổng. Bạn có thể xem các kết nối đang sử dụng nhiều lưu lượng mạng bằng cách xem địa chỉ IP và cổng tương ứng.
4. Sử dụng công cụ nethogs
để xem các quá trình đang sử dụng lưu lượng mạng:
nethogs
Công cụ này sẽ liệt kê các quá trình đang hoạt động trên server và lượng lưu lượng mạng mà chúng sử dụng. Bạn có thể xem các quá trình đang tiêu thụ nhiều lưu lượng mạng nhất từ đó xác định dịch vụ tương ứng.
5. Sử dụng lệnh tcpdump
để theo dõi và ghi lại gói tin mạng:
tcpdump -i <interface>
Lệnh này sẽ bắt và hiển thị các gói tin mạng trên một giao diện cụ thể (interface). Bạn có thể theo dõi lưu lượng mạng và phân tích các gói tin để xác định dịch vụ hoặc ứng dụng nào đang tạo ra nhiều lưu lượng mạng.
6. Để đếm tổng số lượng kết nối, bạn có thể sử dụng wc
(word count) để đếm số dòng đầu ra:
netstat -ntu | wc -l
Lệnh trên sẽ đếm số dòng trong kết quả của lệnh netstat -ntu
, từ đó cho biết tổng số lượng kết nối đang kết nối vào server.
7. Để xác định địa chỉ IP kết nối cao nhất, bạn có thể sử dụng lệnh awk
để trích xuất cột chứa địa chỉ IP và sau đó sử dụng sort
và uniq
để đếm số lần xuất hiện của mỗi địa chỉ IP:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
Lệnh trên sẽ trích xuất cột chứa địa chỉ IP (awk '{print $5}'
), loại bỏ số cổng (cut -d: -f1
), sắp xếp theo thứ tự tăng dần (sort
), đếm số lần xuất hiện của mỗi địa chỉ IP (uniq -c
), và cuối cùng sắp xếp theo thứ tự giảm dần dựa trên số lần xuất hiện (sort -nr
). Địa chỉ IP nào xuất hiện đầu tiên sẽ là địa chỉ IP kết nối cao nhất.
8. Để chặn một địa chỉ IP sử dụng Firewall-cmd trên CentOS 7, bạn có thể sử dụng lệnh sau:
firewall-cmd --add-rich-rule='rule family=ipv4 source address=<địa chỉ IP> reject'
Trong đó, <địa chỉ IP>
là địa chỉ IP mà bạn muốn chặn.
Sau khi chạy lệnh trên, Firewall-cmd sẽ thêm một quy tắc mới để từ chối (reject) các gói tin từ địa chỉ IP đã chỉ định.
9. Để xem danh sách các quy tắc hiện tại trong Firewall-cmd, bạn có thể sử dụng lệnh:
firewall-cmd --list-all
Lưu ý rằng để quy tắc chặn IP được áp dụng vĩnh viễn, bạn cần lưu lại cấu hình Firewall-cmd bằng lệnh:
firewall-cmd --runtime-to-permanent
Điều này đảm bảo rằng quy tắc chặn IP sẽ được áp dụng sau khi hệ thống khởi động lại.
10. Reload firewall-cmd
firewall-cmd --reload