IEC MMS协议源码运行

环境准备

源码下载链接
https://github.com/mz-automation/libiec61850
我的运行环境是ubuntu虚拟机。
首先进入文件夹根目录进行编译

make clean
make

在这里插入图片描述

server代码的编译和运行

进入examples/serve_example_simpler的目录下编译
在这里插入图片描述
直接执行会发现报错,异常退出。
在这里插入图片描述
经过分析源码,增加打印,发现错误原因是权限不足,绑定端口失败。
在这里插入图片描述
于是换用root权限执行程序,发现程序正常运行。
在这里插入图片描述
为方便调试,可以将调试相关打印的宏打开
在这里插入图片描述
为了方便快速编译,在路径下简单写了脚本

#!/bin/sh
cd ../..
make clean
make
cd examples/server_example_simple/
make clean
make

重新编译运行后效果如下
在这里插入图片描述

client代码的编译和运行

跟server几乎相同的方式,也要用root权限运行。
在这里插入图片描述

抓包分析

抓包我用的是tshark工具。在ubuntu可直接通过命令下载安装。

sudo apt-get install wireshark
sudo apt-get install tshark

之后增加MMS相关协议,方法是

cd .config/wireshark/profiles/
mkdir tshark-mms/
cd tshark-mms/
touch pres_contex 

之后再创建的文件中写入

"3","1.0.9506.2.3"

即可。如图
在这里插入图片描述
之后进行抓包。我用的命令是

sudo tshark -C tshark-mms -i lo -w test.pcap

由于不带参数执行client的程序并没有做多余的操作,所以MMS相关的报文很少。
在这里插入图片描述
可以通过加其他参数运行得到其他报文,例如参数读取等。
在这里插入图片描述
后续有空的话会进行报文的详细分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值