在POX中操作数据包
在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中操作数据包相关推荐
- pox 中 openflow.webservice 组建的学习与使用
Openflow的一个简单JSON-RPC-ish web service交互式接口,由of_service信息服务派生而来,依赖于webcore组件.可以使用HTTP POST方式发送JSON进行访 ...
- java中包的_Java中的包
包:定义包用package关键字. 1:对类文件进行分类管理. 2:给类文件提供多层名称空间. 如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中 ...
- R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)
R语言计算F1评估指标实战:F1 score.使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录
- Linux 中RPM包的安装
Linux 中RPM包的安装 在linux的使用过程中,会用到各种各样的服务,所以就会安装许多软件包. 所以就总结了下边的两种安装方式: 1. 二进制安装 软件包的安装及相关命令: rpm -ivh ...
- clisp语言中的包
1. 包简介 clisp中的包就像一个名字空间一样,可在包中定义变量.函数等 包的另一个作用分离不同功能的模块代码组织. 包具有导入导出的概念,有特定关键字实现这个功能. make-package 包 ...
- [跟我学UML] UML包图中的包引入和包合并
缩略语 UIS UML Infrastructure Specification UML基础结构规范 UML Unifed Modeling Language ...
- [跟我学UML] UML包图中的包和命名空间
本文基于UML规范,介绍了包图中的包和命名空间.此外,通过举例来帮助读者加深理解. ...请打开附件阅读全文. 转载于:https://blog.51cto.com/yunli/186628
- 在ASP.NET 2.0中操作数据教程系列
在ASP.NET 2.0中操作数据教程系列 Scott Mitchell最近完成了为 www.asp.net 网站撰写的<在ASP.NET 2.0中操作数据 (Working with Data ...
- 解决 .net core 中 nuget 包版本冲突问题
解决 .net core 中 nuget 包版本冲突问题 参考文章: (1)解决 .net core 中 nuget 包版本冲突问题 (2)https://www.cnblogs.com/dudu/p ...
最新文章
- 剖析PHP中的输出缓冲
- 谷歌联手马斯克,低延迟星链云计算下半年可用
- 【集合论】Stirling 子集数 ( 斯特林子集数概念 | 放球模型 | Stirling 子集数递推公式 | 划分的二元关系 加细关系 )
- 【Mysql Docker】备份 docker mysql 脚本
- {网络编程}和{多线程}应用:基于UDP协议【实现多发送方发送数据到同一个接收者】--练习
- 【前端面试】数据类型与类型检测
- mysql取消主从配置_mysql主从配置
- C++新特性探究(十四):function
- 03-15 截图、日志与录屏
- python多线程提高速度_Python3如何使用多线程升程序运行速度
- 结对编程-四则运算(挑战出题)
- uniapp微信公众号跳转小程序(vue项目)
- php制作QQ微信支付宝三合一收款码实例
- 安卓基础-day06-20180131
- php编写的旅游网站
- 中国卸扣市场趋势报告、技术动态创新及市场预测
- oracle 批量插入语句
- oracle 迁移到另一台服务器上,Oracle数据库迁移(从一台服务器迁移到另一台服务器)...
- 小微企业调查数据库(2015)
- IOS学习之斯坦福大学IOS开发课程笔记(第四课)