Scapy 中文文档:二、下载和安装

您所在的位置:网站首页 gunplot安装 Scapy 中文文档:二、下载和安装

Scapy 中文文档:二、下载和安装

2023-04-25 22:37| 来源: 网络整理| 查看: 265

下载和安装

译者:飞龙

原文:Download and Installation

协议:CC BY-NC-SA 4.0

概览 安装 Python 2.5。下载并安装 Scapy。(对于非Linux平台):安装libpcap和libdnet及其 Python 包装器。(可选):安装用于特殊功能的其他软件。使用 root 权限运行 Scapy。

每个步骤可以以不同的方式完成,具体取决于你的平台和要使用的 Scapy 版本。

目前,Scapy 有两个不同版本:

Scapy v1.x。它只包含一个文件,并适用于 Python 2.4,因此它可能更易于安装。 此外,你的操作系统可能已经含有一个为之特别准备的包或端口。 最后一个版本是 v1.2.2。Scapy v2.x。当前的开发版本增加了多个功能(例如 IPv6)。 它包括以distutils标准方式打包的几个文件。 Scapy v2 需要 Python 2.5。

注意:在 Scapy v2 中使用from scapy.all import *来代替from scapy. import *。

安装 Scapy v2.x

以下步骤描述如何安装(或更新)Scapy 本身。 根据你的平台,可能需要安装一些额外的库才能使其真正工作。 所以,请大家在平台特定之指南中查看如何安装这些必需的东西。

注意:以下步骤适用于类 Unix 操作系统(Linux,BSD,Mac OS X)。 对于 Windows,请参阅下面的特殊章节。

确保在继续之前安装了 Python。

最新发行版

将最新版本下载到临时目录,并以distutils标准方式来安装。

$ cd /tmp $ wget scapy.net $ unzip scapy-latest.zip $ cd scapy-2.* $ sudo python setup.py install

或者,你也可以执行 Zip 文件:

$ chmod +x scapy-latest.zip $ sudo ./scapy-latest.zip

或者:

$ sudo sh scapy-latest.zip

或者:

$ mv scapy-latest.zip /usr/local/bin/scapy $ sudo scapy

注意:要制作 zip 可执行文件,需要在 zip 标头之前添加一些字节。 大多数但并不是所有 zip 程序都会处理它。 如果你的 zip 程序报告该 zip 文件被损坏,可以更改它,或在 http://hg.secdev.org/scapy/archive/tip.zip 下载一个不可执行的 zip 文件。

当前开发版

如果你总想使用带有所有新功能和错误修正的最新版本,请使用 Scapy 的 Mercurial 仓库:

安装 Mercurial 版本控制系统,例如,在 Debian/Ubuntu 下执行:

$ sudo apt-get install mercurial

或者在 OpenBSD 上:

$ pkg_add mercurial

克隆 Scapy 仓库:

$ hg clone http://hg.secdev.org/scapy

以distutils标准方式来安装 Scapy:

$ cd scapy $ sudo python setup.py install

之后你可以始终更新到最新版本:

$ hg pull $ hg update $ sudo python setup.py install

Mercurial 的更多信息请参阅 Mercurial book。

安装 Scapy v1.2

由于 Scapy v1 仅包含一个单一的 Python 文件,安装很容易:只需下载最新版本并使用 Python 解释器运行它:

$ wget http://hg.secdev.org/scapy/raw-file/v1.2.0.2/scapy.py $ sudo python scapy.py

在 BSD 系统上,你还可以尝试使用最新版本的 Scapy-bpf(开发仓库)。 它不需要libpcap或libdnet。

用于特殊功能的可选软件

对于某些特殊功能,你必须安装更多软件。 有关如何安装这些包的平台特定说明,请参见下一节。 这里是涉及的主题和一些例子,你可以使用它们来尝试是否能够安装成功。

绘图。plot()需要 Gnuplot-py,它需要 GnuPlot 和 NumPy。

>>> p=sniff(count=50) >>> p.plot(lambda x:len(x))

2D 图形。 psdump()和pdfdump()需要 PyX,而这需要一个 LaTeX 分发版。 要以交互方式查看 PDF 和 PS 文件,你还需要 Adobe Reader(acroread)和 gv(gv)。

>>> p=IP()/ICMP() >>> p.pdfdump("test.pdf")

图形。conversations()需要 Grapviz 和 ImageMagick。

>>> p=readpcap("myfile.pcap") >>> p.conversations(type="jpg", target="> test.jpg")

3D 图形。trace3D()需要 VPython。

>>> a,u=traceroute(["www.python.org", "google.com","slashdot.org"]) >>> a.trace3D()

WEP 解密。unwep()需要 PyCrypto。例子中使用了 Weplap 测试文件。

>>> enc=rdpcap("weplab-64bit-AA-managed.pcap") >>> enc.show() >>> enc[0] >>> conf.wepkey="AA\x00\x00\x00" >>> dec=Dot11PacketList(enc).toEthernet() >>> dec.show() >>> dec[0]

指纹识别。nmap_fp()需要 Nmap。你需要支持第一代指纹识别的老版本(v4.23 之前)。

>>> load_module("nmap") >>> nmap_fp("192.168.0.1") Begin emission: Finished to send 8 packets. Received 19 packets, got 4 answers, remaining 4 packets (0.88749999999999996, ['Draytek Vigor 2000 ISDN router'])

VOIP。voip_play()需要 SoX。

平台特定指南 Linux 原生

Scapy 可以在 Linux 上原生运行,不需要libdnet和libpcap。

安装 Python 2.5。 安装tcpdump并确保它在$ PATH中。 (它只用于编译 BPF 过滤器(-ddd选项)) 确保你的内核已选择分组套接字(CONFIG_PACKET) 如果你的内核



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3