Add function to get handshakeStage from keyInfo
This commit is contained in:
parent
31ab10c3e1
commit
91c3aca9e2
@ -1,3 +1,4 @@
|
||||
const { HandshakeStage } = require.main.require('./dto/Packet.js');
|
||||
|
||||
function keyInfoFromRaw(keyInfoRaw) {
|
||||
return {
|
||||
@ -15,8 +16,28 @@ function keyInfoFromRaw(keyInfoRaw) {
|
||||
};
|
||||
}
|
||||
|
||||
const HANDSHAKE_STAGE_KEYINFO = {
|
||||
"keys": ["Install", "KeyACK", "KeyMIC", "Secure"],
|
||||
"0100": HandshakeStage[1],
|
||||
"0010": HandshakeStage[2],
|
||||
"1111": HandshakeStage[3],
|
||||
"0011": HandshakeStage[4],
|
||||
};
|
||||
function handshakeStageFromKeyInfo(keyInfo){
|
||||
|
||||
// Extract compare-keys
|
||||
let keyData = "";
|
||||
for (const key of HANDSHAKE_STAGE_KEYINFO['keys']) {
|
||||
keyData += keyInfo[key].toString();
|
||||
}
|
||||
|
||||
// Get and return stage
|
||||
return HANDSHAKE_STAGE_KEYINFO[keyData];
|
||||
}
|
||||
|
||||
|
||||
// Specify exports
|
||||
module.exports = {
|
||||
keyInfoFromRaw,
|
||||
handshakeStageFromKeyInfo,
|
||||
};
|
@ -135,13 +135,9 @@ class PacketStreamFactory extends Transform{
|
||||
|
||||
// Read key-information
|
||||
const keyInfoRaw = (packet.payloadData[0x5]<<0x8) + packet.payloadData[0x6];
|
||||
const keyInfo = wifiStateAnalyser.keyInfoFromRaw(keyInfoRaw);
|
||||
|
||||
newPacket.handshakeStage = (!keyInfo.Install && keyInfo.KeyACK && !keyInfo.KeyMIC && !keyInfo.Secure)? HandshakeStage[1] :
|
||||
(!keyInfo.Install && !keyInfo.KeyACK && keyInfo.KeyMIC && !keyInfo.Secure)? HandshakeStage[2] :
|
||||
( keyInfo.Install && keyInfo.KeyACK && keyInfo.KeyMIC && keyInfo.Secure)? HandshakeStage[3] :
|
||||
(!keyInfo.Install && !keyInfo.KeyACK && keyInfo.KeyMIC && keyInfo.Secure)? HandshakeStage[4] :
|
||||
null;
|
||||
const keyInfo = wifiStateAnalyser.keyInfoFromRaw(keyInfoRaw); // Convert
|
||||
|
||||
newPacket.handshakeStage = wifiStateAnalyser.handshakeStageFromKeyInfo(keyInfo); // Get stage
|
||||
break;
|
||||
}
|
||||
if(newPacket) packet = Object.assign(newPacket, packet);
|
||||
|
Loading…
x
Reference in New Issue
Block a user