1 下载并安装 graphviz
Graphviz:http://www.graphviz.org/Download_windows.php
ImageMagick:https://www.imagemagick.org/script/download.php#windows
安装 python 的 graphviz 模块:
pip install graphviz
安装 pygraphviz:由于windows下无法通过pip自动安装,需要下载对应的whl文件,手动安装:
http://www.lfd.uci.edu/~gohlke/pythonlibs/vu4hx7yr/pygraphviz-1.3.1-cp27-none-win32.whl
然后执行:
pip install pygraphviz-1.3.1-cp27-none-win32.whl
注意:下载自己安装环境相应的whl包,python版本是27 还是 34,是win32环境还是amd64.
2 配置windows环境变量:
scapy 会调用 graphviz 的工具程序,需要配置环境变量。
3 测试 graphviz 是否可用:
>>>from graphviz import Digraph
>>>dot = Digraph(comment='The Round Table')
>>>dot.node('A','King Arthur')
>>>dot.node('B','Sir Bedevere the Wise')
>>>dot.node('L','Sir Lancelot the Brave')
>>>dot.edges(['AB','AL'])
>>>dot.edge('B','L',constraint='false')
>>>dot.render('test-output/round-table.gv',view=True)
图形渲染结束,会生成如下图片:
4 在 scapy 中使用 graphviz
安装scapy模块
pip install scapy
执行scapy进入交互模式,进行测试:
pkts = sniff(filter='tcp', count=100)
pkts.conversations(type='jpg', target='> test.jpg')
会在用户目录下生成 test.jpg 文件,如内容下图所示,说明graphviz可正常使用。