OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

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


分享到
分类 JS学习   关键字 JavaScript   发布 ourjs  1521533116395
注意 转载须保留原文链接,译文链接,作者译者等信息。  
有这样一个场景,要扫描内网的某个服务,只能通过前端来实现。已知服务器的端口号,不知道内网的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';
  }
}

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

社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
  2. 全国211高校数量最多省市排名:北京、上海、南京、武汉、西安最多,附高考难易地图
  3. Node.JS段点续传:Nginx配置文件分段下载功能实现
  4. 如何用Bootstrap免费网站模板和OnceAir云盘搭建个人网站服务器
  5. IE、Chrome、Firefox浏览器默认首页被改成360导航解决办法(删除daohang88.com)跳转
  6. Node.JS高效压缩解压zip文件:将child_process执行结果输入stdout流
  7. OnceAir自动考勤系统,无需手机签到打卡,轻松管理记录员工出勤信息
  8. Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统!
  9. Node.JS循环删除非空文件夹及子目录下的所有文件
  10. 如何收集捕获Node中的未处理的错误异常信息?
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS学习
  1. JavaScript用new Image实现内网服务器端口扫描
  2. 如何收集捕获Node中的未处理的错误异常信息?
  3. Node.JS循环删除非空文件夹及子目录下的所有文件
  4. Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统!
  5. 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
  6. 如何用Bootstrap免费网站模板和OnceAir云盘搭建个人网站服务器
  7. Node.JS高效压缩解压zip文件:将child_process执行结果输入stdout流
  8. Node.JS段点续传:Nginx配置文件分段下载功能实现
  9. Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
  10. JavaScript数组从头开始的位置插入新元素或删除第一个元素

 关键字 - JavaScript
  1. JavaScript中的继承,构造函数以及new关键字的作用
  2. 如何用CSS将select/option文本居中或居右对齐
  3. WowJS:在滚动页面时添加动画效果的简单实现
  4. NativeScript的工作原理:用JavaScript调用原生API实现跨平台
  5. 40行JavaScript代码实现的3D旋转魔方动画效果
  6. 如何通过网页、客户端、手机APP、路由器查找OnceAir NAS网盘的内网访问地址
  7. JavaScript数组从头开始的位置插入新元素或删除第一个元素
  8. 用JavaScript获取当月第一天和最后一天
  9. 我是怎么从顾虑到热爱ReactJS的(与AngularJS经典MVC数据绑定的对比)
  10. 在JavaScript中创建命名空间的几种写法

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号