From 7616ab95f3de2f44d099c926bd217d2c7fcff0a1 Mon Sep 17 00:00:00 2001 From: John Shaver Date: Sat, 23 Sep 2017 17:51:04 -0700 Subject: [PATCH] Catpured packet and inserting into ArrayBuffer. --- README.md | 2 +- data | Bin 0 -> 121 bytes encoded | 3 +++ index.js | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 data create mode 100644 encoded create mode 100644 index.js diff --git a/README.md b/README.md index b169252..ed920fd 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Playing around with parsing dns packets in Javascript. ## ToDo -- [ ] Import packet string into Arraybuffer +- [x] Import packet string into Arraybuffer - [ ] Parse the headers into a Javascript object - [ ] Test/Fix browser JS compatibility diff --git a/data b/data new file mode 100644 index 0000000000000000000000000000000000000000..a9bf2524ec156819110360ca61208e4d20677a54 GIT binary patch literal 121 zcmca|c+)~A1{MYcU}0bcax}gljZBv0W(WkbLD(nZo>$$=Cz~a>43}{*xH2#}uWNE( za1g8z=VD+G0Aj|yml#YL^jGmrX#wg7836=biN(dKCB?eQDS2$^nI##eNzBRlxgcpq E054M-y8r+H literal 0 HcmV?d00001 diff --git a/encoded b/encoded new file mode 100644 index 0000000..79da4c0 --- /dev/null +++ b/encoded @@ -0,0 +1,3 @@ +1MOyoQIABAAAAAAAAAAAAAAABAABAAAAKPfFWWMZCwBRAAAAUQAAAExg3kp+6eSzGAoxpggARQAA +Q66CQABAEXgXCgAAEAoAAAG90gA1AC+qDJSEAQAAAQAAAAAAAAphc3NldHMtY2RuBmdpdGh1YgNj +b20AAAEAAQ== diff --git a/index.js b/index.js new file mode 100644 index 0000000..2d3c426 --- /dev/null +++ b/index.js @@ -0,0 +1,24 @@ +if(typeof(atob) === 'undefined') { + var atob = require("atob"); +} +(function(){ + 'use strict'; + + var encodedPacket = "1MOyoQIABAAAAAAAAAAAAAAABAABAAAAKPfFWWMZCwBRAAAAUQAAAExg3kp+6eSzGAoxpggARQAAQ66CQABAEXgXCgAAEAoAAAG90gA1AC+qDJSEAQAAAQAAAAAAAAphc3NldHMtY2RuBmdpdGh1YgNjb20AAAEAAQ==" + var packet = atob(encodedPacket); + + console.log(packet.length); + + var buffer = new ArrayBuffer(packet.length); + + var view = new DataView(buffer) + + for(var i = 0; i < packet.length; ++i) { + view.setUint8(i, packet.charCodeAt(i), true); + } + + for(i = 0; i < packet.length; ++i) { + console.log(view.getUint8(i).toString(16)); + } + +})();