cksea / libusipp Goto Github PK
View Code? Open in Web Editor NEWThis project forked from stealth/libusipp
unix socket interface for C++ raw IP/IP6/UDP/TCP, Layer2 etc. framework
Home Page: http://c-skills.blogspot.com
License: Other
This project forked from stealth/libusipp
unix socket interface for C++ raw IP/IP6/UDP/TCP, Layer2 etc. framework
Home Page: http://c-skills.blogspot.com
License: Other
USI++ README ============ 0. About -------- usi++ (UNIX Socket Interface) is a low-level network-library for sending/receiving IP, IP6, ARP etc. packets directly on RAW or PACKET sockets. It can also be used for network-monitoring and rapid development of pentesting tools. Since version 1.2 it uses the packet capture library libpcap. To get the latest libpcap with full linux-features, you should visit http://www.tcpdump.org 1. License ---------- usi++ comes under the GPL. See file COPYING for more details. A data-file for ethernet-MAC's is included. It was taken from arpwatch. Since USI++ is GPL there is ABSOLUTELY NO WARRANTY. YOU USE IT AT YOUR OWN RISK. 2. Install ---------- $ autoconf $ ./configure $ make # make install 3. Compiling the examples ------------------------- Usually like this: # c++ foo.cc -lusi++ -lpcap If you compiled usi++ with dnet support, which allows you to also send packets at the datalink layer (not just RAW sockets), you also need to link against -ldnet. 4. Function-description ----------------------- Please look at the HTML-documentation of libusi++ or at the samples. 5. Supported Platforms ---------------------- To make usi++ work properly on new Linux 2.4 kernels, make sure you disable 'connection tracking' in kernel. At best you compile connection tracking (if you need it for NAT) as modules and remove them when playing with usi++. This is because connection tracking forbids to send arbitrary TCP or ICMP packets which don't belong to any connection. 6. BUGS/TODO ------------ The TCP-options are alpha-state. I need to play around with different (little/big-endian) systems to figure out complete behaivior. The STL-headerfiles shipped with redhat 6.x and freeBSD 3.3 are broken (g++3). If you get compiler-errors when compiling ip.cc that tell you that there is a mess with stl_alloc.h, you can copy the fixed stl_alloc.h (directory fix) to the specified dir. 7. Background for Layer 2 ------------------------- The linklevel handling has changed. Now all classes are derived from Layer2 {} which contains a RX and a TX object which are used for receiving and transmitting data. The class-declarations can be found in the coresponding .h files. These classes are abstract, this means you must derive your own to get it working. Look at the .h files which functions you must implemet. USI++ ships with two classes Pcap {} and TX_IP {} which let you capture/send packets. They give you basic functionality so that you can use programs that work with USI++ 1.67 or lower as normal. By making RX {} and TX {} abstract we make sure that Layer2 {} can access routines such as sendpack(). You are free to write your own RX/TX based classes for different hardware (FDDI,...). You can change RX/TX behaivior at runtime, so it is as flexible as possible. For example you could detect that you are working with PPP and then you load PPP transimitter. Have fun.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.