Coder Social home page Coder Social logo

sudoconf / libnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from libnet/libnet

0.0 2.0 0.0 5.08 MB

A portable framework for low-level network packet construction

Home Page: https://codedocs.xyz/libnet/libnet/

License: BSD 2-Clause "Simplified" License

Shell 0.25% C 90.30% Ruby 0.07% Makefile 0.89% Batchfile 0.57% C++ 0.39% M4 7.53%

libnet's Introduction

Appveyor Status Travis Status CodeDocs Status

Packet Construction and Injection

Libnet is an API to help with the construction and injection of network packets. It provides a portable framework for low-level network packet writing and handling (use libnet in conjunction with libpcap and you can write some really cool stuff). Libnet includes packet creation at the IP layer and at the link layer as well as a host of supplementary and complementary functionality.

Libnet is very handy with which to write network tools and network test code. Some projects, available in Debian/Ubuntu and OpenBSD, using libnet are:

See the man page and sample test code for more detailed information. Online documentation is available at https://codedocs.xyz/libnet/libnet/

NOTE: Legacy code written for libnet-1.0.x is unfortunately incompatible with libnet-1.1.x and later.
See the Migration Guide for porting help.

Building

First download the latest release from GitHub. Libnet employs the GNU configure and build system. The release tarballs and zip files ship with a pre-built configure script:

tar xf libnet-x.y.z.tar.gz
cd libnet-x.y.z/
./configure && make
sudo make install

To list available options, type ./configure --help

Building from GIT/GitHub

When building from GIT, use ./autogen.sh to generate the configure script. For this you need the full suite of the GNU autotools: autoconf (>=2.69), automake (>=1.14), libtool (>=2.4.2).

How to install the dependencies varies by system, but on many Debian derived systems, apt can be used:

sudo apt install autoconf automake libtool

Building the Documentation

To build the documentation (optional) you need doxygen and pod2man:

sudo apt install doxygen
sudo apt install pod2man || sudo apt install perl

For neat graphics in the HTML documentation, also install graphviz. There is also a PDF version of the docs, to build that you need quite a few more packages:

sudo apt install texlive-extra-utils texlive-latex-extra \
                 texlive-fonts-recommended latex-xcolor  \
                 texlive-font-utils

For Microsoft CHM docs you need the HTML Help Workshop, which is part of Visual Studio: http://go.microsoft.com/fwlink/p/?linkid=154968, on UNIX and GNU/Linux systems, see chmcmd, which is available in the FreePascal suite:

sudo apt install fp-utils-3.0.4

Using -lnet

Libnet is installed as a library and a set of include files. The main include file to use in your program is:

#include <libnet.h>

To get the correct search paths to both the header and library files, use the standard pkg-config tool:

$ pkg-config --libs --static --cflags libnet
-I/usr/local/include -L/usr/local/lib -lnet

The prefix path /usr/local/ shown here is only the default. Use the configure script to select a different prefix when installing libnet.

For GNU autotools based projects, use the following in configure.ac:

# Check for required libraries
PKG_CHECK_MODULES([libnet], [libnet >= 1.2])

and in your Makefile.am:

proggy_CFLAGS = $(libnet_CFLAGS)
proggy_LDADD  = $(libnet_LIBS)

Origin & References

Libnet is widely used, but had been unmaintained for a long time and its author unreachable. This version was forked from the 1.1.3 release candidate from packetfactory.net, bug fixed, developed, and re-released.

Use GitHub issues and pull request feature for questions and patches:

http://github.com/libnet/libnet

Some old docs are available at:

http://packetfactory.openwall.net/projects/libnet/index.html



libnet's People

Contributors

sam-github avatar troglobit avatar sgeto avatar thomashabets avatar jpopelka avatar allfro avatar dohnuts avatar barak avatar dlwdlw avatar repolho avatar cmicali avatar dago avatar h3xx avatar droe avatar regit avatar cunha avatar xavierholt avatar kokan avatar sharhalakis avatar knoopx avatar davidszalai avatar rofl0r avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.