Annotation of embedaddon/libnet/README.md, revision 1.1

1.1     ! misho       1: [![Appveyor Status][]][Appveyor] [![Travis Status][]][Travis] [![CodeDocs Status][]][CodeDocs]
        !             2: 
        !             3: Portable Packet Construction and Injection
        !             4: ==========================================
        !             5: 
        !             6: Libnet is an API to help with the construction and injection of network
        !             7: packets.  It provides a portable framework for low-level network packet
        !             8: writing and handling (use libnet in conjunction with libpcap and you can
        !             9: write some really cool stuff).  Libnet includes packet creation at the
        !            10: IP layer and at the link layer as well as a host of supplementary and
        !            11: complementary functionality.
        !            12: 
        !            13: Libnet is very handy with which to write network tools and network test
        !            14: code.  Some projects, available in Debian/Ubuntu and OpenBSD, using
        !            15: libnet are:
        !            16: 
        !            17: - [arping](https://github.com/ThomasHabets/arping)
        !            18: - [ettercap](https://www.ettercap-project.org/)
        !            19: - [ipguard](http://ipguard.deep.perm.ru/)
        !            20: - [isic](http://isic.sourceforge.net/)
        !            21: - [nemesis](https://troglobit.com/projects/nemesis/)
        !            22: - [packit](http://packetfactory.openwall.net/projects/packit/)
        !            23: - [tcptraceroute](https://web.archive.org/web/20130424094134/http://michael.toren.net/code/tcptraceroute/)
        !            24: - [yersinia](https://web.archive.org/web/20180522141004/http://www.yersinia.net/)
        !            25: 
        !            26: See the man page and sample test code for more detailed information.
        !            27: Online documentation is available at https://codedocs.xyz/libnet/libnet/
        !            28: 
        !            29: > **NOTE:** Legacy code written for *libnet-1.0.x* is unfortunately
        !            30: >           **incompatible** with *libnet-1.1.x* and later.  
        !            31: >           See the [Migration Guide](doc/MIGRATION.md) for porting help.
        !            32: 
        !            33: 
        !            34: Building
        !            35: --------
        !            36: 
        !            37: First download the [latest release][] from GitHub.  Libnet employs the
        !            38: [GNU configure and build system][autotools].  The release tarballs and
        !            39: zip files ship with a pre-built `configure` script:
        !            40: 
        !            41:     tar xf libnet-x.y.z.tar.gz
        !            42:     cd libnet-x.y.z/
        !            43:     ./configure && make
        !            44:     sudo make install
        !            45: 
        !            46: To list available options, type <kbd>./configure --help</kbd>
        !            47: 
        !            48: ### Building from GIT/GitHub
        !            49: 
        !            50: When building from GIT, use <kbd>./autogen.sh</kbd> to generate the
        !            51: `configure` script.  For this you need the full suite of the GNU
        !            52: autotools: autoconf (>=2.69), automake (>=1.14), libtool (>=2.4.2).
        !            53: 
        !            54: How to install the dependencies varies by system, but on many Debian derived
        !            55: systems, `apt` can be used:
        !            56: 
        !            57:     sudo apt install autoconf automake libtool
        !            58: 
        !            59: ### Building the Documentation
        !            60: 
        !            61: To build the documentation (optional) you need doxygen and pod2man:
        !            62: 
        !            63:     sudo apt install doxygen
        !            64:     sudo apt install pod2man || sudo apt install perl
        !            65: 
        !            66: For neat graphics in the HTML documentation, also install graphviz.
        !            67: There is also a PDF version of the docs, to build that you need quite a
        !            68: few more packages:
        !            69: 
        !            70:     sudo apt install texlive-extra-utils texlive-latex-extra \
        !            71:                      texlive-fonts-recommended latex-xcolor  \
        !            72:                      texlive-font-utils
        !            73: 
        !            74: For Microsoft CHM docs you need the HTML Help Workshop, which is part
        !            75: of Visual Studio: http://go.microsoft.com/fwlink/p/?linkid=154968, on
        !            76: UNIX and GNU/Linux systems, see `chmcmd`, which is available in the
        !            77: [FreePascal](http://www.freepascal.org/) suite:
        !            78: 
        !            79:     sudo apt install fp-utils-3.0.4
        !            80: 
        !            81: 
        !            82: Using -lnet
        !            83: -----------
        !            84: 
        !            85: Libnet is installed as a library and a set of include files.  The main
        !            86: include file to use in your program is:
        !            87: 
        !            88:     #include <libnet.h>
        !            89: 
        !            90: To get the correct search paths to both the header and library files,
        !            91: use the standard `pkg-config` tool:
        !            92: 
        !            93:     $ pkg-config --libs --static --cflags libnet
        !            94:     -I/usr/local/include -L/usr/local/lib -lnet
        !            95: 
        !            96: The prefix path `/usr/local/` shown here is only the default.  Use the
        !            97: `configure` script to select a different prefix when installing libnet.
        !            98: 
        !            99: For GNU autotools based projects, use the following in `configure.ac`:
        !           100: 
        !           101:     # Check for required libraries
        !           102:     PKG_CHECK_MODULES([libnet], [libnet >= 1.2])
        !           103: 
        !           104: and in your `Makefile.am`:
        !           105: 
        !           106:     proggy_CFLAGS = $(libnet_CFLAGS)
        !           107:     proggy_LDADD  = $(libnet_LIBS)
        !           108: 
        !           109: 
        !           110: Origin & References
        !           111: -------------------
        !           112: 
        !           113: Libnet is widely used, but had been unmaintained for a long time and its
        !           114: author unreachable.  This version was forked from the 1.1.3 release
        !           115: candidate from [packetfactory.net][origin], bug fixed, developed, and
        !           116: re-released.
        !           117: 
        !           118: Use GitHub issues and pull request feature for questions and patches:
        !           119: 
        !           120:   http://github.com/libnet/libnet
        !           121: 
        !           122: Some old docs are available at:
        !           123: 
        !           124:   http://packetfactory.openwall.net/projects/libnet/index.html
        !           125: 
        !           126: -------------------------------------------------------------------------
        !           127: - v1.1 (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>  
        !           128:   http://www.packetfactory.net/libnet
        !           129: - v1.1.3 and later (c) 2009 - 2013 Sam Roberts <vieuxtech@gmail.com>  
        !           130:   http://github.com/libnet/libnet
        !           131: -------------------------------------------------------------------------
        !           132: 
        !           133: [latest release]:  https://github.com/libnet/libnet/releases
        !           134: [autotools]:       https://autotools.io/
        !           135: [origin]:          http://packetfactory.openwall.net/projects/libnet/
        !           136: [Appveyor]:        https://ci.appveyor.com/project/troglobit/libnet
        !           137: [Appveyor Status]: https://ci.appveyor.com/api/projects/status/fkw05hw8cysfl2p1?svg=true
        !           138: [Travis]:          https://travis-ci.org/libnet/libnet
        !           139: [Travis Status]:   https://travis-ci.org/libnet/libnet.png?branch=master
        !           140: [CodeDocs]:        https://codedocs.xyz/libnet/libnet/
        !           141: [CodeDocs Status]: https://codedocs.xyz/libnet/libnet.svg

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>