kumasysjp

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

netstatLib_1.1 (ver.1.0, 2023.03)

ただし,  アセンブリ名は netstat_x64.dll,   netstatNET_x64.dll

 

注意

繰り返し実行させる場合 (あるいは最終的に)は,  ループ毎に,  (VC++なら) getstat_free関数の実行,  または (.NETなら) インスタンスを Dispose してくださひ。たとえ 本ライブラリを用いなくても,  どのみち Win32DLL (システムコール)の当該API の利用おいても解放は必要であります。

 

更新履歴

ver 1.1 (2025.07)

<new> インテリセンスXML追加

<fixed> アセンブリ名変更、 外部に提供していない関数をインテリセンスで検出しないようにリファクタリング

 

 

 

ver 1.0 (2023.03)

<new> 新規作成

<fixed>