安装scapy遇到的问题

简介:

1. Mac平台

在mac上安装scapy可以说是困难重重,一来因为scapy实在有些小众和老旧,再加上安装说明文档都是python2.5 也没有详细说明一些安装问题。

折腾了大概三个小时之后终于解决了这个老大难。

注:我的环境为anaconda2.3 - python2.7.10

 

一,首先scapy依赖了以下几个库:

1.PyX  :   

2.pcapy

3.gnuplot-py

4.dnet 

其中gnuplot-py 以及pyx一定要使用官方网站上面的指定版本。

如果你FQ不方便,请使用我的备份库github: https://github.com/todototry/scapyInstallDependents   

 

二,dnet是个大坑,

1. 需要注意的是dnet不能使用官方版本,需要使用libdnet1.12, 并configure ; make install 逐步安装,一定要记得进入该dnet的python子文件夹安装其对应的python库。

2. 安装好之后请注意检查python的对应site-package中是否有dnet.so 这个文件。

3.如果出现cannot import dnet 可能的原因是:没有安装dnet的依赖库: pip install graphillion 

4. 如果遵照上述方法安装后,任然出现AttributeError: 'module' object has no attribute 'intf', 请使用pip uninstall pydnet , 可能是官网的pydnet 与 libdnet1.12中的python接口冲突引起的。

 

三,如果sniff出现 pcapy权限不足

请卸载pcapy, 用pypcap替代,完美解决pcap权限问题。参见以下

 Scapy “Warning pcapy API does not permit to get capure file descriptor”?

 

2. Windows平台

由于我安装了anaconda,python2.7, 按照官方提供的package,需要python2.5,因此需要网络搜索到python2.7的安装包,并要注意,一定要在安装pcap和dnet时 使用administrator身份运行,因为这涉及到系统层级的网络操作,并配置好gnuplot,pcap的env。

 

参考:

1. 官网:http://www.secdev.org/projects/scapy/doc/installation.html

2. dnet安装与dnet.so 依赖问题,http://stackoverflow.com/questions/26229057/scapy-installation-fails-on-osx-with-dnet-import-error

3. http://juhalaaksonen.com/blog/2013/12/11/installing-scapy-for-mac-os-x/

4. https://github.com/dugsong/libdnet/issues/9

5. AttributeError: 'module' object has no attribute 'intf' 解决方案: https://github.com/Homebrew/homebrew-python/issues/212

 



本文转自fandyst 博客园博客,原文链接:http://www.cnblogs.com/ToDoToTry/    ,如需转载请自行联系原作者

相关文章
|
Unix 网络安全 iOS开发
Mac 电脑如何安装Wireshark?
Mac 电脑如何安装Wireshark?
1188 0
Mac 电脑如何安装Wireshark?
|
前端开发 JavaScript Java
【实训项目】易行APP设计(c2c二手交易平台)
【实训项目】易行APP设计(c2c二手交易平台)
376 0
西门子S7-1200有什么功能特点?应用范围有哪些?CPU型号及模块类型有哪些?
S7-1200是西门子公司新推出的一款面向离散自动化系统和独立自动化系统的低端PLC。S7-1200采用了模块化设计,具备强大的工艺功能,适用于多种场合,可以满足不同的自动化需求。
西门子S7-1200有什么功能特点?应用范围有哪些?CPU型号及模块类型有哪些?
|
5月前
|
人工智能 自然语言处理 前端开发
面向六个月后的 AI Code,也许影响的不只是前端
本文探讨了AI在编程领域的快速发展及其对程序员职业的影响。随着AI技术的不断进步,特别是Codebase Indexing和MCP(Model Context Protocol)等技术的应用,AI已能够更好地理解企业内部知识并生成符合项目规范的代码。文章指出,未来六个月AI代码生成将形成“规范驱动→知识沉淀→协议贯通→智能执行”的闭环架构,大幅提升开发效率。同时, Anthropic CEO Dario Amodei预测,初级程序员可能在18个月内被AI取代,强调了职业规划更新的重要性。文章还对比了Function Call与MCP的技术路线,并提供了相关参考链接。
531 71
面向六个月后的 AI Code,也许影响的不只是前端
|
3月前
|
监控 druid Java
如何使用 SpringBoot flowable 来整合工作流开发
我是小假 期待与你的下一次相遇 ~
275 41
|
12月前
|
存储 NoSQL Shell
MongoDB复制(副本集)总结
这篇文章是关于MongoDB副本集的总结,包括复制原理、设置副本集、案例分析等内容。
235 1
|
11月前
|
缓存 数据挖掘 测试技术
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
本文介绍了YOLO-Nano在目标检测中的训练、测试及验证步骤。YOLO-Nano是一个轻量级目标检测模型,使用ShuffleNet-v2作为主干网络,结合FPN+PAN特征金字塔和NanoDet的检测头。文章详细说明了训练前的准备、源代码下载、数据集准备、参数调整、模型测试、FPS测试、VOC-map测试、模型训练、模型测试和验证等步骤,旨在帮助开发者高效实现目标检测任务。
549 0
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
|
JavaScript
vue npm启动报错-解决
vue npm启动报错-解决
170 4
|
C语言
C语言 网络编程(九)并发的UDP服务端 以线程完成功能
这是一个基于UDP协议的客户端和服务端程序,其中服务端采用多线程并发处理客户端请求。客户端通过UDP向服务端发送登录请求,并根据登录结果与服务端的新子线程进行后续交互。服务端在主线程中接收客户端请求并创建新线程处理登录验证及后续通信,子线程创建新的套接字并与客户端进行数据交换。该程序展示了如何利用线程和UDP实现简单的并发服务器架构。
|
存储 文件存储
DAS和NAS的性能对比?
【6月更文挑战第29天】DAS和NAS的性能对比?
333 4