見出し画像

TWPCAP: Windows版のsyslog送信問題解決し、TLSのレポートを改善した

最近、猫は起こしにきてくれないので自力で起きたのは5時過ぎでした。猫は台所で待っていて「ご飯ください。」と言っていました。昨日はU-24の試合を満足そうに観ていました。

まず、昨日発見したWindows版がビルドエラーになる問題を解決しました。GO言語標準のsyslogパッケージはやめてnetパッケージを使ってUDPでsyslogを送信するようにしました。とは言ってもそれほど難しくはないことです。要約すると

host, _ := os.Hostname()
d, _ := net.Dial("udp", "192.168.1.250:514")
s := fmt.Sprintf("<%d>%s %s twpcap: %s", 21*8+6, time.Now().Format("2006-01-02T15:04:05-07:00"), host, msg)
d.Write([]byte(s))

のような処理でsyslogを送信するようにしました。この変更の全体は、

です。
次にTLSのレポートを改善するアイデアを昨日寝る前に思いついたので作ってみました。最初の作ったTLSのレポートは、送信元別のリストアップしていましたが、クライアント、サーバー、サービスの3つをキーにしてリストアップすることにしました。
その結果、面白いことがわかりました。ほとんどの通信は、

type=TLSFlow,cl=192.168.1.19,sv=17.56.138.35,serv=HTTPS,count=4,handshake=0,alert=0,minver=TLS 1.2,maxver=TLS 1.2,ft=2021-07-13T07:03:03+09:00,lt=2021-07-13T07:03:03+09:00

のようにTLS v1.2で通信していますが、メールサーバーとの通信は

type=TLSFlow,cl=192.168.1.250,sv=x.x.x.x,serv=POP3,count=51,handshake=12,alert=3,minver=TLS 1.0,maxver=TLS 1.0,ft=2021-07-13T07:03:23+09:00,lt=2021-07-13T07:03:23+09:00

TLS 1.0だったのです。最近TLS1.0,1.1も危ないと話題になっています。

TLSを使って通信するサービスは、

が参考になりました。
TLSのレポート改善は、

です。
一通り機能ができたので、最初のバージョンをリリースしようと思っていますが今日はここまで。
明日に続く





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