gorandpacket

package module
v0.0.0-...-c98019b Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2015 License: BSD-3-Clause Imports: 5 Imported by: 0

README

gorandpacket

-- 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

Usage

type RandPacketT
type RandPacketT struct {
	MACLen int
	Seed   int64
	Rand   *rand.Rand
}

Struct RandPacket holds the gorandpacket object

func NewGorandPacket
func NewGorandPacket() RandPacketT

NewGorandPacket Factory method for gorandpacket

func (*RandPacketT) RandByte
func (r *RandPacketT) RandByte() byte

RandByte Generate a random byte

func (*RandPacketT) RandEthernetLayer
func (r *RandPacketT) RandEthernetLayer() *layers.Ethernet

RandEthernetLayer generates a random Ethernet layer

func (*RandPacketT) RandEthernetPacket
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 (*RandPacketT) RandIPTCPLayer
func (r *RandPacketT) RandIPTCPLayer() *layers.TCP

RandIPv4TCPLayer generates a random TCP layer

func (*RandPacketT) RandIPUDPLayer
func (r *RandPacketT) RandIPUDPLayer() *layers.UDP

RandIPUDP generates a random UDP layer

func (*RandPacketT) RandIPv4Addr
func (r *RandPacketT) RandIPv4Addr() net.IP

RandIPv4Addr generates a random IPv4 address

func (*RandPacketT) RandIPv4Layer
func (r *RandPacketT) RandIPv4Layer() *layers.IPv4

RandIPv4Layer generates a random IPv4 layer

func (*RandPacketT) RandIPv6Addr
func (r *RandPacketT) RandIPv6Addr() net.IP

RandIPv6Addr Generate a random IPv6 address

func (*RandPacketT) RandInt
func (r *RandPacketT) RandInt(n int) int

RandInt generates a random int

func (*RandPacketT) RandInt16
func (r *RandPacketT) RandInt16() uint16

RandInt16 generates random uint16

func (*RandPacketT) RandInt32
func (r *RandPacketT) RandInt32() uint32

RandInt32 generates random uint32

func (*RandPacketT) RandL3Layer
func (r *RandPacketT) RandL3Layer(l3type layers.IPProtocol) gopacket.SerializableLayer

RandL3Layer generates a random L3 layer: currently supports TCP & UDP only.

func (*RandPacketT) RandMACAddr
func (r *RandPacketT) RandMACAddr() net.HardwareAddr

RandMACAddr Generate a random MAC address

func (*RandPacketT) RandPayload
func (r *RandPacketT) RandPayload() []byte

RandPayload generates a Random Payload

func (*RandPacketT) SetSeed
func (r *RandPacketT) SetSeed(s int64)

SetSeed Set a seed from an external source

Documentation

Overview

Package gorandpacket is a go library for randomly generating ethernet packets It's main purpose is for testing networking software/hardware

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RandPacketT

type RandPacketT struct {
	MACLen int
	Seed   int64
	Rand   *rand.Rand
}

Struct RandPacket holds the gorandpacket object

func NewGorandPacket

func NewGorandPacket() RandPacketT

NewGorandPacket Factory method for gorandpacket

func (*RandPacketT) RandByte

func (r *RandPacketT) RandByte() byte

RandByte Generate a random byte

func (*RandPacketT) RandEthernetLayer

func (r *RandPacketT) RandEthernetLayer() *layers.Ethernet

RandEthernetLayer generates a random Ethernet layer

func (*RandPacketT) RandEthernetPacket

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 (*RandPacketT) RandIPTCPLayer

func (r *RandPacketT) RandIPTCPLayer() *layers.TCP

RandIPv4TCPLayer generates a random TCP layer

func (*RandPacketT) RandIPUDPLayer

func (r *RandPacketT) RandIPUDPLayer() *layers.UDP

RandIPUDP generates a random UDP layer

func (*RandPacketT) RandIPv4Addr

func (r *RandPacketT) RandIPv4Addr() net.IP

RandIPv4Addr generates a random IPv4 address

func (*RandPacketT) RandIPv4Layer

func (r *RandPacketT) RandIPv4Layer() *layers.IPv4

RandIPv4Layer generates a random IPv4 layer

func (*RandPacketT) RandIPv6Addr

func (r *RandPacketT) RandIPv6Addr() net.IP

RandIPv6Addr Generate a random IPv6 address

func (*RandPacketT) RandInt

func (r *RandPacketT) RandInt(n int) int

RandInt generates a random int

func (*RandPacketT) RandInt16

func (r *RandPacketT) RandInt16() uint16

RandInt16 generates random uint16

func (*RandPacketT) RandInt32

func (r *RandPacketT) RandInt32() uint32

RandInt32 generates random uint32

func (*RandPacketT) RandL3Layer

func (r *RandPacketT) RandL3Layer(l3type layers.IPProtocol) gopacket.SerializableLayer

RandL3Layer generates a random L3 layer: currently supports TCP & UDP only.

func (*RandPacketT) RandMACAddr

func (r *RandPacketT) RandMACAddr() net.HardwareAddr

RandMACAddr Generate a random MAC address

func (*RandPacketT) RandPayload

func (r *RandPacketT) RandPayload() []byte

RandPayload generates a Random Payload

func (*RandPacketT) SetSeed

func (r *RandPacketT) SetSeed(s int64)

SetSeed Set a seed from an external source

Jump to

Keyboard shortcuts

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