This is go-conntrack
and it is written in golang. It provides a C-binding free API to the conntrack subsystem of the Linux kernel.
func main() {
nfct, err := ct.Open(&ct.Config{})
if err != nil {
fmt.Println("could not create nfct:", err)
return
}
defer nfct.Close()
// Get all IPv4 entries of the expected table.
sessions, err := nfct.Dump(ct.Expected, ct.IPv4)
if err != nil {
fmt.Println("could not dump sessions:", err)
return
}
// Print out all expected sessions.
for _, session := range sessions {
fmt.Printf("%#v\n", session)
}
}
- A version of Go that is supported by upstream