限られた緑のリスト

限られた緑のリスト

1行のコマンドで問題のあるIPリストを一覧表示しようとしていますが、最後の部分を実行する方法がわかりません。誰かが正しい方向を伝えることができます。

cat /var/log/syslog* | grep "SRC=" | cut -d " " -f 14 | sort | uniq -c | sort -n -r

英語で...これはすべてのsyslogファイル(また、回転したsyslogファイル)を印刷し、ファイアウォールエントリを検索し、SRC値(IP)を取得して計算し、最も高いものから低いものまでリストする必要があります。今私が望むのは最初の5つに制限することです。このタスクを実行できるコマンドを知っている人はいますか?

システムログのエントリの例:

1月11日 12:01:52 xxxx カーネル: [47261.722647] 無効な入力パケット: IN=eth0 OUT= MAC=44:8a:5b:a0:24:eb:00:31:46:0d:21:e8: 08 : 00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=40 TOS=0x00 PREC=0x00 TTL=239 ID=33840 PROTO=TCP SPT=1024 DPT=22151 WINDOW=1024 0x00 SYNURGP =0

このエントリは私のカスタムファイアウォールによって作成され、この質問の一部ではありません。

コマンド出力例:

 47 SRC=13.82.59.79
  2 SRC=77.72.82.145
  2 SRC=213.157.51.11
  2 SRC=159.203.72.216
  1 SRC=77.72.85.15
  1 SRC=77.72.85.10
  1 SRC=77.72.83.238
  1 SRC=77.221.1.237
  1 SRC=222.186.172.43
  1 SRC=216.170.126.109
  1 SRC=191.101.167.253
  1 SRC=190.198.183.234
  1 SRC=173.254.247.206
  1 SRC=164.52.13.58
  1 SRC=141.212.122.145
  1 SRC=125.78.165.42
  1 SRC=118.139.177.119
  1 SRC=111.75.222.141
  1 SRC=103.30.40.9

ベストアンサー1

awk '/SRC=/ { print $13 }' /var/log/syslog* | sort | uniq -c | sort -n -r | head -n 5

これにより、元のパイプラインからcatcat、grelpping、およびcutが削除され、最終的に上位5つの結果が得られますawkhead -n 5

おすすめ記事