Git Product home page Git Product logo

libcrafter's Introduction

= Introduction =

Libcrafter is a high level library for C++ designed to facilitate the creation 
and decoding of 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.
It also contains a very naive implementation of the TCP/IP stack (fragmentation 
is no handled yet) at user level that enables working with TCP streams. This 
facilitates the creation of tools for data injection on arbitrary connections, 
IP spoofing and TCP/IP session hijacking. 

You can find information and news about the project at:

http://code.google.com/p/libcrafter/

or you can follow the development of Libcrafter at:

https://github.com/pellegre/libcrafter

Libcrafter is also distributed in latest Backtrack releases. 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!

The primary developer of Libcrafter is Esteban Pellegrino. Contributions from 
libcrafter's users:

* Thanks to Bruno Nery contribution, libcrafter support ICMP
extension (rfc4884) and MPLS extensions (rfc4950) for ICMPv6 and ICMPv4.

libcrafter's People

Contributors

abigagli avatar pellegre avatar

Watchers

 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.