IPv6Tools 框架是一套强大的模块和插件集合,允许用户审计支持 IPv6 的网络。内置模块支持枚举 IPv6 特性,如 ICMPv6 和组播监听发现 (MLD)。此外,该框架还支持上层协议 (ULP) 的枚举,例如组播 DNS (mDNS) 和链路本地组播名称解析 (LLMNR)。用户可以通过用 Python 语言创建插件和模块来轻松扩展框架的功能。
要了解更多关于该项目如何实现以及如何使用相同技术构建应用程序的信息,请点击下面的链接!
[可选] 使用虚拟环境进行安装: 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 dev待完成
模块是允许与单个节点或所有节点交互的类。这些模块会作为每个节点的右键选项出现,或作为图表下方的按钮显示。
项目中包含了一些模块,用于帮助验证你的网络,同时也作为你自己模块的示例。
所有模块都位于 /modules 目录下,并在启动服务器时自动加载。/modules 目录中包含一个名为 template.py 的文件。该文件包含了所有模块为正常显示和与网页通信而必须继承的类。
使用此模板构建自定义模块:
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", #在按钮/菜单上显示的名称
"action": "action", #要调用的方法名称
"target": True #设为 true 以在右键菜单中显示
}
]
def action(self, target=None):
# 发送日志消息
self.socket_log('在 '+target['ip']+' 上运行 DoS')
# 执行其他操作等
# 将结果合并到主结果集中
listOfDicts = [{ip: '::1', device_name: 'test'}]
self.module_merge(listOfDicts)
dnet 或 dumbnet 的堆栈跟踪 - 请遵循下面的说明。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