打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解析8583报文


ISO8583报文是金融行业通讯经常需要用到的报文格式,刚开始接触时不知道如何去对它进行分析。

一般在我们分析8583报文的时候,都会参考报文格式的文档。没有这个文档,也无从分析。一般情况下,每个单位都会有自己的8583报文格式,那么笔者放上银联的签到业务报文格式参考来示意,一来银联规范格式是基础,二来避免不必要的麻烦。

1. 阅读报文格式文档(银联规范)

比如我下面分析签到返回报文,就参考表中的“响应”这一列。标有“M”的则是必须返回的域。“类型”表明了返回域的字码类型,而且这个要和字码长度结合一起看。比如批次号这一行,n6,BCD表明是BCD码,长度为6。报文都是16进制表示的,所以这里表明BCD码长度为6,而在报文中要数12位(这里的位非bit,就是一个数字的意思)。

原因是一个BCD展开成2个十六进制。比如字符“19”在内存中存储的是ASCII码,即“0x31”“0x39”,占用2个字节。它表示为压缩BCD码就是“0x19”,占用一个字节。

2. 原始报文

原始的报文如下:

004860000000070810203800000a801810000000000125112638061733313638323630303

0313235303030303030353132367955a92f09e34c36f40379ab9e0ec5330006313030303038

报文的获取可以在收到报文包的时候打印出来,或者直接通过TCPDUMP获取。

3. 报文解读

前面2字节 0048 表示的是报文长度 0x48 == 72D

6000000007 这个是TPDU

0810 就是文档中的消息码

203800000a801810 16位数的bitmap,这个牛X了,直接指明了报文中包含那几个域

可以用工具看看

后面的就根据bitmap和文档中分析好了,我把分析结果贴在下面

0048                                            //长度
6000000007                               //TPDU
0810                                           //消息码
203800000a801810                   //bitmap
000000                                       //系统码
000125
112638                                       //时间
0617                                           //日期
333136383236303030313235
3030                                           //返回码
3030303035313236                   //商户号
7955a92f09e34c36                    //终端号
f40379ab9e0ec533
0006 313030303038                  //批次号

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
转:一个8583报文的简单例子
8583报文详细分析
报文格式:xml 、定长报文、变长报文
不同格式文档的转换方法
揭秘以太网帧长中隐藏的两个内容:前导码、帧间隙
MQTT——控制报文格式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服