wireshark抓取OpenFlow数据包

在写SDN控制器应用或者改写控制器源码的时候,经常需要抓包,验证网络功能,以及流表的执行结果等等,wireshark是个很好的抓包分析包的网络工具,下面简介如何用wireshark软件抓取OpenFlow数据包

一. wireshark2.0.0

wireshark2.0.0直接内置了OpenFlow协议,只需要安装wireshark2.0.0即可。

在安装wireshark之前需要安装一些依赖包:

sudo apt-get install bison flex libpcap-dev gcc

然后通过wget或者自己上官网下载wireshark2.0.0源码,不过现在发现wireshark的官网很容易上不去,所以提供一个百度云链接:wireshark2.0.0源码,下载之后对源文件解压缩,并跳转至文件目录中

tar -vxjf wireshark-2.0.0.tar.bz2
cd wireshark-2.0.0

配置,并进行安装

./configure
make
make install

在配置过程中遇到了如下两个问题:

  1. error: qt is not avaiable
    reason: qt在两年前将用户界面库由GTK+切换到Qt进行了重写,所以需要安装qt
    solution:
    • 原来的libmgl-qt5已经不存在了,取而代之的是libmgl-qt7.0.0,所以可以apt-get install libmgl-qt7.0.0
    • apt-get install qttools5-dev(我选择的方法)
    • apt-get install qt-sdk,所需要的磁盘空间偏大
  2. error:GTK+ 3 is not available
    solution:apt-get install libgtk-3-dev

在安装完成,启动过程中遇到一个问题:

  error:error while loading shared libraries: libwiretap.so.5: cannot open shared object file: no such file or directory
  sulution:ldconfig (ldconfig是一个动态链接库管理命令,通常在系统启动时运行,而当用户安装了一个新的动态链接库时,需要手动更新这个命令,他在默认搜索目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。

再次启动wireshark,可以添加过滤规则查看(比如OpenFlow1.3协议过滤规则为openflow_v4)

二. 其他版本的wireshark(以wireshark1.10.3,OpenFlow1.3为例)

加入你已经安装了wireshark,不想重新卸载安装,那么可以安装wireshark的插件,其中第四行等号后面需要的是你的wireshark的目录

apt-get install scons
git clone https://github.com/CPqD/ofdissector
cd ofdissector/src
export WIRESHARK="your wireshark source code location"
scons install

如果遇到如下问题:

openflow-common.cpp: In function 'void proto_reg_handoff_openflow()':
openflow-common.cpp:59:60: error: 'dissector_add' was not declared in this scope
scons: *** [openflow-common.os] Error 1
scons: building terminated because of errors.

将openflow-commom.cpp中的59行和60行改成如下代码:

  dissector_add_uint("tcp.port", OFP_TCP_PORT, openflow_handle);
  dissector_add_uint("tcp.port", 43984, openflow_handle);

插件安装好之后,需要将其拷贝到wireshark的安装目录下:

# sudo cp ~/.wireshark/plugins/openflow.so /usr/local/lib/wireshark/plugins/1.10.3/

之后打开wireshark,如下图,在help-About Wireshark-plugins中如果看到openflow.so,则表示安装成功。

 f:id:alexei-karamazov:20131208175738p:plain

wireshark对于网络数据包、网络功能的分析十分有用,支持OpenFlow的wireshark可以帮助我们调试代码,熟悉OpenFlow协议等等

转载于:https://www.cnblogs.com/cotyb/p/5023383.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Wireshark抓取WebSocket数据包的步骤如下: 1. 首先,确保已经安装了最新版本的Wireshark。你可以从官方网站下载并安装它。 2. 打开Wireshark,并选择要进行网络接口。 3. 在过滤条件中输入"websocket",这样Wireshark就会过滤掉其他干扰数据包,只显示使用WebSocket协议数据包。 4. 开始Wireshark会开始捕获网络流量。 5. 当你进行WebSocket通信时,Wireshark会捕获到相关的WebSocket数据包。 6. 如果你想查看完整的WebSocket交互,括连接建立等,你可以配置Wireshark来追踪TLS流量。 通过以上步骤,你就可以使用Wireshark抓取WebSocket数据包,并进行协议分析了。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [利用Wireshark抓取WebSocket数据包](https://blog.csdn.net/lusyoe/article/details/53858320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [wireshark如何抓取WebSocket数据包](https://blog.csdn.net/joniers/article/details/102719725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值