example of cli usage
This commit is contained in:
		
							parent
							
								
									6b45a4711f
								
							
						
					
					
						commit
						3bbada69aa
					
				| @ -6,8 +6,8 @@ | ||||
| // pass a terminal arg
 | ||||
| var filename = process.argv[2]; | ||||
| if (!filename) { | ||||
|   console.error("Usage: node aj-listener.js <type> [count]"); | ||||
|   console.error("Example: node aj-listener.js _service 0"); | ||||
|   console.error("Usage: node pure-parser-cli.js <path/to/sample.bin>"); | ||||
|   console.error("Example: node pure-parser-cli.js ./samples/services-0.mdns.bin"); | ||||
|   process.exit(1); | ||||
| } | ||||
| 
 | ||||
| @ -17,6 +17,17 @@ var fs = PromiseA.promisifyAll(require('fs')); | ||||
| var pdns = require('./pure-parser'); | ||||
| 
 | ||||
| fs.readFileAsync(filename, null).then(function (nb) { | ||||
|   //
 | ||||
|   // current reference impl
 | ||||
|   //
 | ||||
|   //console.log(require('native-dns-packet').parse(nb));
 | ||||
| 
 | ||||
| 
 | ||||
|   //
 | ||||
|   // other reference impl
 | ||||
|   //
 | ||||
|   console.log(require('dns-js').DNSPacket.parse(nb)); | ||||
| 
 | ||||
|   // nb is a Uint8Array (ArrayBufferView) for nb.buffer
 | ||||
|   // nb.buffer is the actual ArrayBuffer
 | ||||
|   pdns.unpack(nb.buffer); | ||||
|  | ||||
| @ -179,8 +179,11 @@ pdns.unpack = function (ab) { | ||||
| 
 | ||||
|     total += 2; | ||||
|     // TODO actually parse rdata
 | ||||
|     q.rdata = new Uint8Array(ab).slice(ab.byteLength - total, ab.byteLength + -total + q.rdlength); | ||||
|     q.rdata = Array.prototype.slice(q.data); | ||||
|     console.log(ab.byteLength, ab.byteLength - total, ab.byteLength + -total + q.rdlength); | ||||
|     q.rdata = new Uint8Array(ab).slice(total, total + q.rdlength); | ||||
|     console.log('q.rdata', q.rdata.byteLength); | ||||
|     console.log(q.rdata); | ||||
|     q.rdata = Array.prototype.slice.apply(q.data); | ||||
|     console.log('total', total); | ||||
| 
 | ||||
|     total += q.rdlength; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user