Tôi đang sử dụng lệnh đơn giản này để giám sát các kết nối (để đối phó với một số cuộc tấn công DoS gần đây) trên máy chủ Debian của tôi:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Làm thế nào để tôi chạy nó liên tục? Vì vậy, nó sẽ tự làm mới một lần mỗi phút (hoặc bất kỳ lượng thời gian nhất định), tất nhiên). Tôi đã thử xem:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Nhưng nó đã thay đổi đầu ra từ danh sách đẹp với vô số kết nối thành thứ như thế này:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
Vì vậy, IP bên ngoài không được hiển thị. Có điều gì tôi đã bỏ lỡ?
Đây là cách đầu ra ban đầu trông:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
Và khi tôi nói [LOCAL IP]
tôi có nghĩa là IP của máy tôi.
Khi tôi chạy nó với -c
nó chỉ đóng băng.