直接上例子.一段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报文格式分析相关推荐

  1. WireShark ICMP报文和TCP报文格式分析

    目录 添加链接描述安装及基本使用 ICMP报文格式分析 源IP-->目的IP 目的IP-->源IP TCP报文格式分析 源IP-->目的IP 目的IP-->源IP 其他参考资料 ...

  2. DNS协议详解及报文格式分析

    https://blog.csdn.net/tianxuhong/article/details/74922454 目录 一. DNS协议理论知识 1.1. 域名结构 1.2. 域名服务器 1.3. ...

  3. ISO8583报文格式解析

    我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了.最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑. ...

  4. 计算机网络管理- SNMP协议报文和报文格式分析,SNMP PDU分析

    ⬜⬜⬜ 

  5. ISO8583银联报文规范分析

    ISO8583银联报文规范 本篇文章参考了中国银联POS终端规范 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 02 00 3 ...

  6. HTTP报文格式及WireShark抓包分析

    HTTP请求报文格式 在这个请求格式之中空行是必不可少的一行.空行之后是请求实体.一个具体的HTTP请求报文格式如下: GET /su?wd=www.&action=opensearch&am ...

  7. 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)

    目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...

  8. Java版ISO8583报文组包/解包

    文章目录 一.8583协议简介 二.位图规则 三.8583格式报文参考 四.组包/解包思路 五.相关代码 一.8583协议简介   8583协议是基于ISO8583报文国际标准的包格式的通讯协议,85 ...

  9. ARP协议的报文格式

    结构ether_header定义了以太网帧首部:结构arphdr定义了其后的5个字段,其信息 用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外, 还包含源主 ...

最新文章

  1. embed的名词_常见名词解释
  2. 五小步让VS Code支持AngularJS智能提示
  3. c# Sockect 通信
  4. 【深度学习】ResNet——CNN经典网络模型详解(pytorch实现)
  5. 内存编程 c语言 c,C语言编程入门之内存管理
  6. oracle数据库中表被锁,Oracle数据库表被锁问题处理
  7. Don't Laugh!I'm An English Book笔记(五)——面部词语大总结加补充
  8. win8学习--------File
  9. (73)信号发生器DDS三角波设计(一)(第15天)
  10. 跨境电商,独立站和第三方平台孰更具优势?
  11. Hystrix-异常处理
  12. 基于Java实现udp编程
  13. wordpress php幻灯片代码,WordPress无需插件实现幻灯片效果
  14. 三星内存编码_看编号 识内存
  15. error C2440: “类型转换”: 无法从“LPVOID”转换为“double
  16. 【近几天电脑经常蓝屏后重启,蓝屏时提供错误代码,本文是解决电脑蓝屏问题的记录,看到最后希望对大家有用。】
  17. 【Python 实战基础】如何实现一个英汉翻译小字典
  18. firebase使用_这就是我希望在开始使用Firebase之前所要知道的
  19. fni matlab,使用Matlab求解Van Der Pol方程的方法研究
  20. 三角矩阵的存储和获取(C++版)

热门文章

  1. 考研数据结构--排序汇总(自用)
  2. 函数指针以及在类成员函数中应用函数指针
  3. RTSP/RTP/RTCP协议的区别
  4. 动态数组 —— 框架搭建
  5. Unity3D基础30:协同程序
  6. opencv 图像融合
  7. Triple Generative Adversarial Nets
  8. IOS UIView 属性clipsToBounds
  9. JVM学习之GC参数设置
  10. BZOJ 3875 - SPFA处理带环的DP