Tôi muốn tạo tập lệnh bash để kiểm tra cổng nào trong máy chủ Linux của tôi đã bị đóng và không được sử dụng trong một phạm vi cụ thể (phạm vi cổng (3000-3010)).
Chỉ cần 1 cổng để in đầu ra, sẽ rất tuyệt nếu đầu ra được lưu dưới dạng một biến hoặc trong cùng một tệp.
sử dụngnetstat
Bạn có thể kiểm tra những cổng nàomở, điều này sẽ giúp xác định cổng nàođóng cửa. Các dòng sau sẽ phân tích đầu ra netstat để tìm các cổng mở trong một phạm vi cụ thể:
netstat -nau | awk -F'[[:space:]]+|:' 'NR>2 && $5>=3000 && $5<=3010'
-F'[[:space:]]+|:'
là dấu phân cách trường và'NR>2 && $5>=3000 && $5<=3010'
Kiểm tra phạm vi
Sau đó, bạn có thể chuyển hướng đầu ra sang một tệp cụ thể, tức là thêm > cổng.txt
đến cuối cùng. Nếu bạn muốn lưu trữ kết quả trong một biến, bạn có thể thử:
ports=$(netstat -nau | awk -F'[[:space:]]+|:' 'NR>2 && $5>=3000 && $5<=3010')
Tôi là một lập trình viên xuất sắc, rất giỏi!