
IPv6Tools est un framework modulaire robuste qui permet d'auditer visuellement un réseau compatible IPv6.
Le framework IPv6Tools est un ensemble robuste de modules et de plugins permettant à un utilisateur d'auditer un réseau compatible IPv6. Les modules intégrés prennent en charge l'énumération des fonctionnalités IPv6 telles que ICMPv6 et la découverte des écouteurs multicast (MLD). De plus, le framework supporte également l'énumération des protocoles de couche supérieure (ULP) tels que le DNS multicast (mDNS) et la résolution de noms multicast locaux (LLMNR). Les utilisateurs peuvent facilement étendre les capacités du framework en créant des plugins et des modules en langage Python.
Pour en savoir plus sur la genèse de ce projet et sur la façon de construire une application en utilisant les mêmes technologies, suivez les liens ci-dessous !
[Optionnel] Utiliser un environnement virtuel pour l'installation : virtualenv venv && source venv/bin/activate
git clone http://github.com/apg-intel/ipv6tools.gitsudo pip install -r requirements.txtgit clone http://github.com/apg-intel/ipv6tools.gitgit checkout devnpm run setupsudo python app.py$ npm run servenpm run devTODO
Les modules sont des classes qui permettent d'interagir avec des nœuds individuels ou tous les nœuds. Ils apparaissent comme une option de clic droit sur chaque nœud, ou comme un bouton sous le graphe.
Le projet comprend quelques modules pour vous aider à valider votre réseau, ainsi que pour servir d'exemples pour vos propres modules.
Tous les modules se trouvent dans /modules et sont chargés automatiquement au démarrage du serveur. Le fichier template.py est inclus dans /modules. Ce fichier contient la classe que tous les modules doivent étendre pour s'afficher correctement et communiquer avec la page web.
Utilisez ce modèle pour créer un module personnalisé
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)
dnet ou dumbnet - suivez les instructions ci-dessous.git clone https://github.com/dugsong/libdnet.git
cd libdnet
./configure && make
sudo make install
cd python
python setup.py install
sudo apt install libpcap-dev