netstat の異なる値

netstat の異なる値

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 は、実際に頻度でソートを行うものです。

関連情報