tcp-packet
Encode/decode raw tcp packets. Currently very incomplete.
$ npm install tcp-packet
Usage
const tcp =const packet = tcpconsole/*{sourcePort: 50006,destinationPort: 80,sequenceNumber: 4001178976,acknowledgmentNumber: 3051775593,dataOffset: 8,flags: 24,reserved: 0,ns: 0,cwr: 0,ece: 0,urg: 0,ack: 1,psh: 1,rst: 0,syn: 0,fin: 0,windowSize: 457,checksum: 2649,urgentPointer: 0,data: <Buffer 68 65 6c 6c 6f 0a>}*/console// hello\n
API
ip.encode({ data, sourcePort, destinationPort, sequenceNumber, acknowledgmentNumber })
Encodes a packet. Returns a buffer. The packet should look like this:
{
data: <Buffer>,
sourcePort: 12345,
destinationPort: 80,
sequenceNumbe: 1234567,
acknowledgmentNumber: 7654321
}
ip.decode(buffer)
Decodes a packet from a buffer. A buffer could look like Buffer.from('c3560050ee7d2560b5e66669801801c90a5900000101080a000276e95dd3f7a668656c6c6f0a', 'hex'))
and return something like this:
{
sourcePort: 50006,
destinationPort: 80,
sequenceNumber: 4001178976,
acknowledgmentNumber: 3051775593,
dataOffset: 8,
flags: 24,
reserved: 0,
ns: 0,
cwr: 0,
ece: 0,
urg: 0,
ack: 1,
psh: 1,
rst: 0,
syn: 0,
fin: 0,
windowSize: 457,
checksum: 2649,
urgentPointer: 0,
data: <Buffer 68 65 6c 6c 6f 0a>
}