gopsutil: github.com/shirou/gopsutil/net Index | Files

package net

import "github.com/shirou/gopsutil/net"

Index

Package Files

net.go net_linux.go

Variables

var TCPStatuses = map[string]string{
    "01": "ESTABLISHED",
    "02": "SYN_SENT",
    "03": "SYN_RECV",
    "04": "FIN_WAIT1",
    "05": "FIN_WAIT2",
    "06": "TIME_WAIT",
    "07": "CLOSE",
    "08": "CLOSE_WAIT",
    "09": "LAST_ACK",
    "0A": "LISTEN",
    "0B": "CLOSING",
}

http://students.mimuw.edu.pl/lxr/source/include/net/tcp_states.h

func Connections Uses

func Connections(kind string) ([]ConnectionStat, error)

Return a list of network connections opened.

func ConnectionsMax Uses

func ConnectionsMax(kind string, max int) ([]ConnectionStat, error)

Return a list of network connections opened returning at most `max` connections for each running process.

func ConnectionsPid Uses

func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error)

Return a list of network connections opened by a process.

func ConnectionsPidMax Uses

func ConnectionsPidMax(kind string, pid int32, max int) ([]ConnectionStat, error)

Return up to `max` network connections opened by a process.

func FilterCounters Uses

func FilterCounters() ([]FilterStat, error)

NetFilterCounters returns iptables conntrack statistics the currently in use conntrack count and the max. If the file does not exist or is invalid it will return nil.

func IOCounters Uses

func IOCounters(pernic bool) ([]IOCountersStat, error)

NetIOCounters returnes network I/O statistics for every network interface installed on the system. If pernic argument is false, return only sum of all information (which name is 'all'). If true, every network interface installed on the system is returned separately.

func IOCountersByFile Uses

func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error)

func Interfaces Uses

func Interfaces() ([]InterfaceStat, error)

func Pids Uses

func Pids() ([]int32, error)

Pids retunres all pids. Note: this is a copy of process_linux.Pids() FIXME: Import process occures import cycle. move to common made other platform breaking. Need consider.

func ProtoCounters Uses

func ProtoCounters(protocols []string) ([]ProtoCountersStat, error)

NetProtoCounters returns network statistics for the entire system If protocols is empty then all protocols are returned, otherwise just the protocols in the list are returned. Available protocols:

ip,icmp,icmpmsg,tcp,udp,udplite

func Reverse Uses

func Reverse(s []byte) []byte

Reverse reverses array of bytes.

type Addr Uses

type Addr struct {
    IP   string `json:"ip"`
    Port uint32 `json:"port"`
}

Addr is implemented compatibility to psutil

func (Addr) String Uses

func (a Addr) String() string

type ConnectionStat Uses

type ConnectionStat struct {
    Fd     uint32  `json:"fd"`
    Family uint32  `json:"family"`
    Type   uint32  `json:"type"`
    Laddr  Addr    `json:"localaddr"`
    Raddr  Addr    `json:"remoteaddr"`
    Status string  `json:"status"`
    Uids   []int32 `json:"uids"`
    Pid    int32   `json:"pid"`
}

func (ConnectionStat) String Uses

func (n ConnectionStat) String() string

type FilterStat Uses

type FilterStat struct {
    ConnTrackCount int64 `json:"conntrackCount"`
    ConnTrackMax   int64 `json:"conntrackMax"`
}

type IOCountersStat Uses

type IOCountersStat struct {
    Name        string `json:"name"`        // interface name
    BytesSent   uint64 `json:"bytesSent"`   // number of bytes sent
    BytesRecv   uint64 `json:"bytesRecv"`   // number of bytes received
    PacketsSent uint64 `json:"packetsSent"` // number of packets sent
    PacketsRecv uint64 `json:"packetsRecv"` // number of packets received
    Errin       uint64 `json:"errin"`       // total number of errors while receiving
    Errout      uint64 `json:"errout"`      // total number of errors while sending
    Dropin      uint64 `json:"dropin"`      // total number of incoming packets which were dropped
    Dropout     uint64 `json:"dropout"`     // total number of outgoing packets which were dropped (always 0 on OSX and BSD)
    Fifoin      uint64 `json:"fifoin"`      // total number of FIFO buffers errors while receiving
    Fifoout     uint64 `json:"fifoout"`     // total number of FIFO buffers errors while sending

}

func (IOCountersStat) String Uses

func (n IOCountersStat) String() string

type InterfaceAddr Uses

type InterfaceAddr struct {
    Addr string `json:"addr"`
}

NetInterfaceAddr is designed for represent interface addresses

func (InterfaceAddr) String Uses

func (n InterfaceAddr) String() string

type InterfaceStat Uses

type InterfaceStat struct {
    MTU          int             `json:"mtu"`          // maximum transmission unit
    Name         string          `json:"name"`         // e.g., "en0", "lo0", "eth0.100"
    HardwareAddr string          `json:"hardwareaddr"` // IEEE MAC-48, EUI-48 and EUI-64 form
    Flags        []string        `json:"flags"`        // e.g., FlagUp, FlagLoopback, FlagMulticast
    Addrs        []InterfaceAddr `json:"addrs"`
}

func (InterfaceStat) String Uses

func (n InterfaceStat) String() string

type ProtoCountersStat Uses

type ProtoCountersStat struct {
    Protocol string           `json:"protocol"`
    Stats    map[string]int64 `json:"stats"`
}

System wide stats about different network protocols

func (ProtoCountersStat) String Uses

func (n ProtoCountersStat) String() string

Package net imports 12 packages (graph) and is imported by 118 packages. Updated 2017-06-04. Refresh now. Tools for package owners.