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

举报
JsJiaMi 发表于 2022/11/20 11:38:18 2022/11/20
【摘要】 如标题所述,本文用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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。