Code Monkey home page Code Monkey logo

arpchatcpp's Introduction

Description:

Arpchat is a program implementing a chat using malformed gratuitous ARP packets:

alt text

as shown in the following picture, messages are sent using malformed ARP packets:

alt text

Disclaimers:

  • This program is intended to be a concept to exploit arp messages ans should not be used in production environment because could create serious malfunctions in network communications. So I discourage the use of this software outside controlled test environments. I will not be responsible of any damage this software could cause. So don't call me if your network administrator is looking for you with homicidal intentions because you are using arpchatcpp in production environment, I advised you.

  • Before using this program you should be familiar with gratuitous ARP requests (RFC 5227).

Prerequisites:

The program is intended to be used in a Linux environment and it is tested using the following Linux distributions:

  • Ubuntu 22.04.2 LTS (jammy) for ARM
  • Ubuntu 22.04.2 LTS (jammy) for x86-64

using, as compiler, one in this list:

  • g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 (ARM)
  • g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 (x86-64)

To compile the program, this tools/libraries are necessary:

  • a c++ compiler ( with c++20 support);
  • automake/autoconf with libtool;
  • libcap (Capabilities lib), example for Ubuntu/DEbian:
  sudo apt install  libcap-dev
  • liblua , example for Ubuntu/Debian:
  sudo apt install liblua5.4-dev

Installation:

  • Create config scripts:
   make -f makefile.dist
  • launch the configure script:
  ./configure
  • Compile the program:
  make
  • Install the program and the man page:
  sudo make install
  • set capabilities:
  sudo setcap cap_net_raw=eip src/arpchatcpp   

Configuration:

  • A template config file is provided in "data" directory, it uses LUA syntax to define variables storing configuration data;
  • Your configuration should be compliant with RFC 5227 ( gratuitous ARP requests );
  • To avoid gargage printed on the chat conversation panel, set accordigly the filter in configuration file.

Example:

  • The following example shows how to start the application:
 ./arpchatcpp -i enp0s1 -d0 -f ../data/arpchat.lua

where:

  • enp0s1 is the network interface used to communicate
  • ../data/arpchat.lua is the config file path
  • 0 is the selected debugging level

See included man page for further information.

Log file:

  • A log file called "arpchat.log.txt" will be created inside program directory.

Instructions:

See the man page included in the release.

License:

* This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License

arpchatcpp's People

Contributors

gbonacini avatar

Stargazers

 avatar

Watchers

 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.