Versions in this module Expand all Collapse all v0 v0.1.15 Nov 10, 2023 Changes in this version + const FlagDontFragment + const FlagMoreFragment + const ICMPTypePingRequest + const ICMPTypePingResponse + const ICMPv6ChecksumOffset + const ICMPv6DstUnreachableMinimumSize + const ICMPv6EchoMinimumSize + const ICMPv6ErrorHeaderSize + const ICMPv6HeaderSize + const ICMPv6MinimumSize + const ICMPv6PacketTooBigMinimumSize + const ICMPv6PayloadOffset + const IPv4HeaderSize + const IPv4IHLStride + const IPv4OptionsOffset + const IPv4PacketMinLength + const IPv4Version + const IPv6AddressSize + const IPv6FixedHeaderSize + const IPv6MinimumMTU + const IPv6MinimumSize + const IPv6NextHeaderOffset + const IPv6PayloadLenOffset + const IPv6Version + const NDPHopLimit + const TCPAck + const TCPEce + const TCPEwr + const TCPFin + const TCPHeaderSize + const TCPNs + const TCPPuh + const TCPRst + const TCPSyn + const TCPUrg + const UDPHeaderSize + var ErrInvalidChecksum = errors.New("invalid checksum") + var ErrInvalidIPVersion = errors.New("invalid ip version") + var ErrInvalidLength = errors.New("invalid packet length") + var SumFnc = SumCompat + func Checksum(sum uint32, b []byte) (answer [2]byte) + func IPVersion(b []byte) int + func SetIPv4(packet []byte) + func Sum(b []byte) uint32 + func SumAVX2(data []byte) uint32 — darwin/amd64, linux/amd64, windows/amd64 + func SumCompat(b []byte) (sum uint32) + type ICMPPacket []byte + func (p ICMPPacket) Checksum() uint16 + func (p ICMPPacket) Code() byte + func (p ICMPPacket) ResetChecksum() + func (p ICMPPacket) SetChecksum(sum [2]byte) + func (p ICMPPacket) SetType(v ICMPType) + func (p ICMPPacket) Type() ICMPType + type ICMPType = byte + type ICMPv6Code byte + const ICMPv6AddressUnreachable + const ICMPv6BeyondScope + const ICMPv6ErroneousHeader + const ICMPv6HopLimitExceeded + const ICMPv6NetworkUnreachable + const ICMPv6Policy + const ICMPv6PortUnreachable + const ICMPv6Prohibited + const ICMPv6ReassemblyTimeout + const ICMPv6RejectRoute + const ICMPv6UnknownHeader + const ICMPv6UnknownOption + const ICMPv6UnusedCode + type ICMPv6Packet []byte + func (ICMPv6Packet) DestinationPort() uint16 + func (ICMPv6Packet) SetDestinationPort(uint16) + func (ICMPv6Packet) SetSourcePort(uint16) + func (ICMPv6Packet) SourcePort() uint16 + func (b ICMPv6Packet) Checksum() uint16 + func (b ICMPv6Packet) Code() ICMPv6Code + func (b ICMPv6Packet) Ident() uint16 + func (b ICMPv6Packet) MTU() uint32 + func (b ICMPv6Packet) MessageBody() []byte + func (b ICMPv6Packet) Payload() []byte + func (b ICMPv6Packet) ResetChecksum(psum uint32) + func (b ICMPv6Packet) Sequence() uint16 + func (b ICMPv6Packet) SetChecksum(sum [2]byte) + func (b ICMPv6Packet) SetCode(c ICMPv6Code) + func (b ICMPv6Packet) SetIdent(ident uint16) + func (b ICMPv6Packet) SetMTU(mtu uint32) + func (b ICMPv6Packet) SetSequence(sequence uint16) + func (b ICMPv6Packet) SetType(t ICMPv6Type) + func (b ICMPv6Packet) SetTypeSpecific(val uint32) + func (b ICMPv6Packet) Type() ICMPv6Type + func (b ICMPv6Packet) TypeSpecific() uint32 + type ICMPv6Type byte + const ICMPv6DstUnreachable + const ICMPv6EchoReply + const ICMPv6EchoRequest + const ICMPv6MulticastListenerDone + const ICMPv6MulticastListenerQuery + const ICMPv6MulticastListenerReport + const ICMPv6NeighborAdvert + const ICMPv6NeighborSolicit + const ICMPv6PacketTooBig + const ICMPv6ParamProblem + const ICMPv6RedirectMsg + const ICMPv6RouterAdvert + const ICMPv6RouterSolicit + const ICMPv6TimeExceeded + func (typ ICMPv6Type) IsErrorType() bool + type IP interface + DecTimeToLive func() + DestinationIP func() netip.Addr + Payload func() []byte + Protocol func() IPProtocol + PseudoSum func() uint32 + ResetChecksum func() + SetDestinationIP func(ip netip.Addr) + SetSourceIP func(ip netip.Addr) + SourceIP func() netip.Addr + type IPProtocol = byte + const ICMP + const ICMPv6 + const TCP + const UDP + type IPv4Packet []byte + func (p IPv4Packet) Checksum() uint16 + func (p IPv4Packet) DataLen() uint16 + func (p IPv4Packet) DecTimeToLive() + func (p IPv4Packet) DestinationIP() netip.Addr + func (p IPv4Packet) Flags() byte + func (p IPv4Packet) FragmentOffset() uint16 + func (p IPv4Packet) HeaderLen() uint16 + func (p IPv4Packet) Identification() uint16 + func (p IPv4Packet) Payload() []byte + func (p IPv4Packet) Protocol() IPProtocol + func (p IPv4Packet) PseudoSum() uint32 + func (p IPv4Packet) ResetChecksum() + func (p IPv4Packet) SetChecksum(sum [2]byte) + func (p IPv4Packet) SetDestinationIP(ip netip.Addr) + func (p IPv4Packet) SetFlags(flags byte) + func (p IPv4Packet) SetFragmentOffset(offset uint32) + func (p IPv4Packet) SetHeaderLen(length uint16) + func (p IPv4Packet) SetIdentification(id uint16) + func (p IPv4Packet) SetProtocol(protocol IPProtocol) + func (p IPv4Packet) SetSourceIP(ip netip.Addr) + func (p IPv4Packet) SetTimeToLive(ttl uint8) + func (p IPv4Packet) SetTotalLength(length uint16) + func (p IPv4Packet) SetTypeOfService(tos byte) + func (p IPv4Packet) SourceIP() netip.Addr + func (p IPv4Packet) TimeToLive() uint8 + func (p IPv4Packet) TotalLen() uint16 + func (p IPv4Packet) TypeOfService() byte + func (p IPv4Packet) Valid() bool + func (p IPv4Packet) Verify() error + type IPv6Packet []byte + func (IPv6Packet) Checksum() uint16 + func (IPv6Packet) ResetChecksum() + func (IPv6Packet) SetChecksum(uint16) + func (b IPv6Packet) DecTimeToLive() + func (b IPv6Packet) DestinationIP() netip.Addr + func (b IPv6Packet) HopLimit() uint8 + func (b IPv6Packet) NextHeader() byte + func (b IPv6Packet) Payload() []byte + func (b IPv6Packet) PayloadLength() uint16 + func (b IPv6Packet) Protocol() IPProtocol + func (b IPv6Packet) PseudoSum() uint32 + func (b IPv6Packet) SetDestinationIP(addr netip.Addr) + func (b IPv6Packet) SetHopLimit(v uint8) + func (b IPv6Packet) SetNextHeader(v byte) + func (b IPv6Packet) SetPayloadLength(payloadLength uint16) + func (b IPv6Packet) SetProtocol(p IPProtocol) + func (b IPv6Packet) SetSourceIP(addr netip.Addr) + func (b IPv6Packet) SetTOS(t uint8, l uint32) + func (b IPv6Packet) SourceIP() netip.Addr + func (b IPv6Packet) TOS() (uint8, uint32) + func (b IPv6Packet) Valid() bool + type TCPPacket []byte + func (p TCPPacket) Checksum() uint16 + func (p TCPPacket) DestinationPort() uint16 + func (p TCPPacket) Flags() uint16 + func (p TCPPacket) ResetChecksum(psum uint32) + func (p TCPPacket) SetChecksum(sum [2]byte) + func (p TCPPacket) SetDestinationPort(port uint16) + func (p TCPPacket) SetSourcePort(port uint16) + func (p TCPPacket) SourcePort() uint16 + func (p TCPPacket) Valid() bool + func (p TCPPacket) Verify(sourceAddress net.IP, targetAddress net.IP) error + type UDPPacket []byte + func (p UDPPacket) Checksum() uint16 + func (p UDPPacket) DestinationPort() uint16 + func (p UDPPacket) Length() uint16 + func (p UDPPacket) Payload() []byte + func (p UDPPacket) ResetChecksum(psum uint32) + func (p UDPPacket) SetChecksum(sum [2]byte) + func (p UDPPacket) SetDestinationPort(port uint16) + func (p UDPPacket) SetLength(length uint16) + func (p UDPPacket) SetSourcePort(port uint16) + func (p UDPPacket) SourcePort() uint16 + func (p UDPPacket) Valid() bool