https://github.com/anataarxvi/vizion
The Golang-based library for packet manipulation and dissection
https://github.com/anataarxvi/vizion
golang network network-analysis network-secuirty network-visualization offensive packet packet-analyser packet-crafting packet-sniffer security vizion
Last synced: 5 months ago
JSON representation
The Golang-based library for packet manipulation and dissection
- Host: GitHub
- URL: https://github.com/anataarxvi/vizion
- Owner: AnataarXVI
- License: gpl-3.0
- Created: 2024-01-18T20:07:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-10T17:12:03.000Z (about 2 years ago)
- Last Synced: 2024-06-21T17:02:40.807Z (almost 2 years ago)
- Topics: golang, network, network-analysis, network-secuirty, network-visualization, offensive, packet, packet-analyser, packet-crafting, packet-sniffer, security, vizion
- Language: Go
- Homepage:
- Size: 2.4 MB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
Vizion
[](https://godoc.org/github.com/AnataarXVI/vizion)
[](LICENSE)
Vizion is a library designed for building and dissecting network packages with great speed and efficiency.
## Installation
To download this library do :
```
$ go get github.com/AnataarXVI/vizion
```
## Getting started
Vizion can be imported as a library. This library lets you create fully customizable packets.
Here's how to import the library:
```go
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 :
```go
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:_

## Ressources
In the [docs](./docs) folder, you'll find all the documentation you need to get started with the library.
Some useful resources :
- [Build a packet](./docs/Build_packet.md)
- [Sniff packets](./docs/Sniff_packet.md)
- [Create a dissector](./docs/Create_dissector.md)
## Contributing
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.