
Ubuntu で特定のポートの netstats を確認するにはどうすればいいですか? 例
netstat -? grep: 80
しかし、ひねりを加えて、これも同様に機能します
異なるIPアドレスのみが表示されますが、ポート上の重複したIPアドレスはIPの横に割り当てられ、重複の数で並べ替えられます。
例:
client IP: 80.230.90.120 Port: 80 Occured: 4 times
client IP: 70.122.30.25 Port: 80 Occured: 2 times
client IP: 60.78.70.230 Port: 80 Occured: 1 times
client IP: 40.42.90.220 Port: 80 Occured: 1 times
これは可能ですか?よろしくお願いします:)
答え1
現状では、ローカル マシンとリモート マシンのどちらが「クライアント」であるかが不明です。リモート マシンのポート 80 への接続を探していると仮定すると、次の方法で目的の結果を得ることができます。port=port-number-to-search
コマンドを実行する前に設定を確認するか、$port
コマンド内の をフィルターするポートに置き換えてください。
シンプルなワンライナー:
netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr
出力は次のようになります。
7 198.252.206.25:443 4 74.125.28.189:443 2 74.126.144.69:443 2 65.55.252.167:443 2 52.112.66.238:443
先頭の数字は、ポート 80 上のその IP の接続数です。
きれいな印刷のワンライナー:
netstat -an | awk '{print $5}' | grep :$port | sort -n | uniq -c | sort -nr | tr ':' ' ' | awk '{printf "client IP: %-15s Port: %-5s Occurred: %s time(s)\n", $2, $3, $1}'
出力は次のようになります。
クライアント IP: 198.252.206.25 ポート: 443 発生回数: 9 回 クライアント IP: 74.126.144.69 ポート: 443 発生回数: 2 回 クライアント IP: 74.125.28.189 ポート: 443 発生回数: 2 回 クライアント IP: 34.210.168.7 ポート: 443 発生回数: 2 回 クライアント IP: 216.58.217.195 ポート: 443 発生回数: 2 回 クライアント IP: 192.0.73.2 ポート: 443 発生回数: 2 回
編集 2017-06-26
当初、私は IP でソートするようにコマンドを記述しました。OP は頻度でソートすることに興味があると言ったので、そのように変更しました。 コマンドがコマンドのsort
前後に使用されていることに気付くかもしれませんuniq
。これは間違いではありません。最初のsort は、コマンドがそのジョブを実行できることsort
を保証しますuniq
。2 番目の sort は、実際に頻度でソートを行うものです。