Vizion is a library designed for building and dissecting network packages with great speed and efficiency.
To download this library do :
$ go get github.com/AnataarXVI/vizion
Vizion can be imported as a library. This library lets you create fully customizable packets.
Here's how to import the library:
import (
. "github.com/AnataarXVI/vizion"
"github.com/AnataarXVI/vizion/packet"
"github.com/AnataarXVI/vizion/layers"
)
Here is an example of how to create a packet :
func main() {
// Create the packet
pkt := packet.Packet{}
// Create the Ethernet layer with default values set
etherLayer := layers.EtherLayer()
// Modify the Type field of the layer
etherLayer.Type = 0x0806
// Create the ARP layer with default values set
arpLayer := layers.ARPLayer()
// Add layers to the packet
pkt.AddLayers(ðerLayer, &arpLayer)
// Show the packet composition
pkt.Show()
// Send the packet on 'lo' interface
Send(pkt, "lo")
}
Result:
In the docs folder, you'll find all the documentation you need to get started with the library.
Some useful resources :
This project is currently under development. I am open to any improvements or advice.
You can contact me at anataar@protonmail.com or open an issue.