Sunday, May 15, 2022

Tuesday, May 10, 2022

[RedisGraph] 初探 RedisGraph

前陣子因為交接別人的應用程式,有幸(被迫)接觸到RedisGraph這個東西,為了能讓自己快速上手這玩意,便做了一些小研究。

甚麼是RedisGraph?

RedisGraph 在 Redis 上實現了一種高效能記憶體圖資料庫。該專案作為 Redis 模組開源提供,支援 openCyper 查詢語言,可完成圖的建立、查詢、條件匹配等操作。為支援高效的圖搜尋操作,RedisGraph 底層實現了一種稱為 Hexastore 的三元組儲存結構。

Friday, May 6, 2022

Thursday, May 5, 2022

[網路科普] Linux cooked-mode capture (SLL)

之前用GoPacket去抓device name 為 "any" device interface (Pseudo-device that captures on all interfaces),"any"可以透過 tcpdump -D 查看到:

"any"這個device interface可以抓到經過所有interfaces的封包,部分程式碼如下:

Tuesday, May 3, 2022

[Golang] 用 Golang 使用 Raw Socket v.s. libpcap 兩者優劣比較

前陣子花了一些時間在找一種方式,可以透過寫程式的方式抓取進出於任何device interfaces on Linux主機上的封包,目前主要是有這兩大作法: Raw Socket v.s. libpcap

Monday, May 2, 2022

[Golang] 檢查IP 是否在特定範圍內的簡單範例

檢查IP 是否在特定範圍內,的最快方法是什麼?例如,給定範圍192.168.1.1至192.168.10.254,如何檢查給定的輸入IP是否在該範圍內?以下是簡單範例:

Wednesday, April 20, 2022

[Golang] 一個簡單範例使用gopacket去解析LLDP封包內容

因為工作上需要查看主機上所收到任何的LLDP封包,故在網上搜尋了一下資料與範例程式碼,組成下列一個簡單範例。

本程式會找出所有在此本機上的Net Devices ( Interface ),並依序收集封包,一旦發現有LLDP則會列印相關資訊在console上。

Saturday, April 16, 2022

[CI/CD] 自建 DroneCI + Gitea + Docker Registry + Docker Registry Web 一次搞定

本篇將提供一個 Docker Compose YAML file 的範例,可產生 DroneCI + Gitea + Docker Registry + Docker Registry Web 的 CI/CD環境

Gitea 是蠻多公司的選擇,所以我選用它。同時,在這個講求效率的開發時代,必須要搭配一個 CI/CD 的平台。Drone CI 這是一套開源的持續整合框架,可以幫工程師節省非常多上版的時間,從測試、包版、image化到部屬全部一條龍服務,而且非常容易上手,易於維護,因此我們選用作為平台。

另外,Docker Registry 這就不用再多說了,而方便查詢Registry的Web可以提供快速與便利的介面來查看在Registry內的Docker Images。

先整理一下 Port Mapping List: