-- import "github.com/lagarciag/gorandpacket"
Package gorandpacket is a go library for randomly generating ethernet packets It's main purpose is for testing networking software/hardware
type RandPacketT struct {
MACLen int
Seed int64
Rand *rand.Rand
}
Struct RandPacket holds the gorandpacket object
func NewGorandPacket() RandPacketT
NewGorandPacket Factory method for gorandpacket
func (r *RandPacketT) RandByte() byte
RandByte Generate a random byte
func (r *RandPacketT) RandEthernetLayer() *layers.Ethernet
RandEthernetLayer generates a random Ethernet layer
func (r *RandPacketT) RandEthernetPacket() gopacket.SerializeBuffer
RandEthernetPacket generates a random ethernet packet. For now it only generates IPv4/TCP packets TODO: Generate more types/protocols
func (r *RandPacketT) RandIPTCPLayer() *layers.TCP
RandIPv4TCPLayer generates a random TCP layer
func (r *RandPacketT) RandIPUDPLayer() *layers.UDP
RandIPUDP generates a random UDP layer
func (r *RandPacketT) RandIPv4Addr() net.IP
RandIPv4Addr generates a random IPv4 address
func (r *RandPacketT) RandIPv4Layer() *layers.IPv4
RandIPv4Layer generates a random IPv4 layer
func (r *RandPacketT) RandIPv6Addr() net.IP
RandIPv6Addr Generate a random IPv6 address
func (r *RandPacketT) RandInt(n int) int
RandInt generates a random int
func (r *RandPacketT) RandInt16() uint16
RandInt16 generates random uint16
func (r *RandPacketT) RandInt32() uint32
RandInt32 generates random uint32
func (r *RandPacketT) RandL3Layer(l3type layers.IPProtocol) gopacket.SerializableLayer
RandL3Layer generates a random L3 layer: currently supports TCP & UDP only.
func (r *RandPacketT) RandMACAddr() net.HardwareAddr
RandMACAddr Generate a random MAC address
func (r *RandPacketT) RandPayload() []byte
RandPayload generates a Random Payload
func (r *RandPacketT) SetSeed(s int64)
SetSeed Set a seed from an external source