JavaScript用new Image实现内网服务器端口扫描

综合技术 OurJS (源链)

有这样一个场景,要扫描内网的某个服务,只能通过前端来实现。已知服务器的端口号,不知道内网的IP网段。

首先ajax是不能用的,因为网页与目标服务器地址不一致,跨域了。

其次jsonp也不好用,因为现在浏览已经开始限制手动用脚本发jsonp获取获服务器信息了。

最后只能用 Image 来解决了。

Image 有一个 onload 方法,如果目录服务器文件存储则会触发,可以用来扫描设备:

var findArrs = [
    '192.168.0.'
  , '192.168.1.'
  , '10.0.0.'
]

var onloadHandler = function() {
  console.log(this)
  console.log(arguments)
  var src = this.src
  console.log(src)
}

for (var i = 0; i < findArrs.length; i++) {
  for (var j = 0; j < 255; j++) {
    var img = new Image()
    img.onerror = null
    img.onload  = onloadHandler
    img.src = 'http://' + findArrs[i] + j + ':8064/img/onceair.png';
  }
}

缺点:部分浏览器会限制同时下载图片的数量,因此扫描可能会很慢。

责编内容来自:OurJS (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合技术 » JavaScript用new Image实现内网服务器端口扫描

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录