netstat 相当構造体を得る VC++, .NET ライブラリ
netstat 相当の情報を C言語や .NETから用いたい場合, コマンドをプログラムから実行しコンソール結果を文字列操作(Parse) するといふ方法も考えられるが, 実行権限の問題もあるし, なにより一般的な手法ではない。しかるに, システムコールを用いる 一般的な方法でおこないたい。
今回, Windows API を用いた VC++ ライブラリ, そして C++/CLI 上で マーシャルした .NET ライブラリを作成した。
特徴
・PID(プロセスID), プロセス名, IPアドレス, IPポートのメンバからなるTCPソケットを所有するプロセス群の構造体配列をえる機能
・プロセス名を引くとプロセスIDを返す機能
・TCP起動中のプロセスについて, プロセス名を引くと その所有しているTCPソケットの IPポートをえる機能
このライブラリは GX Simulator2 の仮想デバイスにアクセスするために必要な機能だつたため実装した。
このやうに netstat 実行で得られる情報を構造体として提供する。
DL
VC++ , .NET4, .NET8 sample pjt からなる sln (ver.1.0, 2023.03)
ただし, アセンブリ名は KumaNet (VC++用), KumaNetCLI (.NET用)
注意
繰り返し実行させる場合 (あるいは最終的に)は, ループ毎に, (VC++なら) getstat_free関数の実行, または (.NETなら) インスタンスを Dispose してくださひ。たとえ 本ライブラリを用いなくても, どのみち Win32DLL (システムコール)の当該API の利用おいても解放は必要であります。
更新履歴
ver 1.0 (2023.03)
<new> 新規作成
<fixed>