Documentation ¶
Index ¶
- Constants
- func GetAdaptersAddresses() (table map[uint32]IpAdapterAddressesLh, err error)
- func GetExtendedTcpV4Table() (table map[uint32][]MIB_TCPROW_OWNER_PID, err error)
- func GetIFTable() (table map[uint32]MIB_IFROW, err error)
- func Htonl(i uint32) uint32
- func Ntohl(i uint32) uint32
- func Ntohs(i uint16) uint16
- type IPAdapterUnicastAddress
- type IpAdapterAddressesLh
- type MIB_IFROW
- type MIB_IPFORWARDROW
- type MIB_TCPROW_OWNER_PID
Constants ¶
const ( MAX_INTERFACE_NAME_LEN = 256 MAXLEN_PHYSADDR = 8 MAXLEN_IFDESCR = 256 )
const ( TCP_TABLE_BASIC_LISTENER = uint32(0) TCP_TABLE_BASIC_CONNECTIONS = uint32(1) TCP_TABLE_BASIC_ALL = uint32(2) TCP_TABLE_OWNER_PID_LISTENER = uint32(3) TCP_TABLE_OWNER_PID_CONNECTIONS = uint32(4) TCP_TABLE_OWNER_PID_ALL = uint32(5) TCP_TABLE_OWNER_MODULE_LISTENER = uint32(6) TCP_TABLE_OWNER_MODULE_CONNECTIONS = uint32(7) TCP_TABLE_OWNER_MODULE_ALL = uint32(8) )
Variables ¶
This section is empty.
Functions ¶
func GetAdaptersAddresses ¶
func GetAdaptersAddresses() (table map[uint32]IpAdapterAddressesLh, err error)
GetAdaptersAddresses returns a map of all of the adapters, indexed by interface index
func GetExtendedTcpV4Table ¶
func GetExtendedTcpV4Table() (table map[uint32][]MIB_TCPROW_OWNER_PID, err error)
GetExtendedTcpV4Table returns a list of ipv4 tcp connections indexed by owning PID
func GetIFTable ¶
GetIFTable returns a table of interfaces, indexed by the interface index
Types ¶
type IPAdapterUnicastAddress ¶
type IpAdapterAddressesLh ¶
type IpAdapterAddressesLh struct { Index uint32 AdapterName string UnicastAddresses []IPAdapterUnicastAddress }
IpAdapterAddressesLh is a go adaptation of the C structure IP_ADAPTER_ADDRESSES_LH it is a go adaptation, rather than a matching structure, because the real structure is difficult to approximate in Go.
type MIB_IFROW ¶
type MIB_IFROW struct { WszName [MAX_INTERFACE_NAME_LEN]uint16 DwIndex uint32 DwType uint32 DwMtu uint32 DwSpeed uint32 DwPhysAddrLen uint32 BPhysAddr [MAXLEN_PHYSADDR]byte DwAdminStatus uint32 DwOperStatus uint32 DwLastChange uint32 DwInOctets uint32 DwInUcastPkts uint32 DwInNUcastPkts uint32 DwInDiscards uint32 DwInErrors uint32 DwInUnknownProtos uint32 DwOutOctets uint32 DwOutUcastPkts uint32 DwOutNUcastPkts uint32 DwOutDiscards uint32 DwOutErrors uint32 DwOutQLen uint32 DwDescrLen uint32 BDescr [MAXLEN_IFDESCR]byte }
MIB_IFROW is the matching structure for the IPHelper structure of the same name, it defines a physical interface https://docs.microsoft.com/en-us/windows/win32/api/ifmib/ns-ifmib-mib_ifrow
type MIB_IPFORWARDROW ¶
type MIB_IPFORWARDROW struct { DwForwardDest uint32 // destination IP address. 0.0.0.0 is default route DwForwardMask uint32 DwForwardPolicy uint32 DwForwardNextHop uint32 DwForwardIfIndex uint32 DwForwardType uint32 DwForwardProto uint32 DwForwardAge uint32 DwForwardNextHopAS uint32 DwForwardMetric1 uint32 DwForwardMetric2 uint32 DwForwardMetric3 uint32 DwForwardMetric4 uint32 DwForwardMetric5 uint32 }
MIB_IPFORWARDROW is the matching structure for the IPHelper structure of the same name; it defines a route entry https://docs.microsoft.com/en-us/windows/win32/api/ipmib/ns-ipmib-mib_ipforwardrow
func GetIPv4RouteTable ¶
func GetIPv4RouteTable() (table []MIB_IPFORWARDROW, err error)
GetIPv4RouteTable returns a list of the current ipv4 routes.
type MIB_TCPROW_OWNER_PID ¶
type MIB_TCPROW_OWNER_PID struct { /* C declaration DWORD dwState; DWORD dwLocalAddr; DWORD dwLocalPort; DWORD dwRemoteAddr; DWORD dwRemotePort; DWORD dwOwningPid; */ DwState uint32 DwLocalAddr uint32 // network byte order DwLocalPort uint32 // network byte order DwRemoteAddr uint32 // network byte order DwRemotePort uint32 // network byte order DwOwningPid uint32 }
MIB_TCPROW_OWNER_PID is the matching structure for the IPHelper structure of the same name. Fields documented https://docs.microsoft.com/en-us/windows/win32/api/tcpmib/ns-tcpmib-mib_tcprow_owner_pid