Android平台上MMS部分协议的实现的简单介绍
时间和能力关系,只简单的介绍了发送的过程和组包。
一,彩信业务流程
参见文档MMS Client Transactions
1.1发送过程:
Android 中实现: MMS Client 发送M-Send.req 即发一个
MESSAGE_TYPE_SEND_REQ = 0x80; 80开头的PDU包。
参见函数SendTransaction.java 类中SendConf
MMS Proxy-Relay M-Send.conf 即是回复一个以0x81开头的PDU包。
参见函数SendTransaction.java 类中SendReq SendConf
SendConf.java
Wireshark. 抓取发送流程
1.2接收notification.
Android中实现参见NotificationTransaction.java NotificationInd.java 类pdu.NotificationInd;
pdu.NotifyRespInd;
1.3接收MMS内容
RetrieveConf.java RetrieveTransaction.java
import com.google.android.mms.pdu.AcknowledgeInd;
import com.google.android.mms.pdu.RetrieveConf;
PDU 所属于类型在PduHeaders.java定义
/**
* X-Mms-Message-Type field types.
*/
public static final int MESSAGE_TYPE_SEND_REQ = 0x80;
public static final int MESSAGE_TYPE_SEND_CONF = 0x81;
public static final int MESSAGE_TYPE_NOTIFICATION_IND = 0x82;
public static final int MESSAGE_TYPE_NOTIFYRESP_IND = 0x83;
public static final int MESSAGE_TYPE_RETRIEVE_CONF = 0x84;
public static final int MESSAGE_TYPE_ACKNOWLEDGE_IND= 0x85;
…………………….
………………………..
二,MMS PDU
参见协议:MMS Encapsulation Protocol
wap-230-wsp-20010705-a.pdf
在MMSE层,被传送的是MMS PDU。一个MMS PDU 由MMS头和MMS体构成只在m-send-req和m-retrieve-conf中MMS PDU才包含了MMS体,其它部分只对MMS头进行传送每个MMS PDU的头三个参数依次为X-Mms-Message-Type, X-Mms-Transaction-ID 和X-Mms-MMS-Version。不同类型的PDU对应不同的角色,由X-Mms-Message-Type来标识。
2.1 MMS head.
MMS head 包含了message type,transactionid,MMS version, datat,from,to,subject ,是否要求发送报告,阅读报告等等。
以M-Send.rep为例说明在Android中的实现
在android中以makeSendReqPdu来组PDU包。
private int makeSendReqPdu() {
…….
// X-Mms-Message-Type
appendOctet(PduHeaders.MESSAGE_TYPE);
appendOctet(PduHeaders.MESSAGE_TYPE_SEND_REQ);
// X-Mms-Transaction-ID
appendOctet(PduHeaders.TRANSACTION_ID);
……..
……..
makeMessageBody();
return PDU_COMPOSE_SUCCESS; // Composing the message is OK
}
在response = sendPdu(SendingProgressTokenManager.get(tokenKey), new PduComposer(mContext, sendReq().make());
中抓取打包完数据
8c8098543133303034303439393037008d9285044dd3f90589018197 17ea31383630313237393430372f545950453d504c4d4e009609ea666868 76786367008a8088058103093a808f818681841bb38a3c736d696c3e0089 6170706c69636174696f6e2f736d696c00022f816f1b6170706c696361746 96f6e2f736d696c0085736d696c2e786d6c00c0223c736d696c3e008e736d 696c2e786d6c003c736d696c3e3c686561643e3c6c61796f75743e3c726f6f 742d6c61796f75742077696474683d22333230707822206865696768743d 223438307078222f3e3c726567696f6e2069643d225465787422206c6566 743d22302220746f703d22333230222077696474683d223332307078222 06865696768743d22313630707822206669743d226d656574222f3e3c2f6 c61796f75743e3c2f686561643e3c626f64793e3c706172206475723d2235 3030306d73223e3c74657874207372633d22746578745f302e7478742220 726567696f6e3d2254657874222f3e3c2f7061723e3c2f626f64793e3c2f73 6d696c3e27030f8385746578745f302e7478740081eac0223c746578745f3 03e008e746578745f302e74787400466767
按字节一个个分析。
8c
MESSAGE_TYPE
80
MESSAGE_TYPE_SEND_REQ
98
TRANSACTION_ID
54
3133303034303439393037
130********
00
8d
MMS_VERSION
9285044dd3f905
89
FROM
01 81
97
TO
17ea
3138363031323739343037 2f 54595045 3d504c4d4e 186******** / TYPE =PLMN
00
96
SUBJECT
09ea6668687678636700
8a
CLASS
80
88
EXPIRY
05 81 03093a80
8f
PRIORITY
81
86
READ_REPORT
81
用wiresharp 可以比较清楚的看到发出去的MMS.
以上为数据库pud表对应。
2.2 MMS body
MMS body 包含1个1个的part。每个part 包含content-type ,content-Id, Content-Loction.
Android 代码中 pduparser.java 中
parsePartHeaders
P_CONTENT_LOCATION
PduPart.P_DEP_CONTENT_DISPOSITION:
PduPart.P_CONTENT_DISPOSITION:
对这一部分做了解析。
下面图是发送的MMS part.
分别对应数据库中
上述抓取PDU. 第一个part 是smil.
81
6f1b6170706c69636174696f6e2f736d696c00
application/smil
85
736d696c2e786d6c00
smil.xml
c0223c736d696c3e008e736d696c2e786d6c003c736d696c3e3c686561 643e3c6c61796f75743e3c726f6f742d6c61796f75742077696474683d 22333230707822206865696768743d223438307078222f3e3c726567 696f6e2069643d225465787422206c6566743d22302220746f703d223 33230222077696474683d22333230707822206865696768743d22313 630707822206669743d226d656574222f3e3c2f6c61796f75743e3c2f6 86561643e3c626f64793e3c706172206475723d22353030306d73223e 3c74657874207372633d22746578745f302e7478742220726567696f6 e3d2254657874222f3e3c2f7061723e3c2f626f64793e3c2f736d696c3e 27030f8385746578745f302e7478740081eac0223c746578745f303e00 8e746578745f302e74787400466767
MMS body
smil.xml?
'儏text_0.txt侁?
三,HTTP层
在http 包头中,会给已经封装好的MMS PDU 添加http 包头,包含http 协议版本,彩信内容类,内容大小UA等等信息。
在android中HttpUtils.java 类中实现。
createHttpClient
getHttpAcceptLanguage
getUserAgent
附录A 一个完整的HTTP包
POST https://www.360docs.net/doc/029024285.html, HTTP/1.1
Accept: */*, application/vnd.wap.mms-message, application/vnd.wap.sic
x-wap-profile: https://www.360docs.net/doc/029024285.html,/oha/rdf/ua-profile-kila.xml
Accept-Language: zh-CN, en-US
Content-Length: 6842
Content-Type: application/vnd.wap.mms-message
Host: https://www.360docs.net/doc/029024285.html,
Connection: Keep-Alive
User-Agent: Android-Mms/2.0
...T12ff50a0ef4.....M.#c......138********/TYPE=PLMN........:......... width="320px" height="480px"/>
1-00-12.amr.."<2011-05-13 1-00-12>..2011-05-13 1-00-12.amr.#!AMR
O...$... vx.2&.=...T.7w.>X?0h.<".yE\4.. .V.,....K....>h.X.....<6.WG..!........G."\....A.bw....<&ze..p.~... ,..&.........W...=.<>pm#.T...E..)wR...............p<.{f..F.......a.,4Sve.-nW...g. .<:s_ ,....A...b.dt..Q.d...N..X.p<0d..p... .p..g/). y?L....<&..:.....n$B.h2mL...VS...9c0..@ @2..S......<.........6...4.I......j7.}.....<.|v..b..-.....[..W]./......ee?.<.v.0.....9.(.%.............(... <8](?.L..,r..9]...r3..}..^......<>~.:..........m8./...6.3.+*....<@xy.U..>.ru.*k.9....f..6....#..<:xj8...^=,... @f.).=[/...I@.k...<0.d@....Z.K]........Q...^x!.m.. .M....%..<(.c:.....y....[D....R.....+t... ......!Fv.H|uL.....<..<.<@m_J.4.^Y.....Z<.l...r......q..<0@#/^}...*.`d..o;..#..)......_ <0_g..,....6K.G..t..V.....a\...@<0<.2:5.>....8.x.G?C.V1.KB.....0<8m.Gw,@..3..^.....x...4....&?M.<: @$......|IM@. ....]syF. z.... <.ra....^ .f^....B....u.... ...p <0Ta8f4.>....$._C..:.F.3y.5c...p .....t.q. ...<@s}......z.=.X..!.<...Y..!..N.` .....rH.'..K...{2a!....<,d........[.....2;u..?~k.......<@H d2.I.. ...T....O3r........... .{.[..t. >.-w.T.......n........?. ~..%.v..yC.}h.:.=H..eJ.. d6;.]c..eM............<(8r..&.^........pU.LW...*....O.<8qc........,.~% .7 .[...BK...T.< >q0I.....D3np_.x.q...I6..P..p0 .~..8U`..S.aP..z...I.[...<._]6.k.~.P.n)...u...D..L.3z5KFp Ac5....PR..S..g..H,.5w^P/.....<.rc.......D.V*...H<~..._...]/..<49{.\.....tH.|@qu};p.....o..<..<.ljG.4...w ...%..h8~.....Q....$.<4[d*.2.^...p..8-.:.Qri..8.p.b_P<6Z$D...>......|t:.0.......\..oP<*B_..P...*....V..N8. z`n...L.c%.<6Z(F...>..4y.....p.[...!.a.....<0.%)LB....U..5..^.....m....#.c0<0T,.......[IPT...b"+........5. @ ...<.....c..)gY.a[.^.....<8<.,..X> .2..O.@...q.%...C..98`<,N,EU@....8.B..o[Cp.vD..~..;.[.<6l'-"p.....4..?]{d.<..x......#.<,D):.+...=U... .....F.*5@/......<@.d2^p...........P.w.%...~.D.. <,E. .,.^..&.~...P.........a.`..<66gD=D...<..q..{.......O.. P...<,DQ@F....;(.O#...nW.Wf.[.W.....<6Bq...Q.).dz .....q.\.N......m`<$<7G......._......<.{v.::Z..B. <.Mi: ,G^........!.{= /> WO..r..<6..AA.1..lj...}.GOC=.{...?=.,. <&K.0.... m$2BS.T......w.[ .:-.p<8..%..6.so. ...n. ..Lg....Db.H.<0.,9.x....d.S.:A...z.^E1....Tp.<0Zc#.n....*..<.*.....Z.p+.w.1|.<*[]GS: ..(.......D.... ..e.h....<6.(+.....M.8.Js=........=.. ..P<&Jy=.y.^.e|)a.)=.>j.;..~Q...~v.<0.y-M .~....D*...^..[.p..A;q..@<.By7.U.........W@.T...p..n....`<*my8P2.^.g....C...7..=`. ...E.@ c....?.=.....AC.5._.E<..j).V. .....F8...<@..E. ......M'.j...y..G2...(m9P<(vy,A....uF.. ....K.....d../.V....\N... ..m. < zm%[70...%..$WT.s)....!.....% >.9.../....G.].mQ...y0..< Td3..0...S...1P.b8.l(......+..<.e{*...~......%.T....)..#}X....<&_r<.... .Q.]E.;..V...:.....wz.<8dd......w8.M3...........4.2...<4_k..p.>.6....!. .........g.yN.<,s$.LZ >.*7.T..,p..\..IR...].r` ..&..ax.P..>SG..^Jt..W..<.st.P.....S.3......c.x........@< ev:..I>.W....~}...[.~.t.......<6.c<...~ 1u...7V..&o>.+....m...<:bSF.|4......1.U.. #q.c...-%b..4..i..dI.0 qg...A>....h..}.......E.....7@<,hS.../.....1Di...>Z.1.'..H...0<8.z.......F...4j.t{..]SU,.L.b0.<+B28.....m$< ..N'..*...k?.tf.z..<6leC. .>....^w.s...a3......vq. <)Ct5.......B...!/....:.#Xi.2Y.p<:_.KE_....'.-..yD.k.bO0...".O;.<0ek;.......:.5..1l.d...q....,b0 Content-length: 43 Content-Type: application/vnd.wap.mms-message Server: MMSC x-mmsc-tid: T12ff50a0ef4 x-mmsc-from: 8618801024616 x-mmsc-to: 138******** x-mmsc-code: -128 Date: Thu, 07 Jul 2011 12:42:53 GMT ...T12ff50a0ef4....070720425491000134342... 原始数据 00000000 50 4f 53 54 20 68 74 74 70 3a 2f 2f 6d 6d 73 63 POST htt p://mmsc 00000010 2e 6d 6f 6e 74 65 72 6e 65 74 2e 63 6f 6d 20 48 .montern https://www.360docs.net/doc/029024285.html, H 00000020 54 54 50 2f 31 2e 31 0d 0a 41 63 63 65 70 74 3a TTP/1.1. .Accept: 00000030 20 2a 2f 2a 2c 20 61 70 70 6c 69 63 61 74 69 6f */*, ap plicatio 00000040 6e 2f 76 6e 64 2e 77 61 70 2e 6d 6d 73 2d 6d 65 n/vnd.wa p.mms-me 00000050 73 73 61 67 65 2c 20 61 70 70 6c 69 63 61 74 69 ssage, a pplicati 00000060 6f 6e 2f 76 6e 64 2e 77 61 70 2e 73 69 63 0d 0a on/vnd.w ap.sic.. 00000070 78 2d 77 61 70 2d 70 72 6f 66 69 6c 65 3a 20 68 x-wap-pr ofile: h 00000080 74 74 70 3a 2f 2f 77 77 77 2e 67 6f 6f 67 6c 65 ttp://ww w.google 00000090 2e 63 6f 6d 2f 6f 68 61 2f 72 64 66 2f 75 61 2d .com/oha /rdf/ua- 000000A0 70 72 6f 66 69 6c 65 2d 6b 69 6c 61 2e 78 6d 6c profile- kila.xml 000000B0 0d 0a 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 ..Accept -Languag 000000C0 65 3a 20 7a 68 2d 43 4e 2c 20 65 6e 2d 55 53 0d e: zh-CN , en-US. 000000D0 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a .Content -Length: 000000E0 20 36 38 34 32 0d 0a 43 6f 6e 74 65 6e 74 2d 54 6842..C ontent-T 000000F0 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e ype: app lication 00000100 2f 76 6e 64 2e 77 61 70 2e 6d 6d 73 2d 6d 65 73 /vnd.wap .mms-mes 00000110 73 61 67 65 0d 0a 48 6f 73 74 3a 20 6d 6d 73 63 sage..Ho st: mmsc 00000120 2e 6d 6f 6e 74 65 72 6e 65 74 2e 63 6f 6d 0d 0a .montern https://www.360docs.net/doc/029024285.html,.. 00000130 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 70 Connecti on: Keep 00000140 2d 41 6c 69 76 65 0d 0a 55 73 65 72 2d 41 67 65 -Alive.. User-Age 00000150 6e 74 3a 20 41 6e 64 72 6f 69 64 2d 4d 6d 73 2f nt: Andr oid-Mms/ 00000160 32 2e 30 0d 0a 0d 0a 2.0.... 00000167 8c 80 98 54 31 32 66 66 35 30 61 30 65 66 34 00 ...T12ff 50a0ef4. 00000177 8d 92 85 04 4d d0 23 63 89 01 81 97 17 ea 31 33 ....M.#c (13) 00000187 38 31 30 34 38 32 35 34 31 2f 54 59 50 45 3d 50 81048254 1/TYPE=P 00000197 4c 4d 4e 00 8a 80 88 05 81 03 09 3a 80 8f 81 86 LMN..... ...:.... 000001A7 81 84 1b b3 8a 3c 73 6d 69 6c 3e 00 89 61 70 70 ..... 00000297 3c 2f 62 6f 64 79 3e 3c 2f 73 6d 69 6c 3e 53 b2 < /smil>S. 000002A7 26 1f 22 61 75 64 69 6f 2f 61 6d 72 00 85 32 30 &."audio /amr..20 000002B7 31 31 2d 30 35 2d 31 33 20 31 2d 30 30 2d 31 32 11-05-13 1-00-12 000002C7 2e 61 6d 72 00 c0 22 3c 32 30 31 31 2d 30 35 2d .amr.."< 2011-05- 000002D7 31 33 20 31 2d 30 30 2d 31 32 3e 00 8e 32 30 31 13 1-00- 12>..201 000002E7 31 2d 30 35 2d 31 33 20 31 2d 30 30 2d 31 32 2e 1-05-13 1-00-12. 000002F7 61 6d 72 00 23 21 41 4d 52 0a 3c 54 08 96 db ad amr.#!AM R. 00000457 15 10 4f b0 f6 03 24 ea c7 00 3c 54 08 96 db ad ..O...$. .. 0000070D 1b 2c e5 ac 92 13 4b fe e4 c2 b2 3e 68 7f 58 a9 .,....K. ...>h.X. 0000071D b8 93 c4 c0 3c 36 e7 57 47 b2 b2 21 fe 1f d0 c5 ....<6.W G..!.... 0000072D ca cc ac bc 47 19 22 5c 1a a5 0b d8 41 f3 62 77 ....G."\ ....A.bw 0000073D d9 ca 08 f0 3c 26 7a 65 ac 04 70 09 7e 0f a5 89 ....<&ze ..p.~... 0000074D 0d 2c a1 a4 26 16 a9 b6 f5 c0 0e b3 03 1e 57 a2 .,..&... ......W. 0000075D a6 99 3d b0 3c 3e 70 6d 23 e2 54 10 fe 1e 45 c4 ..=.<>pm #.T...E. 0000076D 02 29 77 52 bd 8c b8 8e 81 d9 f3 88 b2 c0 00 c6 .)wR.... ........ 0000077D c6 f0 f1 70 3c 2e 7b 66 b1 f9 46 03 be 1f 83 d8 ...p<.{f ..F..... 0000078D b1 17 61 d8 2c 34 53 76 65 86 2d 6e 57 e7 85 d1 ..a.,4Sv e.-nW... 0000079D 67 01 0a 00 3c 3a 73 5f 20 2c e4 01 fe 1e 41 b4 g...<:s_ ,....A. 000007AD 01 15 62 a8 64 74 fc 02 51 ce 64 a8 e1 0c 4e 85 ..b.dt.. Q.d...N. 000007BD c9 58 fd 70 3c 30 64 7f 95 70 b7 07 de 3c 64 44 .X.p<0d. .p... y?L 000008BD d2 91 ba e0 3c 26 f8 a1 3a bc ae 01 ff a4 6e 24 ....<&.. :.....n$ 000008CD 42 1d 68 32 6d 4c 17 aa 15 56 53 d8 95 d0 39 63 B.h2mL.. .VS...9c 000008DD 30 0c ad 40 3c 56 c8 77 3d fe 04 07 9f e0 69 14 0..@ 0000097D b4 9e 2b 10 3c 28 8e 67 a2 1c b6 05 3f 4a 2b b4 ..+.<(.g ....?J+. 0000098D d3 cb 5b f3 b0 0e 13 d9 4a 5e 75 6e 36 30 06 7f ..[..... J^un60.. 0000099D c6 1c 19 70 3c 48 7b 21 38 46 be 00 5f c2 af 06 ...p 000009CD a6 39 5d 0f cd 08 72 33 e9 b1 7d e9 d7 5e e7 aa .9]...r3 ..}..^.. 000009DD c0 99 1b 80 3c 3e 7e 88 3a a6 ce 01 ff 0f c5 8a ....<>~. :....... 000009ED 87 05 b2 6d 38 03 2f 86 9b 11 36 fe 33 10 2b 2a ...m8./. ..6.3.+* 000009FD e5 a2 e7 80 3c 40 78 79 1c 55 ea 05 3e 1e 72 75 ....<@xy .U..>.ru 00000A0D 7f 2a 6b f5 39 ff f2 ea e1 66 8e af 36 dc 09 eb .*k.9... .f..6... 00000A1D 8f 23 04 10 3c 3a 78 6a 38 09 d2 00 5e 3d 2c 85 .#..<:xj 8...^=,. 00000A2D fe b8 40 66 8a 29 dd 3d 5b 2f 00 d7 ad 49 40 a6 ..@f.).= [/...I@. 00000A3D 6b b5 f8 00 3c 30 c9 64 40 17 92 01 9e 5a c5 4b k...<0.d @....Z.K 00000A4D 5d cc 9b a5 f6 dd 9f 18 a7 51 9a ab b2 5e 78 21 ]....... .Q (x) 00000A5D 87 6d 82 80 3c 6e 4c 6a 32 3b e2 80 7e 1e 3a 82 .m.. 00000B8D 4b c3 47 18 d2 74 db 2e 56 17 09 d7 b8 e8 61 5c K.G..t.. V.....a\ 00000B9D be bb bd 40 3c 30 3c 1f 32 3a 35 14 3e 16 d7 f4 ...@<0<. 2:5.>... 00000BAD cd 38 ef 78 0b 47 3f 43 df 56 31 85 4b 42 fa a5 .8.x.G?C .V1.KB.. 00000BBD a2 ee be 30 3c 38 6d 7f 47 77 2c 40 9e 09 33 c4 ...0<8m. Gw,@..3. 00000BCD df 5e b9 a7 0b 88 f9 78 9d c4 0f 34 cf 93 0b f0 .^.....x ...4.... 00000BDD 26 3f 4d e0 3c 3a 40 24 94 17 84 05 de 0e 7c 49 &?M.<:@$ ......|I 00000BED 4d 40 87 0a b5 e2 9b 02 5d 73 79 46 97 20 7a 1e M@...... ]syF. z. 00000BFD 0e c4 9b 20 3c 2e 72 61 1a ac be 05 5e 0a d8 66 ... <.ra ....^..f 00000C0D 5e ac a5 b9 b4 42 aa fb c5 c0 75 a7 83 d8 8a 20 ^....B.. ..u.... 00000C1D af a2 10 70 3c 46 4b 78 95 07 d0 83 1e 51 03 f4 ...p 00000C53 19 48 d6 7a c5 32 cf 5e cf d0 d5 4b a5 70 3c 38 .H.z.2.^ ...K.p<8 00000C63 52 28 3a bb 00 01 7e 35 de 45 e4 14 cb e1 59 ee R(:...~5 .E....Y. 00000C73 17 e8 a3 5d 76 60 bb 70 4c 38 89 36 ce 00 3c 2c ...]v`.p L8.6..<, 00000C83 b9 7f 22 ab 3e 01 5e 12 d0 37 76 06 f4 92 7f 47 ..".>.^. .7v....G 00000C93 78 5d 90 b0 df da 80 88 1e 50 63 c2 a7 70 3c 3a x]...... .Pc..p<: 00000CA3 4a 2c 9f f7 7a 34 de 1d 6a d5 38 f0 67 27 4e d5 J,..z4.. j.8.g'N. 00000CB3 2a 5a 27 d1 9a d1 c1 85 da 81 aa 9e 9a 60 3c 46 *Z'..... .....` 00000E93 3b 75 c8 9f 3f 7e 6b 80 86 81 1c ae 9d e0 3c 40 ;u..?~k. ......<@ 00000EA3 48 64 32 83 49 00 7f 20 00 d2 06 54 ea b3 e3 cc Hd2.I.. ...T.... 00000EB3 4f 33 72 b4 d5 ae 86 93 c4 ee 09 de ea 10 3c 42 O3r..... ...... 00000ED3 3c 4c f7 5e ad ec 15 a9 51 92 2c c7 90 b0 3c f8 00000F43 3f 83 32 04 cc 12 3e 1e 5e 8b 24 b0 1c 53 65 88 ?.2...>. ^.$..Se. 00000F53 b0 2a 61 a1 e2 30 6e 44 c5 80 c8 ea 04 30 3c 38 .*a..0nD .....0<8 00000F63 4b 69 3b f9 c0 11 be 1b e2 76 7b 6f 35 c0 73 a7 Ki;..... .v{o5.s. 00000F73 c0 ae 6f 24 30 9b e7 d0 91 85 66 67 53 70 3c 48 ..o$0... ..fgSp 000011F9 21 2e 61 c8 81 d1 7f c0 3c 30 ba 25 29 4c 42 04 !.a..... <0.%)LB. 00001209 bf 05 99 55 c1 18 35 ce ee 5e a3 c1 fd 82 1c 6d ...U..5. .^.....m 00001219 8a c1 15 96 23 dd 63 30 3c 30 54 2c 84 ab c0 0f ....#.c0 <0T,.... 00001229 1e 1f 82 5b 49 50 54 a0 fd ce 62 22 2b b9 ac 9c ...[IPT. ..b"+... 00001239 eb ef ca 91 0f 35 06 40 3c 6e 38 69 27 1a d9 11 .....5.@