RYU中引入Scapy工具组包

一、Scapy是啥?

  • Scapy是一个强大的交互式数据包处理程序(使用python编写)。它能够伪造或者解码大量的网络协议数据包,能够发送、捕捉、匹配请求和回复包等等。它可以很容易地处理一些典型操作,比如端口扫描,tracerouting,探测,单元测试,攻击或网络发现(可替代hping,NMAP,arpspoof,ARP-SK,arping,tcpdump,tethereal,POF等)。最重要的他还有很多更优秀的特性——-发送无效数据帧、注入修改的802.11数据帧、在WEP上解码加密通道(VOIP)、ARP缓存攻击(VLAN)等,这也是其他工具无法处理完成的。

二、安装使用?

  • 安装不说了,自己查查,使用的话,只举个例子,这篇文章主要是讲怎么在ryu上通过scapy组包,不能扯太远。
  • 具体使用:

三、为什么要把scapy组包方式引入ryu?

  • 原因是用ryu套件如果去发ip数据报文进行测试,只能通过payload的方式去写具体数据报文内容,checksum还要自己算,而且看起来一点也不直观,如果引入scapy组包方式,那就简单了,想组啥报文就组啥报文。

3.1 怎么将scapy引入ryu?

(1)将scapy相关import进来,就存在ryu/app目录下好了,名字这里叫scapy_1.py

(3)编写app,验证一下组包效果,下一条匹配目的ip送控制器的flow,引用我们上面学会的组包方式发包验证,最终控制器收到这个报文,并且解析一下,保存成ryu_send_pkts.py,也放在ryu/app目录下。

(4)最终运行效果如下。

四、总结思考

  • 这里我只是举个组tcp的例子,有兴趣的同学可以把其他报文也通过这种方式组起来,方便以后调用。

关于作者

  • 邮件(jinl@centecnetworks.com)
  • 作者(金利#盛科网络SDN组测试工程师)


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/17993.html
分享到:
相关文章
条评论

登录后才可以评论

金利 发表于16-10-24
1