Skip to content

pellegre/libcrafter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

= Introduction =

Libcrafter is a high level library for C++ designed to create and decode network 
packets. It is able to craft or decode packets of most common networks protocols, 
send them on the wire, capture them and match requests and replies.
It enables the creation of networking tools in a few lines with a interface 
very similar to Scapy. 
A packet is  described as layers that you stack one upon the other. Fields of 
each layer have useful default values that you can overload.

The library is designed to be used in multithreaded programs where you can 
combine several tasks simultaneously. For example, you can easily design 
something that sniffs, mangles, and sends at the same time you are doing 
an ARP-Spoofing attack.
Examples are frequently updated on:

https://github.com/pellegre/libcrafter-examples

= Installation

To compile libcrafter from the git repository you should have autoconf and libtool 
installed in your system : 

$ sudo apt-get install autoconf libtool

Clone the repository and compile the library :

$ git clone https://github.com/pellegre/libcrafter
$ cd libcrafter/libcrafter
$ ./autogen.sh 
$ make
$ sudo make install
$ sudo ldconfig

= Information =

Supported protocols are:

Ethernet, SLL (Linux cooked-mode capture), ARP, DHCP, DHCP options, IP, 
IP options, IPv6, ICMP, ICMPv6, ICMP extensions, ICMPv6 extensions, TCP, 
TCP options, UDP and DNS

IEEE802.11 coming soon!

= License =

This project is licensed under the terms of the new BSD license (see LICENSE file 
for more details)

About

A high level C++ network packet sniffing and crafting library.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 12