网站首页 > 知识剖析 正文
用JS开发安全工具:端口扫描器
如标题所述,本文用Javascript实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。
在Node.js中运行,效果如下:
源码:
Bash
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代码进行混淆加密,如:
得到的加密代码如下:
加密后的代码与之前一样使用,但从源码中已看不出其功能,起到了保护源码的功能。如下图:
猜你喜欢
- 2024-11-17 CSV Parquet Avro:为正确的工作选择合适的工具
- 2024-11-17 JS基础进阶- 同步异步编程和EventLoop底层机制
- 2024-11-17 5个你应该知道的JavaScript技巧,不能错过!
- 2024-11-17 map映射+异步加载 完美过渡 if else
- 2024-11-17 Chrome控制台的一些有用API(chrome控件)
- 2024-11-17 Javascript调试器自编代码及运用(js调试工具和方法如何使用)
- 2024-11-17 NET中的定时器:种类与应用场景(winform定时器)
- 2024-11-17 全栈之路:从一个深拷贝开始循序渐进
- 2024-11-17 localStorage灵魂五问。 5M??10M(灵魂官方网站)
- 2024-11-17 JS中用于跟踪程序执行时间的专用函数,两个同时出现截断时间戳
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)