networks

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2019 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package networks provides information on the computers network and ip scanning tools.

Index

Constants

View Source
const (
	NETWORK_PATH = "/etc/network"
)

Variables

This section is empty.

Functions

func AddHost

func AddHost(address string, domain string) (err error)

AddHost - Add Host to Linux network

func CheckDHCPNetworks

func CheckDHCPNetworks()

CheckDHCPNetworks - Checks DHCP Network if it's still up

func GetAll

func GetAll(callback ScanResultsCallback)

GetAll - Get all networks

func GetCIDR

func GetCIDR(cidr string, callback ScanResultsCallback)

GetCIDR - Get CIDR address

func GetCIDRFromSubnet

func GetCIDRFromSubnet(subnet string) (cidr int)

GetCIDRFromSubnet - Returns CIDR by subnet

func IsEqualTo

func IsEqualTo(ip string, iplow string) bool

func IsGreaterThan

func IsGreaterThan(ip string, iplow string) bool

func IsGreaterThanOrEqualTo

func IsGreaterThanOrEqualTo(ip string, iplow string) bool

func IsLessThan

func IsLessThan(ip string, iplow string) bool

func IsLessThanOrEqualTo

func IsLessThanOrEqualTo(ip string, iplow string) bool

func IsWithinRange

func IsWithinRange(ip string, iplow string, iphigh string) bool

func SaveLinuxDHCPServer

func SaveLinuxDHCPServer(dhcp DHCPDConf) (err error)

SaveLinuxDHCPServer - Save Linux DHCP server config

func ValidateDHCPServer

func ValidateDHCPServer(dhcp *DHCPDConf) (err error)

ValidateDHCPServer - Validate DHCP server config

func ValidateLinuxHost

func ValidateLinuxHost(host *Host) (err error)

ValidateLinuxHost - Validate Linux host

func ValidateNetwork

func ValidateNetwork(network *LinuxNetworkFile) (err error)

ValidateNetwork - Validates if the network is a valid configuration

Types

type CurrentLinuxNICDHCPStatusSync

type CurrentLinuxNICDHCPStatusSync struct {
	sync.RWMutex
	CurrentStatus map[string]bool
}
var CurrentLinuxNICDHCPStatus CurrentLinuxNICDHCPStatusSync

type CurrentLinuxNetworksSync

type CurrentLinuxNetworksSync struct {
	sync.RWMutex
	Networks []LinuxNetworkFile
}
var CurrentLinuxNetworks CurrentLinuxNetworksSync

type DHCPDConf

type DHCPDConf struct {
	Enabled          bool   `json:"Enabled"`
	DefaultLeaseTime string `json:"DefaultLeaseTime"`
	MaxLeaseTime     string `json:"MaxLeaseTime"`
	Subnet           string `json:"Subnet"`
	Netmask          string `json:"Netmask"`
	RangeFrom        string `json:"RangeFrom"`
	RangeTo          string `json:"RangeTo"`
	OptionRouter     string `json:"OptionRouter"`
	OptionSubnetMask string `json:"OptionSubnetMask"`
	OptionDNS1       string `json:"OptionDNS1"`
	OptionDNS2       string `json:"OptionDNS2"`
	OptionNTPServer  string `json:"OptionNTPServer"`
	Errors           struct {
		Subnet           string `json:"Subnet"`
		Netmask          string `json:"Netmask"`
		RangeFrom        string `json:"RangeFrom"`
		RangeTo          string `json:"RangeTo"`
		OptionRouter     string `json:"OptionRouter"`
		OptionSubnetMask string `json:"OptionSubnetMask"`
		OptionDNS1       string `json:"OptionDNS1"`
		OptionDNS2       string `json:"OptionDNS2"`
		OptionNTPServer  string `json:"OptionNTPServer"`
	} `json:"Errors"`
}

func GetLinuxDHCPServer

func GetLinuxDHCPServer() (dhcp DHCPDConf, err error)

GetLinuxDHCPServer - Returns Linux DHCP server Config

type DNSRecordAdd

type DNSRecordAdd func(domain string, address string)
var AddDNSRecord DNSRecordAdd

type Host

type Host struct {
	Address string `json:"Address"`
	Domain  string `json:"Domain"`
	Errors  struct {
		Address string `json:"Address"`
		Domain  string `json:"Domain"`
	} `json:"Errors"`
}

func GetLinuxHosts

func GetLinuxHosts() (hosts []Host, err error)

GetLinuxHosts - Returns linux hosts

func SaveLinuxHosts

func SaveLinuxHosts(hosts []Host) (hostsReturned []Host, err error)

SaveLinuxHosts - Saves and validates Linux hosts. Returns hosts with errors

func ValidateLinuxHosts

func ValidateLinuxHosts(hosts []Host) (hostsReturned []Host, err error)

ValidateLinuxHosts - Validate linux hosts

type LinuxNetworkFile

type LinuxNetworkFile struct {
	Name           string        `json:"Name"`
	DHCP           bool          `json:"DHCP"`
	Address        string        `json:"Address"`
	Subnet         string        `json:"Subnet"`
	Gateway        string        `json:"Gateway"`
	HWAddress      string        `json:"HWAddress"`
	DNSNameserver1 string        `json:"DNSNameserver1"`
	DNSNameserver2 string        `json:"DNSNameserver2"`
	StaticRoutes   []StaticRoute `json:"StaticRoutes"`
	Errors         struct {
		Address        string `json:"Address"`
		Subnet         string `json:"Subnet"`
		Gateway        string `json:"Gateway"`
		DNSNameserver1 string `json:"DNSNameserver1"`
		DNSNameserver2 string `json:"DNSNameserver2"`
	} `json:"Errors"`
	WPASupplicant WPASupplicant `json:"WPASupplicant"`
}

func GetLinuxNetworks

func GetLinuxNetworks() (networks []LinuxNetworkFile, err error)

GetLinuxNetworks - Returns linux network files

func ParseNetworkFile

func ParseNetworkFile(data []byte) (network LinuxNetworkFile, err error)

ParseNetworkFile - Parse the network file for all of its networking details

func ParseNetworkFileWPA

func ParseNetworkFileWPA(data []byte) (network LinuxNetworkFile, err error)

ParseNetworkFileWPA - Parse the network file WPA? not sure what wpa is

func SaveLinuxNetworks

func SaveLinuxNetworks(networks []LinuxNetworkFile) (networksReturned []LinuxNetworkFile, err error)

SaveLinuxNetworks - Saves Linux Network files

func ValidateNetworks

func ValidateNetworks(networks []LinuxNetworkFile) (networksReturned []LinuxNetworkFile, err error)

ValidateNetworks - Returns all networks with invalid configurations

type Network

type Network struct {
	Address            string  `json:"Address"`
	CIDR               string  `json:"CIDR"`
	AvailableAddresses float64 `json:"AvailableAddresses"`
	Name               string  `json:"Name"`
	MAC                string  `json:"MAC"`
	Status             string  `json:"Status"`
	StatusInt          int     `json:"StatusInt"`
	Subnet             string  `json:"Subnet"`
}

func GetNetworks

func GetNetworks() (networks []Network)

GetNetworks - Get Networks for gateway

type ScanResult

type ScanResult struct {
	sync.RWMutex
	Devices []string
}

type ScanResultsCallback

type ScanResultsCallback func(sr *ScanResult)

type StaticRoute

type StaticRoute struct {
	Address   string `json:"Address"`
	Netmask   string `json:"Netmask"`
	Gateway   string `json:"Gateway"`
	Interface string `json:"Interface"`
	Errors    struct {
		Address string `json:"Address"`
		Netmask string `json:"Netmask"`
		Gateway string `json:"Gateway"`
	} `json:"Errors"`
}

type WPASupplicant

type WPASupplicant struct {
	Enabled bool `json:"Enabled"`
	/* SSID              string `json:"SSID"`
	ScanSSID          string `json:"ScanSSID"` */
	KeyMgmt string `json:"KeyMgmt"`
	/* Pairwise          string `json:"Pairwise"`
	Group             string `json:"Group"`
	PSK               string `json:"PSK"` */
	EAP        string `json:"EAP"`
	Identity   string `json:"Identity"`
	Password   string `json:"Password"`
	CACert     string `json:"CACert"`
	CACertOld  string `json:"CACertOld"`
	CACertFile string `json:"CACertFile"`
	Phase2     string `json:"Phase2"`
	/*ClientCert        string `json:"ClientCert"`
	PrivateKey        string `json:"PrivateKey"`
	PrivateKeyPasswd  string `json:"PrivateKeyPasswd"`
	Phase1            string `json:"Phase1"`
	CACert2           string `json:"CACert2"`
	ClientCert2       string `json:"ClientCert2"`
	PrivateKey2       string `json:"PrivateKey2"`
	PrivateKey2Passwd string `json:"PrivateKey2Passwd"` */
	Errors struct {
		/* SSID              string `json:"SSID"`
		ScanSSID          string `json:"ScanSSID"` */
		KeyMgmt string `json:"KeyMgmt"`
		/* Pairwise          string `json:"Pairwise"`
		Group             string `json:"Group"`
		PSK               string `json:"PSK"` */
		EAP        string `json:"EAP"`
		Identity   string `json:"Identity"`
		Password   string `json:"Password"`
		CACert     string `json:"CACert"`
		CACertFile string `json:"CACertFile"`
		Phase2     string `json:"Phase2"`
	} `json:"Errors"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL