From b8cf8d3f2199a8c083470c72117bf1949d22eba6 Mon Sep 17 00:00:00 2001 From: nodauf Date: Wed, 17 Feb 2021 12:26:53 +0100 Subject: [PATCH 1/2] Support filtering on Process --- netstat/netstat_linux.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/netstat/netstat_linux.go b/netstat/netstat_linux.go index 05fb56d..7dd03de 100644 --- a/netstat/netstat_linux.go +++ b/netstat/netstat_linux.go @@ -153,6 +153,7 @@ func parseSocktab(r io.Reader, accept AcceptFn) ([]SockTabEntry, error) { } e.UID = uint32(u) e.ino = fields[9] + extractProcInfo(&e) if accept(&e) { tab = append(tab, e) } @@ -163,7 +164,7 @@ func parseSocktab(r io.Reader, accept AcceptFn) ([]SockTabEntry, error) { type procFd struct { base string pid int - sktab []SockTabEntry + sktab *SockTabEntry p *Process } @@ -200,8 +201,7 @@ func (p *procFd) iterFdDir() { continue } - for i := range p.sktab { - sk := &p.sktab[i] + sk := p.sktab ss := sockPrefix + sk.ino + "]" if ss != lname { continue @@ -221,11 +221,10 @@ func (p *procFd) iterFdDir() { p.p = &Process{p.pid, name} } sk.Process = p.p - } } } -func extractProcInfo(sktab []SockTabEntry) { +func extractProcInfo(sktab *SockTabEntry) { const basedir = "/proc" fi, err := ioutil.ReadDir(basedir) if err != nil { @@ -257,7 +256,7 @@ func doNetstat(path string, fn AcceptFn) ([]SockTabEntry, error) { if err != nil { return nil, err } - extractProcInfo(tabs) + //extractProcInfo(tabs) return tabs, nil } From 6512562d06d81601c05658d50207ae92abdaca94 Mon Sep 17 00:00:00 2001 From: nodauf Date: Thu, 24 Feb 2022 15:12:04 +0400 Subject: [PATCH 2/2] Update go.mod --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 86c4a3c..558511e 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/cakturk/go-netstat +module github.com/nodauf/go-netstat go 1.13