このシンプルなコマンドを使用して、Debianサーバー上の接続を監視しています(最近のDoS攻撃に対処するため)。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
継続的に実行するにはどうすればよいですか?したがって、毎分1回(またはもちろん、任意の時間)自動的に更新されます。私は見てみました:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
しかし、それは接続の数を持つニースリストからの出力を次のようなものに変更しました:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
そのため、外部IPは表示されていません。私が逃したものはありますか?
これは元の出力がどのように見えるかです:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
そして、[LOCAL IP]
と言うときは、私のマシンのIPを意味します。
-c
で実行すると、フリーズするだけです。
netstat -c
私があなたの問題を誤解していないなら、あなたを助けるかもしれません。 -cは--continuousを表します。
編集:そこに行きます:
watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"
$の前に\を追加しました。
Macosのコマンドを検索すると、ここに到達します。プロセスのリアルタイム接続を確認したいMacユーザーの場合:
nettop -p 60683
また、wifiや有線などのインターフェイスタイプを制限することもできます...
nettop -t wifi -n -p 60683
60秒間スリープするwhileループを実行するだけです
[root@Host] $ while true
> do
> netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
> sleep 60
> done
これにより、60秒ごとに同じ出力が得られます