用JS开发安全工具:端口扫描器
【摘要】 如标题所述,本文用Javascript实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。
在Node.js中运行,效果如下:
源码:
function scan(host, start, end, callback) {
var net = require('net');
var count = end - start;
var result = [];
如标题所述,本文用Javascript实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。
在Node.js中运行,效果如下:
源码:
function scan(host, start, end, callback) {
var net = 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代码进行混淆加密,如:
得到的加密代码如下:
加密后的代码与之前一样使用,但从源码中已看不出其功能,起到了保护源码的功能。如下图:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)