什么是描述SMPP或CIMD2等电信协议的良好的机器可读形式方式?

问题描述 投票:1回答:2

在我的职业生涯中,我用各种语言的人类可读规范实现了几种电信协议,坦率地说,我不再享受它了。

相反,我想将人类可读的协议规范翻译成机器可读的协议规范,并自动生成各种语言的协议处理程序。

我特别感兴趣的是对SMPP / CIMD2 / EMI协议,自动生成协议数据单元串行器/解串器,以及状态机,测试用例和其他基础设施。

有人这样做了吗?

如果没有,您会为这样的任务推荐哪些语言,库和符号?

parsing serialization protocols notation smpp
2个回答
1
投票

ABNF,虽然没有广泛使用。这是CIMD PDU的例子

 cimd-frame     = start-of-text op-code COLON packet-number TAB parameter-list end-of-text
 parameter-list = *(parameter)
 parameter      = code COLON value TAB
 start-of-text  = %x02
 end-of-text    = %x03
 TAB            = %x09
 COLON          = %x3A
 …

那里有解析器生成器,可以读取ABNF语法并生成解析器。


0
投票

你是说像协议分析器那样的意思吗?它们获取数据流并将其解析为正确的字段,并将每个字段显示给用户。听起来你想要对解析后的数据做一些不同的事情。您仍然必须编写协议解码,但之后您可以使用数据执行任何操作。

Wireshark是开源的,免费的,已经有很多协议解码,包括SMPP。还有商业选择。

© www.soinside.com 2019 - 2024. All rights reserved.