一、netzob介绍
Netzob是一个用于逆向工程、生成流量和模糊测试通信协议的开源工具。它允许通过被动和主动的过程来推断协议的消息格式和状态机。该模型可以用于模拟现实和可控流量以及模糊测试目标实现。
通过这个教程,我们将介绍Netzob的主要功能,推断消息格式和简单协议的语法,并且在最后介绍些基本实现的模糊测试。被介绍的功能覆盖以下能力:
导入一个我们想逆向的包含痕迹的文件
1、推断消息格式
区分特定分隔符的消息
重组特定关键字字段消息
区分序列对齐的每个消息的子集
查找每组消息的关联性
修改消息格式,应用发现的关系
2、推断语法
根据捕获的消息序列,生成一个主状态机
根据捕获的消息序列,生成一个序列的状态机
根据捕获的消息序列,生成一个Prefix Tree Acceptor (PTA)
3、生成流量和fuzz服务器
生成遵循推断的每组消息格式的消息
通过不同的消息格式fuzzing服务器
二、安装依赖包
1、根据官网上说需要依赖以下几个包:
python
python-dev
python-impacket
libxml2-dev
libxslt-dev
pyton-setuptools
graphviz
gtk3
python-babel
python-sphinx
2、那就先不多说直接apt开始干(国内推荐aliyun源,初始版的ubuntu源真的太慢了):
sudo apt-get install python-dev
sudo apt-get install python-impacket
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
sudo apt-get install python-setuptools
sudo apt-get install graphviz
sudo apt-get install python-babel
sudo apt-get install python-sphinxsudo apt-get install python-netaddr
sudo apt-get install python-cairo
sudo apt-get install python2.7-gi
存在权限的问题所以我都用sudo搞定了
三、安装Netzob
接下来就是安装netzob了
1、首先你得有这个Netzob的源码包,我的是0.4.1版本
emmmmm....全称叫做Netzob-0.4.1.tar.gz,优快云下载频道里面也有,自行去用积分下载应该就好了
当然我也上传了一个,目前两积分,有需要的可以在这里下载一下:
https://download.youkuaiyun.com/download/liyihao17/10811760
2、然后呢,当然是解压然后进到这个解压后的包里面去
sudo tar zxvf Netzob-0.4.1.tar.gz
sudo cd Netzob-0.4.1
3、最后就是安装了
sudo python setup.py build
sudo python setup.py develop
sudo python setup.py install
四、打开netzob
很显然,上述步骤执行完后,目录内会出现一个叫做netzob的可执行文件,正常执行,当然如果没有权限的话依旧使用sudo即可
打开后让你找一个工作站地址,大概就是这个样子的:
然后你就可以根据自己的选择去完成相应的工作了