2016-04-06 6 views

答えて

1

私はあなたがLinuxシステムにいると仮定します。 ssユーティリティを使用してソケットの統計情報を取得できます。例えば。 httpまたはhttpsポートへの接続をすべて一覧表示するには、次のように指定します。

ss -t '(sport = :http or sport = :https)' 

これをIPでさらにフィルタリングできます。それでは、あなたがリモートアドレス1.2.3.4により、すべての接続をフィルタ処理したいとしましょう:伝統的に、1つの接続は1つのプロセスごとによって処理されているように今、実際のプロセスへの接続をマッピング

ss -t '(sport = :http or sport = :https)' dst 1.2.3.4 

は少しトリッキーです。しかし、これは必ずしもそうではありません。あなたはssディスプレイにそのようなpスイッチとリスニングプログラムを聞かせすることができます

ss -tp '(sport = :http or sport = :https)' dst 1.2.3.4 

あなたはssは便利な1行のものをリストアップしていることがわかりますので、私たちはこれらをgrepするとユニークを数えることができます。

ss -tp '(sport = :http or sport = :https)' dst 1.2.3.4 | grep users | sort | uniq | wc -l 
一緒にこれを置く

$count = exec(sprintf(
    'ss -tp "(sport = :http or sport = :https)" dst %s | grep users | sort | uniq | wc -l', 
    escapeshellarg($remoteAddress) 
)); 
+0

は答えてくれてありがとう、しかし、それはゼロを示しています。カウントは常にゼロです。 –

+0

申し訳ありませんが、最後の2つの例の 'p'パラメータがありません。 – DaSourcerer

+0

コードを更新してください。 –