diff --git a/proxy/socks/tcp.go b/proxy/socks/tcp.go index d58eab2..54f228e 100644 --- a/proxy/socks/tcp.go +++ b/proxy/socks/tcp.go @@ -93,13 +93,16 @@ func (h *tcpHandler) Handle(localConn net.Conn, target *net.TCPAddr) error { return err } - var process = "N/A" + var process string var sess *stats.Session if h.sessionStater != nil { // Get name of the process. localHost, localPortStr, _ := net.SplitHostPort(localConn.LocalAddr().String()) localPortInt, _ := strconv.Atoi(localPortStr) - process, _ = lsof.GetCommandNameBySocket(target.Network(), localHost, uint16(localPortInt)) + process, err = lsof.GetCommandNameBySocket(target.Network(), localHost, uint16(localPortInt)) + if err != nil { + process = "N/A" + } sess = &stats.Session{ ProcessName: process, diff --git a/proxy/socks/udp.go b/proxy/socks/udp.go index 2c089b1..748bf3b 100644 --- a/proxy/socks/udp.go +++ b/proxy/socks/udp.go @@ -164,12 +164,15 @@ func (h *udpHandler) connectInternal(conn core.UDPConn, targetAddr string) error return err } - var process = "N/A" + var process string if h.sessionStater != nil { // Get name of the process. localHost, localPortStr, _ := net.SplitHostPort(conn.LocalAddr().String()) localPortInt, _ := strconv.Atoi(localPortStr) - process, _ = lsof.GetCommandNameBySocket(conn.LocalAddr().Network(), localHost, uint16(localPortInt)) + process, err = lsof.GetCommandNameBySocket(conn.LocalAddr().Network(), localHost, uint16(localPortInt)) + if err != nil { + process = "N/A" + } sess := &stats.Session{ ProcessName: process,