精华内容
下载资源
问答
  • 本人写的电力行业报文解析工具,单文件免安装,随存随用,详细解析到每个字节。支持如下规约: 1.698.45报文解析;2.南网规约报文解析;3.376.2报文解析(茜茜写的);4.376.1规约帧结构解析;5.645.07表规约帧结构解析...
  • 本人写的电力行业报文解析工具,单文件免安装,随存随用,详细解析到每个字节。支持国网698.45报文解析;南网规约报文解析;376.2报文解析(茜茜写的);376.1和07表规约帧结构解析;作为698模拟主站与终端通信收发...
  • 报文解析

    2020-10-15 08:46:57
    00 e0 1e a7… 请问类似这样一组16进制的报文如何用c#进行解析为十进制(报头长度为8,后面都是每个值的长度都是4)

    00 e0 1e a7…

    请问类似这样一组16进制的报文如何用c#进行解析为十进制(报头长度为8,后面都是每个值的长度都是4)

    展开全文
  • oop报文解析.zip

    2021-03-03 16:04:59
    报文解析
  • 本人写的电力行业报文解析工具,单文件免安装版,随存随用,详细解析到每个字节,用过的人都说好,请多多支持原创。支持主站,集中器,专变终端的国网698.45规约,南网规约的报文解析,可以用以太网连上工具作为698...
  • OSPF报文解析

    2017-06-02 09:46:40
    ospf报文解析
  • 报文解析
  • 8583报文解析

    2018-08-08 17:54:15
    ISO8583报文解析的全过程文档,主要是通过xml解析的,如果有其他的解析方式也都是可以的,相同的
  • swift MT报文解析处理swift 官方资料:https://www2.swift.com/knowledgecentre/publications/us5mc_20180720/2.0?topic=alec.htm#genalecswift 百科:https://baike.baidu.com/item/SWIFT/1108075prowide - swift ...

    swift MT报文解析处理

    swift 官方资料:https://www2.swift.com/knowledgecentre/publications/us5mc_20180720/2.0?topic=alec.htm#genalec

    swift 百科:https://baike.baidu.com/item/SWIFT/1108075

    prowide - swift 报文处理 开源框架:https://www.prowidesoftware.com/resources/quickstarts

    pom.xml引用包:

    com.prowidesoftware

    pw-swift-core

    SRU2018-7.10.4

    如下解析MT940类型报文:

    import com.prowidesoftware.swift.io.parser.SwiftParser;

    import com.prowidesoftware.swift.model.*;

    import com.prowidesoftware.swift.model.field.Field;

    import com.prowidesoftware.swift.model.field.Field61;

    import com.prowidesoftware.swift.model.mt.mt9xx.MT940;

    import java.io.IOException;

    public class MT940Test {

    public static void main(String[] args) throws IOException {

    String mt940 = "{1:F01AAAABB99BSMK3513951576}"+

    "{2:O9400934081223BBBBAA33XXXX03592332770812230834N}" +

    "{4:\n"+

    ":20:0112230000000890\n"+

    ":25:SAKG800030155USD\n"+

    ":28C:255/1\n"+

    ":60F:C011223USD175768,92\n"+

    ":61:0112201223CD110,92NDIVNONREF//08 IL053309\n"+

    "/GB/2542049/SHS/312,\n"+

    ":62F:C011021USD175879,84\n"+

    ":20:NONREF\n" +

    ":25:4001400010\n" +

    ":28C:58/1\n" +

    ":60F:C140327EUR6308,75\n" +

    ":61:1403270327C3519,76NTRF50RS201403240008//2014032100037666\n" +

    "ABC DO BRASIL LTDA\n" +

    ":86:INVOICE NR. 6000012801 \n" +

    "ORDPRTY : ABC DO BRASIL LTDA RUA LIBERO BADARO,293-SAO \n" +

    "PAULO BRAZIL }";

    // 方法一

    SwiftParser parser = new SwiftParser(mt940);

    SwiftMessage swiftMessage = parser.message();

    System.out.println("getSender:" + swiftMessage.getSender());

    System.out.println("getReceiver:" + swiftMessage.getReceiver());

    System.out.println("getType:" + swiftMessage.getType());

    System.out.println("getMtId:" + swiftMessage.getMtId());

    System.out.println("getSignature:" + swiftMessage.getSignature());

    System.out.println("*******************************************");

    SwiftBlock1 swiftBlock1 = swiftMessage.getBlock1();

    System.out.println("getApplicationId:" + swiftBlock1.getApplicationId());

    System.out.println("getServiceId:" + swiftBlock1.getServiceId());

    System.out.println("getLogicalTerminal:" + swiftBlock1.getLogicalTerminal());

    System.out.println("getSequenceNumber:" + swiftBlock1.getSequenceNumber());

    System.out.println("*******************************************");

    SwiftBlock2 swiftBlock2 = swiftMessage.getBlock2();

    System.out.println("getBlockValue:" + swiftBlock2.getBlockValue());

    System.out.println("*******************************************");

    SwiftBlock4 swiftBlock4 = swiftMessage.getBlock4();

    Field[] fields = swiftBlock4.getFieldsByName("61");

    for (Field field : fields) {

    System.out.println("getTagValue:" + field.getValue());

    System.out.println("AMOUNT:" + field.getComponent(5));

    }

    System.out.println("*******************************************");

    // 方法二

    MT940 mt = MT940.parse(mt940);

    for (Field61 tx : mt.getField61()) {

    System.out.println("Amount: " + tx.getComponent(Field61.AMOUNT));

    System.out.println("Transaction Type: " + tx.getComponent(Field61.TRANSACTION_TYPE));

    System.out.println("Reference Acc Owner: " + tx.getComponent(Field61.REFERENCE_FOR_THE_ACCOUNT_OWNER));

    }

    }

    }

    运行结果:

    getSender:BBBBAA33XXXX

    getReceiver:AAAABB99BSMK

    getType:940

    getMtId:fin.940

    getSignature:null

    *******************************************

    getApplicationId:F

    getServiceId:01

    getLogicalTerminal:AAAABB99BSMK

    getSequenceNumber:951576

    *******************************************

    getBlockValue:O9400934081223BBBBAA33XXXX03592332770812230834N

    *******************************************

    getTagValue:0112201223CD110,92NDIVNONREF//08 IL053309

    /GB/2542049/SHS/312,

    AMOUNT:110,92

    getTagValue:1403270327C3519,76NTRF50RS201403240008//2014032100037666

    ABC DO BRASIL LTDA

    AMOUNT:3519,76

    *******************************************

    Amount: 110,92

    Transaction Type: N

    Reference Acc Owner: NONREF

    Amount: 3519,76

    Transaction Type: N

    Reference Acc Owner: 50RS201403240008

    参考资料:https://blog.csdn.net/Little_Stars/article/details/100558234;

    https://github.com/prowide/prowide-core-examples/blob/master/src/main/java/com/prowidesoftware/swift/samples/core/ParseMT940FromStringExample.java;

    展开全文
  • 一、LDP的报文解析为保证LDP消息的可靠发送,除了Discovery(Hello)消息使用UDP(端口646)外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(端口646)传输。LDP分为四种报文类型,每种报文...

    一、LDP的报文解析

    为保证LDP消息的可靠发送,除了Discovery(Hello)消息使用UDP(端口646)外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(端口646)传输。

    LDP分为四种报文类型,每种报文类型可以包含一个或者多个消息。(消息与报文搞清楚)

    • Discovery(发现消息):用于通告和维护网络中邻居的存在,比如Hello消息就是
    • Session(会话消息):用于建立,维持和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息都是会话消息。
    • Advertisement(通告消息):用于创建、改变和删除FEC的标签映射,如Address消息、Label aping消息都是通告消息
    • Notification(通知消息):用于差错之后的通知。

    LDP包头:每个LDP PDU都有一个LDP包头

    7f9eaf2ca35336ceb4c37ed68abae0d1.png
    • Version:版本,目前LDP的版本始终为1
    • PDU Length:PDU的总长度,包括LDP ID和整组LDP消息,不包括Version和PDU Length字段。
    • LSR ID:发出路由器的LSR-ID,唯一标识了MPLS域中唯一一台路由器,全局唯一。
    • Label Space ID:标识了LSR内的标签空间。对于平台范围标签空间,这些数值都应当为0。基于接口的会有区分。
    • Bunch of messages:变长字段,是一个或者多个LDP消息的集合。

    当LDP报文以UDP方式传输时,“Bunch of messages”只能是Hello消息的集合。

    当LDP报文以TCP方式传输时,“Bunch of messages”可以是除Hello消息外任意类型的LDP消息的集合。

    固有参数:每个LDP消息都会有四个固有参数

    每种LDP消息都四个固有参数,U、Message Type、Message Length,Message ID。

    cff5816412f520e4830f7aeffd51733a.png

    5c9f4c47c79f127b100c9ab278670257.png
    • Unknown:未知消息位
    • Message Type:消息类型(是消息哦)
    • Message Length:消息的长度,是Message ID、强制参数和可选参数的长度的总和
    • Message ID:消息的编号,用于唯一地标识一个LDP消息。
    • Mandatory Parameters:消息的强制参数
    • Optional Parameters:消息的可选参数,包含0~n个TLV,LDP每个可选项参数都用一个TLV表示,每个TLV都有三个固定参数

    TLV编码格式

    ea4deeba3707e35845b850d692a51f97.png
    • U:未知消息比特,和头部相同
    • F:转发未知TLV比特:只有在U=1且TLV对接受者未知的时候才使用。等于0不转发未知TLV等于1转发未知TLV.
    • TLV Type:TLV类型
    • TLV Length:TLV长度
    • TLV值:根据类型的不同而不同

    Hello消息:用于发现会话,也就是发现邻居(UDP组播,源目646)。

    e7fa77b9ee183684e45508447ac676d1.png

    Common Hello Parameters TLV:TLV类型为常见的HELLO消息(属于Discovery的意思)

    • Hold Time:邻居死亡时间,Hello包5s一次,死亡时间为15s。
    • T:Targeted Hello:1代表远端hello,0代表本地hello
    • R:Request Send Targeted Hellos:值为1表示请求接收者周期性发送远端Hello消息给该Hello的发送源端,值为0表示没有此需求。
    • Reserved:保留字段,必须置0,接收端忽略此字段。

    IPV4 Transport Address TLV:用于建立TCP连接的地址

    • IPV4 Transport Address TLV:是建立TCP连接的地址,默认是LSR-ID,所以两台LDP设备要保证LSR-ID可达

    Initialization Message初始化消息:用来建立会话,协商初始化消息(TCP单播),目的646

    6d3cf426d45c0e7f5f2e974360a2092b.png

    Parameters:参数

    • Protocol Version:会话协议版本“1”
    • KeepAlive Time:TCP连接的保持时间,这个定时器的刷新并不是收到KeepAlive消息才会刷新,而是通过TCP连接收到的LDP PDU时都会刷新
    • A:标识标签分配方式 ( 0 = DU ;1 = DoD)
    • D:是否开启了环路检测功能(0 = Disable ; 1 = Enable)
    • PVLim:LSP支持的最大跳数,开启了(Loop detection)环路检测才有效,默认32
    • MAX PDU Length:LDP PDU的最大长度,默认值为4096字节。
    • Receiver LDP Identifier:初始化消息的接受者,即LSR-ID
    • Receiver Label Space ID:接受者的Label Space ID。基于平台的分发都是0

    KeepAlive:用来维持TCP连接,默认15s一次,两端不一致取小的

    be13b1e71029e8c4bf3fd61cb3ac961d.png

    Keepalive消息无Mandatory Parameters字段及后面的字段,用于维护SESSION的状态,所以这里不需要什么特别的内容,只要对方知道自己还存在就好。

    Address消息:用于用来告诉自己的LDP邻居自己的接口IP地址

    a3ac9874dce3002ac5ccc9f05a6db51d.png

    Label Mapping Message:对于特定的FEC,下游使用Label Mapping消息为上游分配标签。

    95c9618ec43ef8f0df499483a56d98d3.png

    未知为置位代表不会向源端发送Notification消息

    二、LDP邻居状态机

    349d8893eba2ebdc5e4a0e267e0d1452.png

    8a2e46301b5b38bb6641e2bc0244be89.png
    展开全文
  • java报文解析

    2014-08-19 15:37:29
    java报文解析
  • profibus DP 报文解析工具
  • http报文解析

    2019-11-18 12:33:02
    http报文解析

    ▪️ http报文

    HTTP报文用于HTTP协议交互的信息,是HTTP应用程序之间发送的数据块,这些数据块以一些文本形式的元信息开。

    分类:请求报文、响应报文(request Headers、response Headers)

    ▪️ 报文的组成部分:起始行、首部字段、主体

    1、起始行(Headers里的第一行)

      在请求报文中说明要做什么(方法 URL 版本:GET  URL  HTTP1.1,url包含从path开始后的剩余部分)

      在响应报文中说明出现了什么情况 (版本 状态码 状态:HTTP1.1  200  ok)

    2、首部字段: 每一个首部字段包含一个名字和一个值使用冒号隔开。host:localhost;

    首部分类:

        ▪️ 通用首部:请求和响应都会使用的首部(常见的通用首部:content-type、connection、Date、Cache—Control)

        ▪️ 请求首部:客户端向服务器发送请求报文时使用。请求首部Accept,响应首部Content-type

        ▪️ 响应首部:服务器向客户端发送响应报文时使用(Set-Cookie后端直接种cookie,不用前端手动设置cookie)

    Cookie:自动在客户端与web服务器之间来回传递的一小块信息,是作为HTTP报文首部的一部分由HTTP协议处理的。请求首部:Cookie;响应首部:Set-Cookie

        ▪️ 实体首部:针对请求报文和响应报文实体部分使用

        content-type:(内容的类型,向后端发送数据时可以告诉后端前端的编码格式,后端返回时告诉浏览器这是个普通文本还是html)

        application/x-www-form-urlencoded  表单(默认)——对应的请求主体为form Data

        application/json; charset = utf-8   // json对象——对应的请求主体为Request Payload

        ▪️ 扩展首部:非标准首部,由开发者创建但未加入规范中(后端往前端或前端往后端根本不需要使用主体)

        fetch请求配置、jquery请求配置里,写在headers:{}里的即为扩展首部。

        后端就可以通过获取header的方式获取前端传过去的数据,后端也可以通过首部往前端返数据

    3、主体: 可选组成部分,请求主体包含发送给服务器的数据,响应主体中包含返回给客户端的数据 其中可以包含任意文本或二进制数据。

    请求主体包括三种:(给后端的)

    Query String Parameter:通过地址栏传送数据

    Form Data:表单传送数据,可以查看传送过来的字段和值

    Request  Payload:传送JSON字符串

    响应主体在Response里

     

    展开全文
  • 银联8583报文解析工具

    2018-08-10 11:12:02
    银联8583报文解析工具并自动生成LoadRunner脚本;银联8583报文解析工具并自动生成LoadRunner脚本
  • 104规约报文解析

    2016-08-01 22:23:38
    104规约报文解析
  • 8583报文解析工具

    2019-01-08 16:08:20
    8583报文解析工具软件,可进行域格式自定义配置,批量报文导入,日志输出。 如果执行程序有问题,可参考源码。源码也已经公开了。
  • 不过自从用了这款基于Wireshark的Upper Tester报文解析插件,小编垂死病中惊坐起,一头扎进工作里。接下来就让我们直入主题,来看一下这款插件是怎么帮助我解决问题的。首先我们来了解一下TCP/IP协议...
  • PMA报文解析工具

    2018-03-06 21:16:01
    PMA报文解析工具,支持IEC101,103,104通讯规约,比较通用
  • 101、103、104规约报文解析,报文信息一览无余
  • 银联8583报文解析,支持2种数据格式类型解析,1种是从位域开始即消息头之后;另一种是从头开始即收到的原始数据,后面数据就跟第一种一样了),可输入8583原始数据带报文头格式,输入8583数据不带报文头,从BIT起。...
  • 101 报文解析工具

    2015-05-16 16:31:08
    101 报文解析工具可以帮组分析解析报文等
  • 银联报文解析工具.rar

    2020-08-19 10:28:07
    8583银联报文解析工具.rar
  • dlt 698.45 报文解析工具 操作简单,适合新手,通俗易懂,功能强大 dlt 698.45 报文解析工具
  • AIS报文解析软件.zip

    2021-03-16 11:19:02
    AIS报文解析软件,程序+说明书,支持串口、网口,自己记录的报文可使用虚拟串口等软件模拟发送

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,208
精华内容 2,883
关键字:

报文解析