在POX中操作数据包

标签(空格分隔): 博客 SDN


想在SDN控制器中做点事情,必须要能够解析上来的packet,在POX中利用pox.lib.packet中的组件很方便,重点是熟悉各个协议的字段。POX文档 POX Wiki 相对比较完善,值得好好看看。

各个协议类继承了packet_base, 里面的find 方法很实用,在解析packet的时候, find(‘protocol’)就会解析得到对应协议的包。

解析到传输层后的payload类型是str,我们可以探测里面的内容,但是长度不一定是整个packet(可以修改)。

下面是我解析UDP包的过程,得到里面的内容之后,就可以对应设计自己的策略。

def spy_udp_packet(self, packet):ip = packet.find('ipv4')if ip is None:returnlog.debug('protocol={},srcip={},dstip={}'.format(ip.protocol, ip.srcip, ip.dstip))# we only care about UDP packetudp_packet = ip.find('udp')if udp_packet is None:return log.debug('srcport={},dstport={}'.format(udp_packet.srcport, udp_packet.dstport))udp_payload = udp_packet.payload # The payload include a '\n' , and its type is <type 'str'>log.debug('udp playload(len={}): {},type={}'.format(len(udp_payload), str(udp_payload), type(udp_payload)))

在POX中操作数据包相关推荐

  1. pox 中 openflow.webservice 组建的学习与使用

    Openflow的一个简单JSON-RPC-ish web service交互式接口,由of_service信息服务派生而来,依赖于webcore组件.可以使用HTTP POST方式发送JSON进行访 ...

  2. java中包的_Java中的包

    包:定义包用package关键字. 1:对类文件进行分类管理. 2:给类文件提供多层名称空间. 如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中 ...

  3. R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)

    R语言计算F1评估指标实战:F1 score.使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录

  4. Linux 中RPM包的安装

    Linux 中RPM包的安装 在linux的使用过程中,会用到各种各样的服务,所以就会安装许多软件包. 所以就总结了下边的两种安装方式: 1. 二进制安装 软件包的安装及相关命令: rpm -ivh ...

  5. clisp语言中的包

    1. 包简介 clisp中的包就像一个名字空间一样,可在包中定义变量.函数等 包的另一个作用分离不同功能的模块代码组织. 包具有导入导出的概念,有特定关键字实现这个功能. make-package 包 ...

  6. [跟我学UML] UML包图中的包引入和包合并

    缩略语     UIS     UML Infrastructure Specification   UML基础结构规范     UML    Unifed Modeling Language     ...

  7. [跟我学UML] UML包图中的包和命名空间

    本文基于UML规范,介绍了包图中的包和命名空间.此外,通过举例来帮助读者加深理解. ...请打开附件阅读全文. 转载于:https://blog.51cto.com/yunli/186628

  8. 在ASP.NET 2.0中操作数据教程系列

    在ASP.NET 2.0中操作数据教程系列 Scott Mitchell最近完成了为 www.asp.net 网站撰写的<在ASP.NET 2.0中操作数据 (Working with Data ...

  9. 解决 .net core 中 nuget 包版本冲突问题

    解决 .net core 中 nuget 包版本冲突问题 参考文章: (1)解决 .net core 中 nuget 包版本冲突问题 (2)https://www.cnblogs.com/dudu/p ...

最新文章

  1. 剖析PHP中的输出缓冲
  2. 谷歌联手马斯克,低延迟星链云计算下半年可用
  3. 【集合论】Stirling 子集数 ( 斯特林子集数概念 | 放球模型 | Stirling 子集数递推公式 | 划分的二元关系 加细关系 )
  4. 【Mysql Docker】备份 docker mysql 脚本
  5. {网络编程}和{多线程}应用:基于UDP协议【实现多发送方发送数据到同一个接收者】--练习
  6. 【前端面试】数据类型与类型检测
  7. mysql取消主从配置_mysql主从配置
  8. C++新特性探究(十四):function
  9. 03-15 截图、日志与录屏
  10. python多线程提高速度_Python3如何使用多线程升程序运行速度
  11. 结对编程-四则运算(挑战出题)
  12. uniapp微信公众号跳转小程序(vue项目)
  13. php制作QQ微信支付宝三合一收款码实例
  14. 安卓基础-day06-20180131
  15. php编写的旅游网站
  16. 中国卸扣市场趋势报告、技术动态创新及市场预测
  17. oracle 批量插入语句
  18. oracle 迁移到另一台服务器上,Oracle数据库迁移(从一台服务器迁移到另一台服务器)...
  19. 小微企业调查数据库(2015)
  20. IOS学习之斯坦福大学IOS开发课程笔记(第四课)

热门文章

  1. Oracle 闪回(flashback)数据库到指定时间点
  2. 如何关闭页面之前清空LocalStorage
  3. Adobe 手撕 Adobe !!!
  4. 论剑场中部分web题的WP
  5. 超声波液位计安装高度时需要考虑“盲区”问题
  6. 二进制详解+集合算法的实现笔记
  7. realsense r200使用过程记录
  8. 女生一般学计算机还是电子商务,电子商务工资一般多少 女生学电子商务好吗...
  9. Console 相关操作
  10. 三网融合之方向在哪儿?