在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 ...
最新文章
- R语言二项分布函数Binomial Distribution(dbinom, pbinom, qbinom rbinom)实战
- 鸿蒙系统方舟运行时,方舟编译器立功!第三方App已经落地,距离鸿蒙系统还会远吗?...
- Android-Spinner下拉列表Demo
- python小白-day6 ConfigParser模块
- new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?
- AI让边缘更智能 边缘让AI无处不在
- JEECG 3.7 新装亮相,移动APP发布
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载...
- JavaScript进制之间的转换
- 没有任何匹配: mod_auth_mysql 阿里云_文案丨网易云让人感触良多的文案
- JavaScript 深入理解作用域
- lammps教程:minimize命令使用详解
- wxpython如何分开界面和运行代码_wxpython笔记:wxpython的界面布局方式(一)
- KNN分类USPS, USI sonar及USI iris
- 简单分析2022智能家居现状的优缺点
- 多元统计分析 多元线性回归 python代码实现 简单线性回归
- epub格式的电子书
- 一位宝石爱好者的零起点建站攻略
- xamarin其实也是一个鸡肋
- Linux mint 双硬盘,记一次装机——笔记本UEFI双硬盘(SSD+机械)双系统(Win10+Linux Mint)...