資安議題已經是越來越火熱的項目,本篇主要目的是進行eBPF、K8S與Offensive Security相關議題之研究,以便於掌握目前之發展狀況。
Tuesday, May 17, 2022
[Surftrace] 開源項目Surftrace,基於libbpf的ftrace加強版
Surftrace 是由系統運維SIG 推出的一個ftrace 封裝器和開發編譯平台,讓用戶既能基於libbpf 快速構建工程進行開發,也能作為ftrace 的封裝器進行trace 命令編寫。
Surftrace 在網絡層面的增強,使得用戶只需要有相關的網絡基礎和一定的內核知識儲備,就可以用較低編碼工作量達到精準追踪網絡報文在Linux 內核的完整處理過程。適合用於追踪Linux 內核協議棧代碼、定位深層次網絡問題。
Sunday, May 15, 2022
[Kafka] 初探Kafka using Golang
前言
本篇是個人進行初探Kafka using Golang時,把遇到坑填平後的結果紀錄。
Kafka 基本知識
網路上已經有很多相關文章,故不贅述。
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是否在該範圍內?以下是簡單範例: