python 网络数据包模块:scapy

发布时间:2019-08-26 07:16:59编辑:auto阅读(1370)

           scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络***和测试中。它可以代替hping,arpspoof.ARP SK,arping,p0f,甚至是部分nmap,Tcpdump和tshark。
    一、scapy安装
    1、下载
    从http://www.secdev.org/projects/scapy/下载release版本,这里我下载的是(executable zip)
    2、安装
    LINUX平台:
    将下载的压缩文件进行解压,转到解压后的目录,然后运行安装。具体步骤如下:
    $cd scapy-2.X (解压后的目录)
    $sudo python setup.py install


    windows平台:

    以python2.6为例,安装时,需要安装以下库:
    (1)Scapy,最新版本,解压后,运行“”“python setup.py install”进行安装
    (2)pywin32:pywin32-214.win32-py2.6.exe
    (3)winpcap:WinPcap_4_1_1.exe
    (4)pypcap: pcap-1.1-scapy-20090720.win32-py2.6.exe
    (5)libdnet:dnet-1.12.win32-py2.6.exe
    (6)pyreadline: pyreadline-1.5-win32-setup.exe
    具体下载地址请见:http://wikicode.net

    3、升级
    如果总是希望得到最新的版本,可以scapy的Mercurial库:
    (1)安装Mercurial
    $ sudo apt-get installl mercurial
    (2)检测scapy
    $ hg clone http://hg.secdev.org/scapy
    (3)安装Scapy
    $ cd scapy
    $ sudo python setup.py install
    邂逅,你就能够总是升级到最新版本:
    $ hg pull 
    $ hg update
    $ sudo python setup.py install



    二、运行
    1、启动
    $ sudo scapy
    或者
    运行python后 import scapy
    但要注意:
    >>> from scapy import conf
    会提出错误,要使用
    >>> from scapy.all import conf
    2.简单的利用
    生成四个IP的包,其中/30得到子网掩码。如下:

    Python 2.7.3 (default, Apr 10 2013, 05:09:49) 
    [GCC 4.7.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from scapy.all import *
    WARNING: No route found for IPv6 destination :: (no default route?)
    >>> IP()
    <IP  |>
    >>> target="www.baidu.com"
    >>> target="www.baidu.com/30"
    >>> ip=IP(dst=target)
    >>> ip
    <IP  dst=Net('www.baidu.com/30') |>
    >>> [p for p in ip]
    [<IP  dst=61.135.169.104 |>, <IP  dst=61.135.169.105 |>, <IP  dst=61.135.169.106 |>, <IP  dst=61.135.169.107 |>]
    >>>

    转载请注明:小五义 http://www.cnblogs.com/xiaowuyi

关键字