Documentation ¶
Index ¶
- Constants
- Variables
- type Handler
- type RawEthPacket
- type RawICMPPacket
- func (p RawICMPPacket) Checksum() int
- func (p RawICMPPacket) Code() int
- func (p RawICMPPacket) EchoData() string
- func (p RawICMPPacket) EchoID() uint16
- func (p RawICMPPacket) EchoSeq() uint16
- func (p RawICMPPacket) Payload() []byte
- func (p RawICMPPacket) RestOfHeader() []byte
- func (p RawICMPPacket) String() string
- func (p RawICMPPacket) Type() uint8
- type RawIPPacket
- func (p RawIPPacket) Checksum() int
- func (p RawIPPacket) Dst() net.IP
- func (p RawIPPacket) ID() int
- func (p RawIPPacket) IHL() int
- func (p RawIPPacket) IsValid() bool
- func (p RawIPPacket) Payload() []byte
- func (p RawIPPacket) Protocol() int
- func (p RawIPPacket) Src() net.IP
- func (p RawIPPacket) String() string
- func (p RawIPPacket) TOS() int
- func (p RawIPPacket) TTL() int
- func (p RawIPPacket) TotalLen() int
- func (p RawIPPacket) Version() int
Constants ¶
View Source
const ( // Ethernet packet types - ETHER_TYPE ETH_P_IP = 0x800 // IP ETH_P_8021Q = 0x8100 // VLAN // ICMP Packet types ICMPTypeEchoReply = 0 ICMPTypeEchoRequest = 8 )
Variables ¶
View Source
var LogAll bool
LogAll packets turn on logging if desirable
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler maintains the underlying socket connection
func New ¶
New start the ICMP listening service for the nic and return a handle to access ICMP functionality.
type RawEthPacket ¶
type RawEthPacket []byte
RawEthPacket provide access to ethernet fields without copying the structure see: https://medium.com/@mdlayher/network-protocol-breakdown-ethernet-and-go-de985d726cc1
func (RawEthPacket) EtherType ¶
func (p RawEthPacket) EtherType() uint16
func (RawEthPacket) IsValid ¶
func (p RawEthPacket) IsValid() bool
func (RawEthPacket) Payload ¶
func (p RawEthPacket) Payload() []byte
type RawICMPPacket ¶
type RawICMPPacket []byte
func (RawICMPPacket) Checksum ¶
func (p RawICMPPacket) Checksum() int
func (RawICMPPacket) Code ¶
func (p RawICMPPacket) Code() int
func (RawICMPPacket) EchoData ¶
func (p RawICMPPacket) EchoData() string
func (RawICMPPacket) EchoID ¶
func (p RawICMPPacket) EchoID() uint16
func (RawICMPPacket) EchoSeq ¶
func (p RawICMPPacket) EchoSeq() uint16
func (RawICMPPacket) Payload ¶
func (p RawICMPPacket) Payload() []byte
func (RawICMPPacket) RestOfHeader ¶
func (p RawICMPPacket) RestOfHeader() []byte
func (RawICMPPacket) String ¶
func (p RawICMPPacket) String() string
func (RawICMPPacket) Type ¶
func (p RawICMPPacket) Type() uint8
type RawIPPacket ¶
type RawIPPacket []byte
RawIPPacket provide access to IP fields without copying data. see: ipv4.ParseHeader in https://raw.githubusercontent.com/golang/net/master/ipv4/header.go
func (RawIPPacket) Checksum ¶
func (p RawIPPacket) Checksum() int
func (RawIPPacket) Dst ¶
func (p RawIPPacket) Dst() net.IP
func (RawIPPacket) ID ¶
func (p RawIPPacket) ID() int
func (RawIPPacket) IHL ¶
func (p RawIPPacket) IHL() int
func (RawIPPacket) IsValid ¶
func (p RawIPPacket) IsValid() bool
func (RawIPPacket) Payload ¶
func (p RawIPPacket) Payload() []byte
func (RawIPPacket) Protocol ¶
func (p RawIPPacket) Protocol() int
func (RawIPPacket) Src ¶
func (p RawIPPacket) Src() net.IP
func (RawIPPacket) String ¶
func (p RawIPPacket) String() string
func (RawIPPacket) TOS ¶
func (p RawIPPacket) TOS() int
func (RawIPPacket) TTL ¶
func (p RawIPPacket) TTL() int
func (RawIPPacket) TotalLen ¶
func (p RawIPPacket) TotalLen() int
func (RawIPPacket) Version ¶
func (p RawIPPacket) Version() int
Click to show internal directories.
Click to hide internal directories.