![見出し画像](https://assets.st-note.com/production/uploads/images/90427542/rectangle_large_type_2_bf5e3a6d961f1323ea886b3775dac89e.png?width=800)
TWRMONのはじまり
今朝は5時から開発開始です。
昨日一日かけて昔のPCのHDDから発掘したSNMPのRMONプローブのソースコードからプログラムを復刻するプロジェクトをはじめました。
SW-HUBのモニタポートでキャプチャーしたパケットからRMONのMIB情報を取得できるNET-SNMPのサブエージェントです。
今どきニーズがあるかはわかりませんが、開発しようと思った理由は、
ネスペの試験にRMONが出ていた
久しぶりにC言語で開発したい
VSCodeとDocker連携の開発環境を試したい
ということです。
今朝は、発掘したソースコードを
と
を参考にしてDokcerのコンテナ内でビルドできるようにしました。
VSCodeとDockerの開発環境は、先月号の「ソフトウェアデザイン」の説明より簡単にできました。
開発環境のためのファイルは2つだけでです。
.devcontainer/devcontainer.json
{
"name": "TWRMON",
// Dockerfileでイメージ・コンテナを作成
"dockerFile": "Dockerfile",
// リモート先のVS Codeにインストールする拡張機能
"extensions": ["ms-vscode.cpptools-extension-pack"]
}
.devcontainer/Dockerfile
FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y build-essential git libpcap-dev libsnmp-dev
このファイルを作成してVSCodeのコマンドパレットから
![](https://assets.st-note.com/img/1667514445714-pvbA1mXxFb.png?width=800)
Open Folder in Container…
を選択して
![](https://assets.st-note.com/img/1667514508998-cVJmFAUIAk.png?width=800)
デフォルトのフォルダを選択すればDockerのコンテナを作成して起動してくれます。しばらくするとターミナルでコンテナの中のシェルが使えるようになります。
![](https://assets.st-note.com/img/1667514604966-krPitVIE5m.png?width=800)
必要なパッケージはインストールされている状態ですし、ソースコードもコンテナの中から見えています。すごく便利です。
makeしてみると
![](https://assets.st-note.com/img/1667514776523-7k6TaqPFef.png)
沢山エラーがでます。修正するのが楽しくなってきましたが今朝はここで時間切れです。
明日に続く
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。