SDN中的wiresharrk(2)

使用最新版Wireshark解析OpenFlow协议数据包

wireshark官方最新版已经内置支持OpenFlow协议,不再需要安装插件来支持openflow协议的解析。

详细内容参看:https://wiki.wireshark.org/OpenFlow

到2014-11-04,wireshark v1.12.x支持:

  • OpenFlow 1.0 (aprox. 50%)
  • OpenFlow 1.1 (不支持)
  • OpenFlow 1.2 (不支持)
  • OpenFlow 1.3 (100%支持)
  • OpenFlow 1.4 (支持将近90%)

1 协议依赖性

OpenFlow 使用 TCP 协议。 TCP 端口号是 6633 和 6653 (the official IANA port since 2013-07-18).

2 参数设定

可以将默认端口号 port(00) 设置端口号为 6633 or 6653.
OpenFlow 的 TCP 端口号也可以在用户的配置文件: (~/.wireshark/preferences)中设定:

#openflow TCP port if other than the default
#A decimal number
openflow.tcp.port: 6633

3 显示过滤器(display filter)

OpenFlow 完整的显示过滤器(display filter)字段可以从这里查看:https://www.wireshark.org/docs/dfref/#section_o 或者使用如下命令查看:

tshark -G fields | grep -i openflow

只显示基于OpenFlow的流量,使用如下:

openflow

只显示基于OpenFlow 1.3的流量,使用如下:

openflow_v4

4 捕获过滤(Capture Filter)

在捕获包时不能直接过滤OpenFlow协议包。但是,可以使用端口号的方式实现此功能。只捕获OpenFlow流量:

tcp port 6633

5 OpenFlow协议规范变化

  • OpenFlow 1.4.0 Spec – Section B.14.17 – TCP端口号必须是 6653 (2013-08)
  • OpenFlow 1.3.3 Spec – Section B.14.2 – 使用协议版本号替换线路协议(wire protocol) (2013-09-27)

6 扩展阅读

Open Networking Foundation
OpenFlow Specifications
IANA OpenFlow port number

7 相关讨论

1.如何获得Wireshark支持的OpenFlow协议?

$ tshark -G protocols | grep -i openflow
OpenFlow        openflow        openflow
OpenFlow 1.0    openflow_v1     openflow_v1
OpenFlow 1.3    openflow_v4     openflow_v4
OpenFlow 1.4    openflow_v5     openflow_v5

2.为何不解析OpenFlow 数据包?

检查如下命令的输出:

$ tshark -G decodes | grep -i openflow
tcp.port        6653    openflow

3.Tshark 为何不解析OpenFlow 数据包?
即使不改变Wireshark配置文件中的OpenFlow默认TCP端口号,你仍然可以强制tshark命令在指定的端口上解析OpenFlow包,命令如下:

tshark -d tcp.port==6633,openflow -r file.pcapng
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值