Cho phép nói rằng tôi có hàng triệu gói để xem xét và tôi muốn xem số lần gói được gửi đến một số cổng nhất định.Làm cách nào để in số lượng kết quả trùng khớp duy nhất bằng grep?
Dưới đây là một số các gói:
10:27:46.227407 IP 85.130.236.26.54156 > 139.91.133.120.60679: tcp 0
10:27:46.337038 IP 211.142.173.14.80 > 139.91.138.125.56163: tcp 0
10:27:46.511241 IP 211.49.224.217.3389 > 139.91.131.47.6973: tcp 0
Tôi muốn xem xét thông qua số cổng 2 ở đây vậy:
60679, 53.163, 6973, vv
Vì vậy, tôi có thể sử dụng:
grep -c '\.80:' output.txt
Để đếm tất cả các lần cổng 80 được sử dụng. Nhưng có cách nào để nó hiển thị tất cả các cổng đã được sử dụng và bao nhiêu lần nó được tìm thấy trong tập tin này. Một cái gì đó như thế này và thích hợp hơn được sắp xếp để tôi có thể nhìn thấy cổng nào được sử dụng thường xuyên nhất:
.80: - 54513
.110: - 12334
.445: - 412
Cảm ơn sự trợ giúp. Nhưng tôi đang gặp rắc rối với việc cắt giảm. Có cách nào để cắt chỉ sử dụng biểu thức chính quy không? Bởi vì số cổng không nằm trong cùng một cột và khoảng cách mỗi lần. – Dragonfly
Cắt không sử dụng regex. Chỉnh sửa câu hỏi của bạn và thêm một vài dòng ví dụ để chúng tôi có thể thấy định dạng. –
Ok tôi đã chỉnh sửa một số ví dụ. Những gì bạn sẽ khuyên tôi sử dụng sau đó? – Dragonfly