c++を使用して、開いているすべてのソケットを取得する方法はありますか? 私はlsofコマンドを知っていて、これは私が探しているものですが、C++アプリケーションでどのように使用するのですか?
アイデアは、開いているソケットの FD をそのport番号とpid.
/proc/net/tcp、/proc/net/udp などのように、/proc/net 内のファイルを開くだけです。lsof ソースをくまなく調べる必要はありません。:)
lsofコードのチャンクをコピー/貼り付けまたは再実装する必要がなく、利用できる有用なライブラリが構築されていない場合でも、lsofプロセスへのパイプを開いてその出力を熟読することができます。
lsof ソースを確認しますか?