見出し画像

TWSNMP FC/FKの改善計画をSimpleMindで描いています

今朝も3時に助手の猫さんが起こしにきました。ご飯をあげて二度寝していると4時にもう一度起こしにきました。今度はご飯ではなく私に起きて開発しろということのようです。昨日、起きるのが遅くて問題解決できなかったと書いたのをみたのかもしれません。

昨日の

の問題について調べました。パッケージのソースコードを読んでみると新しいバージョンではNetFlow v9のオププションデータセットに対応したようですが、それが災いしてデコードがおかしくなったようです。調べて修正しようと思いましたが、面倒なので諦めてFCで使っているバージョンに戻して解決しました。いちおう、表示できるようになりました。

EVE-NGやContainerlabで作った環境でテストしている時に、いろいろTWSNMPを改善するアイデアを思いつきましたが、いろいろやっているうちに忘れそうなので整理することにしました。TWSLAのコマンド体系を考える時に使ったSimpleMind

が気に入ったのでPro版を購入してアイデアの整理のために使っています。
今のところ

のような感じです。
Pro版だとアイコン、画像やWebサイトへのリンクが挿入できるので、便利です。
今朝は、sFlowをどうやって作るか考えていました。
最初は

を使おうと思いましたが、9年前から開発が止まっているのでやめておきました。

を部品として使う方法を考えています。
テストプログラム

package main

import (
	"bytes"
	"log"

	"github.com/netsampler/goflow2/v2/decoders/sflow"
)

func main() {
	data := []byte{
		0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0xac, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01,
		0x00, 0x00, 0x01, 0xaa, 0x67, 0xee, 0xaa, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
		0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x13, 0x00, 0x00, 0x08, 0x00,
		0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xaa, 0x00, 0x00, 0x04, 0x13,
		0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01,
		0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4e, 0x00, 0xff, 0x12, 0x34,
		0x35, 0x1b, 0xff, 0xab, 0xcd, 0xef, 0xab, 0x64, 0x81, 0x00, 0x00, 0x20, 0x08, 0x00, 0x45, 0x00,
		0x00, 0x3c, 0x5c, 0x07, 0x00, 0x00, 0x7c, 0x01, 0x48, 0xa0, 0xac, 0x10, 0x20, 0xfe, 0xac, 0x10,
		0x20, 0xf1, 0x08, 0x00, 0x97, 0x61, 0xa9, 0x48, 0x0c, 0xb2, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66,
		0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76,
		0x77, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x00, 0x00,
	}
	b := bytes.NewBuffer(data)
	var p sflow.Packet
	if err := sflow.DecodeMessageVersion(b, &p); err != nil {
		log.Fatalln(err)
	}

	log.Printf("p=%+v", p)

}

を作ってみて、使えそうな気がしてきました。

明日に続く


いいなと思ったら応援しよう!

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