ISO8583报文格式分析
直接上例子.一段8583报文.
"02 00 70 20 00 00 20 C0 82 00 19 06 20 51 32 00 00 00 02 61 20 60 00 00 00 00 00 02 00 00 00 00 73 37 06 20 51 32 00 00 00 02 61 20 d1 91 12 01 00 00 00 00 00 30 30 30 30 31 31 31 31 31 30 32 32 35 30 31 35 33 31 31 31 31 31 31 01 56 00 44 9f 26 08 92 b6 ae 9a 9b 10 2e d6 9f 27 01 80 9f 10 13 07 01 01 03 a0 a0 10 01 0a 01 00 00 00 10 37 51 3a 22 be"
这是一串实际传输的报文, 上面显示的是这些数据的16进制表示. 你准备好了吗,我要开始分析了.
<02 00> 这个是信息类型(MTI), 是一个四位的数字, 这里为"0200", 传输时用BCD表示即为"02h,00h"(如果用ASCII呢?看看上面的内容). 这个四位数字,每一位都有它的意义, 第一位:8583 version number 第二位:message class 第三位:message sub-class 第四位:transaction originator 就不翻译了,毕竟本来就是老外的东西, 自己理解吧.
<70 20 00 00 20 C0 82 00> bit map域, 指示哪些域存在, 我们用windows自带的计算器计算出它对应的二进制是111000000100000000000000000000000100000110000001000001000000000, 由此可以看出下面几个域存在:2, 3, 4, 11, 35, 41, 42, 49, 55.
<19 06 20 51 32 00 00 00 02 61 20> field 2, 账号, n..19, LLVAR, 一字节表示长度(19), 账号是19位, 前面补0后, 用10字节BCD表示.
<60 00 00> field 3, 处理码, n6, 定长, 用3字节BCD表示
<00 00 00 02 00 00> field 4, 交易金额, n12, 定长, 用6字节BCD表示, 这里的金额是200.00元
<00 00 73> field 11, 流水号, n6, 定长, 用3字节BCD表示.流水号为"000073".
<37 06 20 51 32 00 00 00 02 61 20 d1 91 12 01 00 00 00 00 00> field 35, 二磁道数据, z..35, LLVAR, 一字节表示长度(37), 后面是19字节BCD表示的磁道数据
<30 30 30 30 31 31 31 31> field 41, 终端号, ans8, 定长, ASCII表示, 这里终端号为"00001111"
<31 30 32 32 35 30 31 35 33 31 31 31 31 31 31> field 42, 商户号, ans15, 定长, ASCII表示, 这里商户号为"102250153111111"
<01 56> field 49, 货币代码, n3, 定长, 前面补0后,用两字节BCD表示, 这里货币代码为"156"
<00 44 9f 26 08 92 b6 ae 9a 9b 10 2e d6 9f 27 01 80 9f 10 13 07 01 01 03 a0 a0 10 01 0a 01 00 00 00 10 37 51 3a 22 be> field 55, 这是IC卡交易的相关数据, 最大长度是255, 这一域用的IC卡数据一般在PBOC/EMV规范里 都有自己的定义(包括格式), 所以,一般在报文里的格式跟它们在PBOC/EMV里定义的一致.一般是TLV(tag+lenght+value)表示一个数据.简单介绍一下数据的意义. "00 44":长度, 表示44个字节 "9f 26 08 92 b6 ae 9a 9b 10 2e d6":应用密文(application cryptogram), TLV, b8 "9f 27 01 80":密文信息数据(cryptogram information data), TLV, b1
"9f 10 13 07 01 01 03 a0 a0 10 01 0a 01 00 00 00 10 37 51 3a 22 be": 发卡行应用数据(issuer application data), TLV, 变长,最大32字节,b..32.
转载于:https://www.cnblogs.com/cuifc/p/3382269.html
ISO8583报文格式分析相关推荐
- WireShark ICMP报文和TCP报文格式分析
目录 添加链接描述安装及基本使用 ICMP报文格式分析 源IP-->目的IP 目的IP-->源IP TCP报文格式分析 源IP-->目的IP 目的IP-->源IP 其他参考资料 ...
- DNS协议详解及报文格式分析
https://blog.csdn.net/tianxuhong/article/details/74922454 目录 一. DNS协议理论知识 1.1. 域名结构 1.2. 域名服务器 1.3. ...
- ISO8583报文格式解析
我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了.最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑. ...
- 计算机网络管理- SNMP协议报文和报文格式分析,SNMP PDU分析
⬜⬜⬜
- ISO8583银联报文规范分析
ISO8583银联报文规范 本篇文章参考了中国银联POS终端规范 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 02 00 3 ...
- HTTP报文格式及WireShark抓包分析
HTTP请求报文格式 在这个请求格式之中空行是必不可少的一行.空行之后是请求实体.一个具体的HTTP请求报文格式如下: GET /su?wd=www.&action=opensearch&am ...
- 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)
目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...
- Java版ISO8583报文组包/解包
文章目录 一.8583协议简介 二.位图规则 三.8583格式报文参考 四.组包/解包思路 五.相关代码 一.8583协议简介 8583协议是基于ISO8583报文国际标准的包格式的通讯协议,85 ...
- ARP协议的报文格式
结构ether_header定义了以太网帧首部:结构arphdr定义了其后的5个字段,其信息 用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外, 还包含源主 ...
最新文章
- embed的名词_常见名词解释
- 五小步让VS Code支持AngularJS智能提示
- c# Sockect 通信
- 【深度学习】ResNet——CNN经典网络模型详解(pytorch实现)
- 内存编程 c语言 c,C语言编程入门之内存管理
- oracle数据库中表被锁,Oracle数据库表被锁问题处理
- Don't Laugh!I'm An English Book笔记(五)——面部词语大总结加补充
- win8学习--------File
- (73)信号发生器DDS三角波设计(一)(第15天)
- 跨境电商,独立站和第三方平台孰更具优势?
- Hystrix-异常处理
- 基于Java实现udp编程
- wordpress php幻灯片代码,WordPress无需插件实现幻灯片效果
- 三星内存编码_看编号 识内存
- error C2440: “类型转换”: 无法从“LPVOID”转换为“double
- 【近几天电脑经常蓝屏后重启,蓝屏时提供错误代码,本文是解决电脑蓝屏问题的记录,看到最后希望对大家有用。】
- 【Python 实战基础】如何实现一个英汉翻译小字典
- firebase使用_这就是我希望在开始使用Firebase之前所要知道的
- fni matlab,使用Matlab求解Van Der Pol方程的方法研究
- 三角矩阵的存储和获取(C++版)