Scapy 1. 包伪造

不过的多说什么是Scapy,百度谷歌一大堆解释,可以说说为什么要用它,上一篇文章《Tcpreplay(一)——初相识》中提到的,自己想要进行数据包的伪造重放,因此用Scapy这个框架自己来组一个数据包试试水?

我用的是kali 2.0,已经集成了Scapy,但是执行起来的时候发现版本竟然是未知,好吧,覆盖安装更新到最新版本.

scapy_version.png

简单的环境介绍:

  • kali2.0
  • python2.7
  • pycharm

搞了半天的小程序,才跑起来,只有简单的几行,效果还是不错的.

# encoding = utf-8
from scapy.all import *
# import sys
data = "hello world"
packet = IP(src='172.18.15.199',dst='172.18.15.108')/TCP(sport=12345, dport=102)/data
send(packet, inter=1, count=1)

运行抓包截图:

test_scapy.png

  1. 一个很弱智的问题,在文件命名的时候用了"scapy",在"from scapy.all import *“的时候提示"No Module named all”,当import的时候它会找最近的,所以这里报错了. 参考连接:http://stackoverflow.com/questions/13610064/scapy-all-import-does-not-work
  2. pycharm报错,但是依然可以正常执行,应该是pycharm的问题,没有缺少模块等问题,但是pycharm提示"Unsolve reference IP".

有了这个简单的小例子,折腾了这么一个简单的东西,下一步就是写一个半自动的小工具,提供IP和port,即发送数据包,慢慢向Fuzz的方向靠拢.