Documentation
      ¶
    
    
  
    
      Overview ¶
Package procspy lists TCP connections, and optionally tries to find the owning processes. Works on Linux (via /proc) and Darwin (via `lsof -i` and `netstat`). You'll need root to use Processes().
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ReadNetnsFromPID ¶ added in v1.4.0
ReadNetnsFromPID gets the netns inode of the specified pid
func ReadTCPFiles ¶ added in v1.4.0
ReadTCPFiles reads the proc files tcp and tcp6 for a pid
Types ¶
type ConnIter ¶
type ConnIter interface {
	Next() *Connection
}
    ConnIter is returned by Connections().
type Connection ¶
type Connection struct {
	Transport     string
	LocalAddress  net.IP
	LocalPort     uint16
	RemoteAddress net.IP
	RemotePort    uint16
	Inode         uint64
	Proc          Proc
}
    Connection is a (TCP) connection. The Proc struct might not be filled in.
type ConnectionScanner ¶ added in v0.13.0
type ConnectionScanner interface {
	// Connections returns all established (TCP) connections.  If processes is
	// false we'll just list all TCP connections, and there is no need to be root.
	// If processes is true it'll additionally try to lookup the process owning the
	// connection, filling in the Proc field. You will need to run this as root to
	// find all processes.
	Connections(processes bool) (ConnIter, error)
	// Stops the scanning
	Stop()
}
    ConnectionScanner scans the system for established (TCP) connections
func NewConnectionScanner ¶ added in v0.13.0
func NewConnectionScanner(walker process.Walker) ConnectionScanner
NewConnectionScanner creates a new Linux ConnectionScanner
func NewSyncConnectionScanner ¶ added in v1.3.0
func NewSyncConnectionScanner(walker process.Walker) ConnectionScanner
NewSyncConnectionScanner creates a new synchronous Linux ConnectionScanner
type FixedScanner ¶ added in v0.13.0
type FixedScanner []Connection
FixedScanner implements ConnectionScanner and uses constant Connection and ConnectionProcs.
func (FixedScanner) Connections ¶ added in v0.13.0
func (s FixedScanner) Connections(_ bool) (ConnIter, error)
Connections implements ConnectionsScanner.Connections
func (FixedScanner) Stop ¶ added in v0.13.0
func (s FixedScanner) Stop()
Stop implements ConnectionsScanner.Stop (dummy since there is no background work)
type Proc ¶
Proc is a single process with PID and process name.
type ProcNet ¶
type ProcNet struct {
	// contains filtered or unexported fields
}
    ProcNet is an iterator to parse /proc/net/tcp{,6} files.
func (*ProcNet) Next ¶
func (p *ProcNet) Next() *Connection
Next returns the next connection. All buffers are re-used, so if you want to keep the IPs you have to copy them.
      
      Source Files
      ¶
    
- fixture.go
 - lsof.go
 - netstat.go
 - proc_linux.go
 - procnet.go
 - reader_linux.go
 - spy.go
 - spy_linux.go