見出し画像

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のコマンドパレットから

Open Folder in Container…
を選択して

デフォルトのフォルダを選択すればDockerのコンテナを作成して起動してくれます。しばらくするとターミナルでコンテナの中のシェルが使えるようになります。

必要なパッケージはインストールされている状態ですし、ソースコードもコンテナの中から見えています。すごく便利です。
makeしてみると

沢山エラーがでます。修正するのが楽しくなってきましたが今朝はここで時間切れです。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。