web-dev-qa-db-ja.com

Netstatの継続的な更新(ウォッチが出力を変更する)

このシンプルなコマンドを使用して、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で実行すると、フリーズするだけです。

19
Ruslan Osipov
netstat -c

私があなたの問題を誤解していないなら、あなたを助けるかもしれません。 -cは--continuousを表します。

編集:そこに行きます:

watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"

$の前に\を追加しました。

22
hcg

Macosのコマンドを検索すると、ここに到達します。プロセスのリアルタイム接続を確認したいMacユーザーの場合:

nettop -p 60683

また、wifiや有線などのインターフェイスタイプを制限することもできます...

nettop -t wifi -n -p 60683
1
sully

60秒間スリープするwhileループを実行するだけです

[root@Host] $ while true
> do
> netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
> sleep 60
> done

これにより、60秒ごとに同じ出力が得られます

1
Chris Alderson