【原创】scapy简单教程

2013-11-29 by muzi

如果你是网络研究的爱好者,有一个工具是对你很有用的,那就是scapy!

scapy能够封装出目前网络上绝大多数(不确定是不是全部)的数据包,如IP,ARP,ICMP。有了这些数据包,你再也不需要为如何产生某些数据包而烦恼了。

首先我们需要先安装scapy

具体可以自行google,baidu,或者查看:http://www.secdev.org/projects/scapy/doc/installation.html

构建一个简单的IP包

ip_paket = IP(dst = '10.0.0.1')

这样你就可以构造出一个IP包了。括弧里面填写的内容就是相关字段的内容。

查看字段

如果你想知道有那些字段,那么你就需要用到ls()命令。如:

lsIP

运行结果:

ls

ls在scapy中可以直接对任何结构体进行解析。可以把数据包的内容展现在你面前。

我们还可以直接查看某一个字段

view

Payload为数据包的净荷,可以由以下的代码可以查看payload。

PAYLOAD

我们继续感受一下scapy的便捷。

我们也可以看看scapy的封装解封装能力!

packet

数据包的发送与接收:

send

我们可以发现第一次发送的时候,在选路过程中,收到了27个数据包回复。接下来就越来越少,最后只剩下一个了。 type 我们可以看到是echo_reply的类型。

原创作品,转载请说明。


Comments