安装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

 

转载于:https://www.cnblogs.com/ToDoToTry/p/5323118.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DAY5-小别-2018-1-15

有两天没有写了,前天考完试出去浪了,惭愧自己没有学习;昨天,启程回家看完了循环内容的视频,晚上十点半火车到站,没抽出时间写了,还看了《黑客帝国》,有点小感触,人工智能…

【文件处理】——Python pandas 写入数据到excel中

目录 1、创建一个新的excel表格 2、 获取写入excel的数据data 3、将data类型转换为pandas接受的类型 4、写入到excel中 5、保存excel 最终结果 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/11/9 23:18 # Author : linlianqin # Site : # File …

centerOS安装chkrootkit

Chkrootkit是一个在本地系统检查rootkit痕迹的工具,它是检查系统二进制文件是否被rootkit病毒修改的一个shell脚本。 (1)centerOS安装chkrootkit 安装gcc编译环境yum install gcc gcc-c make -y 安装chkrootkit.tar.gz 解压后执行 #make sens…

微软Visual Studio 2012软件功能介绍

对于从事.net程序开发的我们,都要用到C#依附的Visual Studio平台!Visual Studio是目前最流行的Windows平台应用程序开发环境。最新版本为 Visual Studio 2012 版本,基于 NET Framework4.5 。. Visual Studio 2012内置的测试工具可以帮助开发者打造高质量…

Spring Boot轻松理解动态注入,删除bean

2019独角兽企业重金招聘Python工程师标准>>> 我们通过getBean来获得对象,但这些对象都是事先定义好的,我们有时候要在程序中动态的加入对象.因为如果采用配置文件或者注解,我们要加入对象的话,还要重启服务,如果我们想要避免这一情况就得采用动态处理bea…

对象的深度克隆

最近在复习javascript,然而我的读书笔记,以及技术博客,已经转战cmd Markdown。所以这里就只写了一个对象的深度克隆方法: 这个克隆方法可以让我很深刻的了解到了js中,万物皆对象,对js有更深入的了解。转载于…

【pyqt5学习】——TextEdit属性,将滑条始终置于最后

法一: # 向文本框中添加字符串,自动换行,不会覆盖之前的内容 self.textEdit.append(datetime.datetime.strftime(datetime.datetime.now(),"%Y-%m-%D %H:%M:%S")" 共%d个文件,剩余%d个文件,耗时%.5f(…

VS2012 中 c++项目中的各个选项介绍

MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows…

Java基于springMVC的验证码案例

1 2 Java验证码案例(基于springMVC方式)3 4 验证码工具类5 package com.ekyb.common.util;6 7 import java.awt.Color;8 import java.awt.Font;9 import java.awt.Graphics;10 11 import java.awt.image.BufferedImage;12 import java.util.ArrayList;13…

eval函数的工作原理

eval函数的工作原理 eval函数会评估一个给定的含有JavaScript代码的字符串,并且试图去执行包含在字符串里的表达式或者一系列的合法的JavaScript语句。eval函数将把最后一个表达式或者语句所包含的值或引用作为返回值。 举例说明 eval评估JavaScript表达式var bar …

CMake使用入门

一、开胃菜 hello目录下的文件结构: ├── CMakeLists.txt ├── hello.c ├── hello.h └── main.c C代码见下节。 最简单的cmake配置文件: project(HELLO) set(SRC_LIST main.c hello.c) add_executable(hello ${SRC_LIST}) 如果要编译成gdb可调…

【pyqt5学习】——给窗口添加图标

from PyQt5.QtGui import QIcon# 当前文件的目录 self.dir os.path.dirname(os.path.abspath(__file__)) # 图标ico文件存放的绝对路径 icoPath self.dir r"\data\favicon.ico" # 添加图标 self.setWindowIcon(QIcon(icoPath))

C/C++语言变量声明内存分配

[cpp] view plaincopy<span style"font-family: Verdana, Arial, Helvetica, sans-serif; ">一个由c/C编译的程序占用的内存分为以下几个部分</span> 1、栈区&#xff08;stack&#xff09;— 程序运行时由编译器自动分配&#xff0c;存放函数的参数值…

sql server数据库实现保留指定位数小数的函数

有时候需要对一个特定的含有小数点的数字保留指定位数&#xff0c;比如“123.123600”。 在数据库中以函数的形式实现如下&#xff1a; USE [数据库名称] GO /****** Object: UserDefinedFunction [dbo].[AvgLimit] Script Date: 2016/12/29 11:30:44 ******/ SET ANSI_NUL…

Centos7下安装netstat

刚安装centos7发想没有查看端口的命令 netstat yum install net-tools转载于:https://www.cnblogs.com/cuizhipeng/p/5329811.html

【pyqt5学习】——items view相关控件(list view、table view)

目录 list view——列表视图 table view——表格视图 list view——列表视图 PyQt5-高级控件使用&#xff08;QListView&#xff09; - ygzhaof_100 - 博客园QListView用于展示数据&#xff0c;子类是QListWidget。QlistView基于模型Mode&#xff0c;需要程序创建Model然后保…

变量定义和声明的区别~~~概念上千万不要栽跟头!!!

变量的声明有两种情况&#xff1a; 1、一种是需要建立存储空间的。例如&#xff1a;int a 在声明的时候就已经建立了存储空间。 2、另一种是不需要建立存储空间的。 例如&#xff1a;extern int a 其中变量a是在别的文件中定义的。 声明是向编译器介绍名字&#xff0d;&…

解决Ajax不能跨域的方法

1. Ajax不能跨域请求的原因 同源策略(Same Origin Policy)&#xff0c;是一种约定&#xff0c;该约定阻止当前脚本获取或者操作另一个域下的内容。所有支持Javascript的浏览器都支持同源策略&#xff0c;也就是说浏览器可以隔离来自不同源的内容&#xff0c;阻止跨域请求的发生…

【pyqt5学习】——containers相关控件(tab widget、scroll area、stack widget、tool box、MDI area、dock widget)

目录 1、tab widget 2、scroll area 2.1 使用方法 Step1.拖入QScrollArea ​Step2.改变widget控件布局 ​Step3.设置scrollAreaWidgetContents大小 3、Tool Box 4、Stacked Widget 4.1 案例展示 5、frame 6、MDI AREA 7、dock widget 7.1 悬浮状态 7.2 吸附状态 conta…

Java使用原子类进行多线程的 i++ 操作示例

2019独角兽企业重金招聘Python工程师标准>>> 使用AtomicInteger原子类进行 i 操作 可以有类似 synchronized 实现同步的效果。 原子操作是不能分割的整体&#xff0c;没有其他线程能够中断或检查正在原子操作中的变量。一个原子类型就是一个原子操作可用的类型&…