最近サーバーに問題が発生しました。それで、接続されたデバイスの一意性と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