見出し画像

TWSNMPを組み立てる

約半年前にTWSNMPの復刻版を作り始めた時

のような目標を立てました。この目標を実現するためにいろんな部品や開発のためのツールを調べ評価してコツコツ組み立てた結果なんとか使えるものがになってきました。組み込んだAIも働いています。賢さは猫に負けますが猫より従順です。

膨らんだ仕様

最初に書いたとおり作っている途中で夢が膨らんで、できたソフトには、最初の目標に無い機能がついています。

・NetFlowの受信機能
・ARPによるデバイス検出機能
・TCP/DNS/HTTP/TLS/NTPの監視機能
・ログの検索/監視機能
・デバイス、ユーザー、サーバー、通信フローの信用スコアレポート機能
・GeoIPによる位置情報表示機能
・RDAP,DNBLによるIPアドレス情報表示機能
・ノードへブラウザーやSSHで接続する機能
などなど

追加したい機能はまだまだあるので、しばらく楽しめます。

ソフトウェアの開発は貼り絵のようなもの?

ソフトウェアは集めた部品をうまく組み合わせて一つにまとめます。これは、貼り絵のようなものだと思っています。
これまで評価してきたいろいろな部品は現時点で

画像1

の絵のように組み合わさって動いています。最初からこのような全体像が見えて描いているのではなく、各部分を少しづつ描いているうちに、このような絵になっていきました。いろいろ試行錯誤した結果、うまく組み立てられたということです。頭の中にあるものを、こうやって絵にしてみると構造がよくわかります。いつの間にかこんなに作ったのかと、我ながら関心します。

どんな風に描いたか?

プログラムを作る時に自分がどんな風にやっているか少し客観的に考えてみると

たぶん

画像2

こんな感じだと思います。まずは、それらしい固定データを表示して操作できる画面をでっち上げて、その中身をまともな情報を表示するように変えていく感じです。プログラミング学習サイト

のレッスンの動画でも同じような感じで作っているように思います。
画面で確認しながら試行錯誤する方法は、早く作るコツだと思っています。

つづく

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