監視サーバー接続 - Netstat形式の問題

監視サーバー接続 - Netstat形式の問題

最近サーバーに問題が発生しました。それで、接続されたデバイスの一意性とIPを示すウィンドウを残したいと思います。

私は以下を使用してきました:

watch -n 5 "netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | sed 's/.*::ffff://' | sort | uniq -c | sort -nr"

以下はフォーマット失敗時の出力例です。 はい これはフォーマットされていない Netstat の例です。 ここに画像の説明を入力してください。 混乱した理由は、awk '{print $5}'5番目の列だけを印刷したためです。

ポイントのある時計を使用しようとしていますが、何かが合わないのでそうです。

誰でも1つのライナーの調整を提案できますか、サーバーへのアクティブな接続を監視するための他のツールを提案できます(ローカル接続には興味がありません)。

答え1

頑張ります

... | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '

ポート80でリモートIPをフィルタリングする必要があります。

  • 必要ありませんgrep | awk | sed! !
  • $5 ~ /:80$/80 で終わる 5 番目のフィールドをフィルタリングします。
  • !u[A[1]]++一度だけ有効です。
  • split()IPがオンになり、A[1]ポートがオンになりますA[2](少なくとも純粋なIPV4の場合)。

時計などを扱う

while true
do
  netstat -tn 2>/dev/null | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '
  sleep 5
done

関連情報