All Projects → apg-intel → Ipv6tools

apg-intel / Ipv6tools

Licence: gpl-2.0
IPv6Tools is a robust modular framework that enables the ability to visually audit an IPv6 enabled network.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ipv6tools

Uebergame
Uebergame code repository
Stars: ✭ 90 (-25%)
Mutual labels:  free, open-source
Smargate
内网穿透,c++实现,无需公网IP,小巧,易用,快速,安全,最好的多链路聚合(p2p+proxy)模式,不做之一...这才是你真正想要的内网穿透工具!
Stars: ✭ 1,378 (+1048.33%)
Mutual labels:  free, ipv6
Browser Phone
A fully featured browser based WebRTC SIP phone for Asterisk
Stars: ✭ 95 (-20.83%)
Mutual labels:  free, open-source
P32929.github.io
Second iteration of my portfolio - created using ReactJS, Material-UI, Overmind, etc
Stars: ✭ 84 (-30%)
Mutual labels:  free, open-source
Startbootstrap Resume
Start Bootstrap is an open source library of free Bootstrap themes and templates. All of the free themes and templates on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
Stars: ✭ 1,642 (+1268.33%)
Mutual labels:  free, open-source
Startbootstrap Landing Page
A responsive, Bootstrap landing page template created by Start Bootstrap
Stars: ✭ 1,275 (+962.5%)
Mutual labels:  free, open-source
Iglance
Free system monitor for OSX and macOS. See all system information at a glance in the menu bar.
Stars: ✭ 1,358 (+1031.67%)
Mutual labels:  free, open-source
Ship
A simple, handy network addressing multitool with plenty of features
Stars: ✭ 81 (-32.5%)
Mutual labels:  networking, ipv6
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+1208.33%)
Mutual labels:  free, open-source
Awesome Forensics
A curated list of awesome forensic analysis tools and resources
Stars: ✭ 1,775 (+1379.17%)
Mutual labels:  free, open-source
Startbootstrap Sb Admin 2
Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
Stars: ✭ 9,038 (+7431.67%)
Mutual labels:  free, open-source
Netclient Ios
Versatile HTTP Networking in Swift
Stars: ✭ 117 (-2.5%)
Mutual labels:  framework, networking
Startbootstrap 3 Col Portfolio
A three column Bootstrap HTML portfolio template - created by Start Bootstrap
Stars: ✭ 82 (-31.67%)
Mutual labels:  free, open-source
Cutehmi
CuteHMI is an open-source HMI (Human Machine Interface) software written in C++ and QML, using Qt libraries as a framework. GitHub repository is a mirror!
Stars: ✭ 90 (-25%)
Mutual labels:  free, open-source
Corerad
CoreRAD is an extensible and observable IPv6 Neighbor Discovery Protocol router advertisement daemon. Apache 2.0 Licensed.
Stars: ✭ 82 (-31.67%)
Mutual labels:  networking, ipv6
Avideo
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Stars: ✭ 1,329 (+1007.5%)
Mutual labels:  free, open-source
Njupt Yellow Page
😋南京邮电大学黄页
Stars: ✭ 74 (-38.33%)
Mutual labels:  free, open-source
Startbootstrap Shop Item
A shop item Bootstrap HTML template created by Start Bootstrap
Stars: ✭ 76 (-36.67%)
Mutual labels:  free, open-source
Facil.io
Your high performance web application C framework
Stars: ✭ 1,393 (+1060.83%)
Mutual labels:  framework, networking
Im ios
GoBelieveIO IM iOS sdk
Stars: ✭ 116 (-3.33%)
Mutual labels:  free, open-source

IPv6Tools

The IPv6Tools framework is a robust set of modules and plugins that allow a user to audit an IPv6 enabled network. The built-in modules support enumeration of IPv6 features such as ICMPv6 and Multicast Listener Discovery (MLD). In addition, the framework also supports enumeration of Upper Layer Protocols (ULP) such as multicast DNS (mDNS) and Link-Local Multicast Name Resolution (LLMNR). Users can easily expand the capability of the framework by creating plugins and modules in the Python language.

Write-up

To read more about how this project came to fruition and how to build an app using the same technologies, follow the links below!


IPv6Tools Scanning Network

Requirements

  • python 2.7
  • pip
  • npm [development only]

Installation

Standard

[Optional] Use a virtualenv for installation: virtualenv venv && source venv/bin/activate

  1. git clone http://github.com/apg-intel/ipv6tools.git
  2. sudo pip install -r requirements.txt

Development

  1. git clone http://github.com/apg-intel/ipv6tools.git
  2. git checkout dev
  3. npm run setup

Usage

Standard

  1. sudo python app.py
  2. Navigate to http://localhost:8080 in a web browser

Development

  1. Run $ npm run serve
  2. In a separate terminal, run npm run dev
  3. Navigate to http://localhost:8081 in a web browser

CLI

TODO

Modules

Modules are classes that allow interaction with individual nodes or all nodes. These show up as a right click option on each node, or as a button below the graph.

Included Modules

Included in the project are a couple of modules to help validate your network, as well as use as examples for your own modules.

  • poisonLLMNR - Link-Local Multicast Name Resolution is the successor of of NBT-NS, which allows local nodes to resolve names and IP addresses. Enabling this module poisons LLMNR queries to all nodes on the local link.
  • CVE-2016-1879 - The following CVE is a vulnerability in SCTP that affects FreeBSD 9.3, 10.1 and 10.2. Enabling this module will launch a crafted ICMPv6 packet and potentially cause a DoS (assertion failure or NULL pointer dereference and kernel panic) to a single node.

Custom Modules

All modules are located in /modules and are automatically loaded when starting the server. Included in /modules is a file called template.py. This file contains the class that all modules must extend in order to display correctly and communicate with the webpage.

Use this template to build a custom module

from template import Template

class IPv6Module(Template):

  def __init__(self, socketio, namespace):
    super(IPv6Module, self).__init__(socketio, namespace)
    self.modname = "CVE-2016-1879"
    self.menu_text = "FreeBSD IPv6 DoS"
    self.actions = [
      {
        "title": "FreeBSD IPv6 DoS", #name that's displayed on the buttons/menu
        "action": "action", #method name to call
        "target": True #set this to true to display it in the right-click menu
      }
    ]

  def action(self, target=None):
    # send a log msg
    self.socket_log('Running DoS on '+target['ip'])
    
    # do stuff, etc

    # merge results with main result set
    listOfDicts = [{ip: '::1', device_name: 'test'}]
    self.module_merge(listOfDicts)

Known Issues

  • Untested on large networks
  • Any stack traces mentioning dnet or dumbnet - follow the instructions below.
  • Some operating systems may require the libpcap headers. See notes below.

Installing libdnet

git clone https://github.com/dugsong/libdnet.git
cd libdnet
./configure && make
sudo make install
cd python
python setup.py install

libpcap headers in Ubuntu

sudo apt install libpcap-dev

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].