2023年7月3日发(作者:)
2021年1月专题综述233基于的软件设计与实现李子峥袁朱振荣(公安部第一研究所,北京100048)协议解析【摘要】警用数字集群渊PDT冤通信系统总体技术规范渊GA/T1364要2017冤规定了PDT渊PoliceDigitalTrunking袁警用数字集群冤系统间互联的控制信令应使用pSIP协议遥本文基于Wireshark软件的插件技术袁设计了pSIP协议的解析流程袁使用C语言编写pSIP协议的解析程序袁实现对pSIP协议的解析袁并通过实际的测试数据对解析结果进行验证遥【关键词】警用数字集群曰pSIP曰Wireshark曰协议解析【中图分类号】TP311.1【文献标识码】A【文章编号】1006-4222(2021)01-0233-021PDT和pSIP协议的,其媒体类型由Content-Type头域指定,包括application和用于承载pSDP、text两种媒体类型,MAP、NEMA等协议数据。用移动通信系统标准,具有大区制、广覆盖、采用国产密码算法加密等特点和优势[1]。目前,PDT标准已成功应用于公安系统等领域。PDT标准规定在扁平化的IP网络内任何两个PDT系统间都采用完全对等的系统互联架构。PDT系统间的互联控制信令使用pSIP协议,用于移动管理、呼叫控制和网络维护等[2]。媒体流控制的pSDP协议、用户pSIP协议包括pSIP消息、PDT标准是我国推出的一套具有完全自主知识产权的专2pSIP协议解析流程图1所示。析、头域的解析、消息体的解析等部分,pSIP协议解析流程如首行的解pSIP协议数据的解析主要分为pSIP数据识别、数据定义的MAP协议、卫星定位信息的NEMA协议。pSIP协层和网络层,传输层采用UDP协议,端口号5060。基本语法规议栈分为由上至下分为应用层、会话层、事务层、压缩层、传输则符合会话初始协议(SIP)技术要求.第1部分:基本的会话初始协议(YD/T1522.1—2006)和会话描述协议(SDP)技术要求(YD/T1936—2009)。pSIP消息(pSIP-message)的基本格式如下:pSIP-message=Request-Line|Status-Line1*{message-header}CRLF[message-body]quest-Line、Status-Line以及每个消息头域message-header都应使用回车换行符(CRLF)来结尾,无论pSIP-message是否携带消息体,CRLF都应存在[3]。请求消息Request主要包括首行状态消息Status主要包括首行Status-Line、至少5个消息头域message-header以及CRLF。消息体message-body是可选pSIP消息包括请求消息Request和状态消息Status,Re原至少6个消息头域message-header以及CRLF;Request-Line、图1pSIP协议解析流程且目的端口为5060的数据包判定为pSIP协议数据包,然后pSIP解析程序首先接收数据包并将使用UDP协议传输234专题综述表1主要函数及功能2021年1月函数proto_register_protocol("pSIPProtocol","PSIP","psip")create_dissector_handle(dissect_psip,proto_psip);register_dissector("psip",dissect_psip,proto_psip)dissect_psip(tvb,pinfo,tree)dissector_add_uint("",5060,psip_handle)按照如下步骤进行解析:(1)解析pSIP消息的首行,直至遇到一组CRLF,首行解析结束。(2)解析pSIP消息的头域:若解析的是Content-Type头域,那么需要记录其标识的媒体类型,然后继续解析;当仅遇到一组回车换行符CRLF时,表明当前头域解析完毕,应继续解析头域;当遇到连续两组回车换行符CRLF时,头域解析结束。(3)解析pSIP消息的消息体:若步骤(2)中未解析到Con原tent-Type体,直接结头束域解,析表流明当程;前若数据步骤(包2)中中不解存析在了pSIPContent-Type消息的消息头域,表明当前数据包中存在消息体,需要先根据Content-Type头域标识的媒体类型解析消息体,然后结束解析流程。33.1软件实现及根据软件验证上实现述流程,本软件利用Wireshark插件技术,使用C语言编写了pSIP协议数据的解析主函数dissect_psip(),并利用Wireshark软件源码自带的函数,将该主函数作为解析器,注册到Wireshark软件中,主要的函数及功能见表1。3.2在实解析结际PDT果验证互联系统中,捕获了一组“组附着登记成功”的pSIP数据包,在Wireshark中对其中一个数据包的解析结果如图2所示。图2pSIP协议数据包解析结果(1)首行解析结果:此消息为一个请求消息Request,首行主要包括Method和Request-URI字段,其中Method为“NNOTIFYm)”,Request-URI为一个AbsoluteURI,为“”。功能说明在pSIPWireshark协议数据中注解册析主pSIP协议将dissect_psip()作为解析器注册函到数将psip_handle为dissect_psip与pSIP协()议创使建用的运句柄psip_handleWireshark中输层协议和端口绑定(2)头域解析结果:第2—10行为Request消息携带的9个头域的解析结果,由上到下分别为:ken为Via5261(v),;指示请求和响应经过的路径为“”,to原tokenFromTo为(f(t2923),指示发起方是号码为16515083的个人用户,其),指;方就是发起方;示接收方,由于为发起方的组附着消息,故接收唯一标Call-ID志;(i),一组长度为8的随机数,是区分一组消息的Content-TypeCSeq(Q),指明了(c),序指列示号消为息20体,承载请求方法application为“N”;的MAP协议;媒体类型体数为Max-Forwards70;(H),限制当前请求消息允许经过的最多实着);Event(o),指示事件的类型为ag(attachment_group,组附(Content-Length3)消息体解析结果(l),指:示根据消息Content-Type体的长度为50,消字息节体。承载了application165150834总当媒前体附类着组型的的组MAP号为数16515183据,解。析结果表明用户本结文给出了一种基于Wireshark的pSIP协议解析软件,在介绍pSIP协议数据格式的基础上,详细阐述了pSIP协议数据识别、首行解析、头域解析、消息体解析的流程,然后使用C最语后言结合和实Wireshark际抓包数据,插件技术验证,了该实现功能了pSIP的正协确性议。的该解软析功能件使用,户更为直观地查看和分析pSIP协议数据,为不同PDT系统生产厂商设备间的互联互通及测试提供技术支撑能力。参考文献[1]中规华范:人GA/T民共1056和国公—2013[S]安部援警援北用数京:字中国标准集群(PDT出)版社通信系统,2013援总体技术[2]中规华范:人GA/T民共1364和国公—2017[S]安部援警援北用数京:字中国标准集群(PDT出)版社通信系统,2017援总体技术[3]孙信,昕2019,刘华,43彬(.3警):用数35-39.字集群(PDT)系统互联互通的测试[J].移动通收稿日期院2020-12-20作者简介院李子峥(1993—),男,汉族,河北衡水人,助理工程师,硕士研究生,主要从事专业移动通信领域的研究工作。(
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688342510a123597.html
评论列表(0条)