用JS开发安全工具:端口扫描器

如标题所述,本文用script实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。

在Node.js中运行,效果如下:


 

源码:


 

function scan(host, start, end, callback) {var = require('net');var count = end - start;var result = [];console.time('port scan time');for (var i = start; i <= end; i++) {var item = net.connect({host: host,port: i},function(i) {return function() {result.push(i);this.destroy();};}(i));item.on('error', function(err) {if (err.errno == 'ECONNREFUSED') {this.destroy();}});item.on('close', function() {if (!count--) {console.timeEnd('port scan time');callback(result);}});}}scan('127.0.0.1', 1, 65535, function(result) {for (var i = 0; i < result.length; i++) {console.log('端口:' + result[i]);}});

如果用JShaman对以上JS代码进行混淆加密,如:


 

得到的加密代码如下:


 

加密后的代码与之前一样使用,但从源码中已看不出其功能,起到了保护源码的功能。如下图:


 

胜象大百科