Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)


Posted in Javascript onSeptember 18, 2017

在 Node.JS 中进行端口扫描还是比较方便的,一般会有广播和轮询两种方式。即使用广播和扫描,使用广播发出的消息有时会被路由器屏蔽,所以并不可靠。

使用node.js中的net模块,可以直接尝试向目录主机的某个端口进行连接,如果能建立连接,则说明该地址存在服务器。

var socket = new Socket()
socket.connect(port, host)
socket.on('connect', function() {
 //找到port 和 host 地址
})

所以只要进行255次扫描,则可找到同一网段内所有的Web服务器了。完整的示例代码如下,使用Node.JS扫描的速度极快,几秒内即可完成扫描。

var net   = require('net')
var Socket = net.Socket
//待扫描的开始网段,可换成192.168.0
var ip   = '10.0.0'
var port  = 80
var scan = function(host, cb) {
 var socket = new Socket()
 var status = null
 socket.setTimeout(1500)
 socket.on('connect', function() {
  socket.end()
  cb && cb(null, host)
 })
 socket.on('timeout', function() {
  socket.destroy()
  cb && cb(new Error('timeout'), host)
 })
 socket.on('error', function(err) {
  cb && cb(err, host)
 })
 socket.on('close', function(err) {
 })
 socket.connect(port, host)
}
for(var i = 1; i <= 255; i++ ) {
 scan(ip+'.'+i, function(err, host) {
  if (err) {
   console.log('Not found', host)
   return
  }
  console.log("Found: ", host)
 })
}

输出结果:

Found: 10.0.0.1
Found: 10.0.0.3
Not found 10.0.0.255
......

总结

以上所述是小编给大家介绍的Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
5种处理js跨域问题方法汇总
Dec 04 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
vue组件间通信解析
Mar 01 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
jQuery+ajax读取json数据并按照价格排序示例
Mar 28 jQuery
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
layui table数据修改的回显方法
Sep 04 Javascript
BetterScroll 在移动端滚动场景的应用
Sep 18 #Javascript
Windows下Node.js安装及环境配置方法
Sep 18 #Javascript
jQuery选择器之子元素选择器详解
Sep 18 #jQuery
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 #Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 #Javascript
javascript流程控制语句集合
Sep 18 #Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 #Javascript
You might like
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
source.php查看源文件
2006/12/09 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php实现插入排序
2015/03/29 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
django之自定义软删除Model的方法
2019/08/14 Python
python里反向传播算法详解
2020/11/22 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
校园招聘策划书
2014/01/09 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
房产证明范本
2015/06/19 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android