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

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 |>]
>>>

scapy学习笔记(1)的更多相关文章

  1. scapy学习笔记(3)发送包,SYN及TCP traceroute 扫描

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 在安装完scapy(前两篇笔记有介绍)后,linux环境下,执行sudo scapy运行scapy. 一.简单的发送包 1 ...

  2. scapy学习笔记(3)

    转自:@小五义:http://www.cnblogs/xiaowuyi 在安装完scapy(前两篇笔记有介绍)后,linux环境下,执行sudo scapy运行scapy. 一.简单的发送包 1.se ...

  3. scapy学习笔记(5)

    1.ACK Scan >>>ans,unans=sr(IP(dst=,],flags="A") 扫描后,若要找出未过虑的端口: for s,r in ans: i ...

  4. scapy学习笔记(2)--包及包的定义

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 一.包 包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”.其主要由“目的IP地址”.“源IP地 ...

  5. scapy学习笔记(2)

    一.包 包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”.其主要由“目的IP地址”.“源IP地址”.“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定, ...

  6. scapy学习笔记

    1.ACK Scan >>>ans,unans=sr(IP(dst="www.baidu.com")/TCP(dport=[80,666],flags=" ...

  7. scapy学习笔记(4)简单的sniffing 嗅探

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 利用sniff命令进行简单的嗅探,可以抓到一些简单的包.当不指定接口时,将对每一个接口进行嗅探,当指定接口时,仅对该接口进 ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

随机推荐

  1. 微信小程序点击图片放大预览

    微信小程序点击图片放大预览使用到 wx.previewImage 接口,可以放大.上/下一张 上代码 wxml代码 <view class='content-img' wx:if="{ ...

  2. 31:字符串p型编码

    31:字符串p型编码 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出s ...

  3. js-ES6学习笔记-let命令

    1.let命令 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. for循环的计数器,就很合适使用let命令. 下面的代码如果使用var ...

  4. Intellij Idea出现 unable to establish loopback connection

    项目一运行就出现这个情况,好几次了,最后发现只要防火墙关闭,项目就可以运行成功.错误提示:“C:\Program Files\Java\jdk1.8.020\bin\java” -Xmx700m -D ...

  5. flex兼容性问题

    flex在众多手机浏览器上的兼容方案(亲测华为手机自带浏览器) 如果项目使用构建工具,可加autoprefixer来处理,[autoprefixer使用指南] 纯手写css兼容代码,需给每个使用的属性 ...

  6. Linux下动态链接库加载路径

    引子 近日,服务器迁移后,偷懒未重新编译nginx的,直接./nginx启动,结果遇到如下问题: "error while loading shared libraries" 这是 ...

  7. 通过递增快照备份 Azure 非托管 VM 磁盘

    概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...

  8. python Pipe 双管道通信

    管道:是python多进程中一种交换数据的方式 from multiprocessing import Process,current_process,Queue,Pipe import time i ...

  9. skype客户端搜不到联系人解决办法

    1.确认skype客户端登陆的配置信息 按住Ctrl 键不放,右击右下角任务栏 skype 图标,选择:配置信息,确认skype的:GAL搜索或基于服务器的搜索为:基于服务器的搜索,如下图所示: 2. ...

  10. tp5 migrate数据库迁移工具

    tp5相对与tp3.2有很大的不同 migrate是其中一点,通过migrate程序员可以在php代码中创建数据库修改回滚等操作 首先下载migrate扩展,命令行到当前项目目录下执行 compose ...