Home

Awesome

packet Test Status Go Reference Go Report Card

Package packet provides access to Linux packet sockets (AF_PACKET). MIT Licensed.

Stability

See the CHANGELOG file for a description of changes between releases.

This package has a stable v1 API and any future breaking changes will prompt the release of a new major version. Features and bug fixes will continue to occur in the v1.x.x series.

This package only supports the two most recent major versions of Go, mirroring Go's own release policy. Older versions of Go may lack critical features and bug fixes which are necessary for this package to function correctly.

History

One of my first major Go networking projects was github.com/mdlayher/raw, which provided access to Linux AF_PACKET sockets and *BSD equivalent mechanisms for sending and receiving Ethernet frames. However, the *BSD support languished and I lack the expertise and time to properly maintain code for operating systems I do not use on a daily basis.

Package packet is a successor to package raw, but exclusively focused on Linux and AF_PACKET sockets. The APIs are nearly identical, but with a few changes which take into account some of the lessons learned while working on raw.

Users are highly encouraged to migrate any existing Linux uses of raw to package packet instead. This package will be supported for the foreseeable future and will receive continued updates as necessary.