Files
portscan_protector/main.js
T
2023-08-28 15:52:36 +02:00

32 lines
903 B
JavaScript

const net = require("net")
const {spawn} = require("child_process");
const portlist = [21,1433,7777]
const host = "0.0.0.0";
servermap = new Map()
portlist.forEach(i => {
// create server
server = net.createServer()
// listen on port
server.listen(i, host, () => {
console.log(`TCP Server listening on ${host}:${i}`);
})
// defining connection event
server.on("connection", a => {
console.log(`incomming connection from : ${a.remoteAddress} on port ${i}`)
// handle error even on socket instance (prevents the econnreset error)
a.on("error", () => {})
// Handle banning ip
const output = spawn("echo", [`-A INPUT -s ${a.remoteAddress} -j DROP`]);
output.stdout.on("data", () => {console.log(data);})
})
servermap.set(i, server)
})
process.on('uncaughtException', function (err) {
console.log(err);
});