编辑: GXB156399820 | 2019-07-08 |
>
>
IP() >
>
>
target= www.target.com >
>
>
target= www.target.com/30 >
>
>
ip=IP(dst=target) >
>
>
ip >
>
>
[p for p in ip] [, , ] >
>
>
^D # scapy -s mysession Using session [mysession] Welcome to Scapy (0.9.17.108beta) >
>
>
ip >
>
IP() >
>
>
a=IP(dst= 172.16.1.40 ) >
>
>
a.dst '
172.16.1.40'
>
>
>
a.ttl
64 让我们来说我想要一个广播的MAC地址,并且负载的IP报文要到达ketchup.com和mayo.com,TTL值从1到9,并负载UDP报文: >
>
>
Ether(dst= ff:ff:ff:ff:ff:ff ) /IP(dst=[ ketchup.com , mayo.com ], ttl=(1,9)) /UDP() 现在我们在一行(一个确定报文(implicit packet))中定义了18个报文. 合理的默认值 Scapy 试图在所有种类的报文数据域中使用合理的默认值,如果没有被重载的 话, IP源地址根据目的地址和路由表选择 校验和自动计算 源MAC地址根据输出接口(output interface)选择 以太网类型和IP协议由高层决定 介绍
7 其它数据域选择最有用的值: TCP源端口为20,目的端口为80 UDP源端口和目的端口均为53 ICMP类型为echo request 学习 Python Scapy 使用 Python 解释器作为命令面板.这意味着你可以直接使用 Python 语言(创建变量,使用循环,定义函数等等). 如果你刚开始使用 Python 并且因此你不理解这些词语,或者如果你想学习这个语 言,花一个小时来阅读一个Guido Van Rossum写的非常棒的Python教程.在此之 后,你将知道 Python :)(真的!).对于更加深入的学习,Dive Into Python也是一 个很好的开始. 作为一个快速的开始,下面是 Python 数据类型的概览: int (signed, 32bits) :
42 long (signed, infinite) : 42L str : bell\x07\n or '
bell\x07\n'
tuple (immutable): (1,4,
42 ) list (mutable): [4,2,
1 ] dict (mutable): { one :1, two :2} Python 中没有块分割符,而是同缩进决定: if cond: instr instr elif cond2: instr else: instr 介绍
8 下载和安装 译者:飞龙 原文: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,因此它可能更易于安 装. 此外,你的操作系统可........