150行Node.js实现的dns代理工具

 更新时间:2019年08月02日 10:33:31   作者:富途  
这篇文章主要介绍了150行Node.js实现的dns代理工具,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

工具地址:github.com/Yi-love/dns

安装: npm install dns-proxy-server -g

这个我觉得应该还是挺实用的一个工具。开发过程中我们需要配置IP来访问测试环境域名。

使用电脑开发测试还好,直接使用Switch hosts! , 修改域名IP即可访问特定IP的域名网站。

那么如何在手机上也尽可能容易的访问到测试环境呢?

手机如何访问到内部网络特定IP域名?

手机要访问到测试环境的域名,我们需要做的就是建立一个代理服务,然后手机通过代理服务访问测试环境域名。

常见的代理方式:

  1. 请求代理
  2. DNS代理

请求代理

无非就是作为一个中间人,代替手机访问测试环境域名,然后将请求结果返回手机。如果代理的是http请求还好,遇到https请求代理的话可以不是那么灵验了。虽然fiddler可以配置证书代理 https 请求,但是实际效果并不如人意,失败率还挺高的。

DNS代理

DNS代理说小一点就是个DNS解析服务,说大了就是个域名系统。

DNS代理只会告诉手机当前访问域名在哪个IP上。之后DNS代理访问并不会参与手机和测试环境域名直接的请求代理。

所以说:请求代理和DNS代理最大的区别就在这里,请求代理会参与请求,DNS不会参与。

为什么需要DNS代理

当前app里面有很多的内嵌页面(都是https请求), 使用请求代理,可能会App都登陆不了,这个适合选择DNS更合适。

但是DNS代理是看不见请求数据的,所以在需要抓包的场景,DNS无法做到。

使用 dns-proxy-server 服务

dns-proxy-server 是使用Node.js纯原生编写。使用非常方便。非常适合前端在手机app里预览内嵌页面。

安装:

npm install dns-proxy-server -g

使用:

dnsproxy[ ip[ port]]

案例: dnsproxy 172.28.24.1

mac用户需要使用 sudo dnsproxy [ip [port]] 方式。因为DNS绑定的是机器53端口。

配合 Switch hosts! 爽歪歪!!!!。

相关文章

  • node使用UEditor富文本编辑器的方法实例

    node使用UEditor富文本编辑器的方法实例

    本篇文章主要介绍了node使用UEditor富文本编辑器的方法实例,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • Node ORM项目中使用Sequelize实例详解

    Node ORM项目中使用Sequelize实例详解

    这篇文章主要为大家介绍了Node ORM项目中使用Sequelize实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 更新npm项目依赖的实现方法

    更新npm项目依赖的实现方法

    依赖管理是其中一个至关重要的环节,本文主要介绍了更新npm项目依赖的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • nodejs脚本中如何执行shell命令

    nodejs脚本中如何执行shell命令

    Node.js中使用child_process模块的exec和spawn方法来执行shell命令,exec适合执行小命令,返回输出;spawn适合大命令或长时间运行的命令,实时输出
    2025-02-02
  • nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较

    nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEq

    这篇文章主要介绍了node项目中遇到使用断言测试程序,看了下nodejs的api之后,对nodejs中assert断言的几个方法做个简单的记录,需要的朋友可以参考下
    2017-09-09
  • Node.JS事件的绑定与触发示例详解

    Node.JS事件的绑定与触发示例详解

    Node中的事件模型就是我们常见的订阅发布模式,Nodejs核心API都采用异步事件驱动,所有可能触发事件的对象都是一个继承自EventEmitter类的子类实例对象,这篇文章主要给大家介绍了关于Node.JS事件的绑定与触发事件的相关资料,需要的朋友可以参考下
    2022-11-11
  • Node.js学习入门

    Node.js学习入门

    本文主要介绍了Node.js的入门知识,包括:Node.js的特点,运行环境以及应用小例。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • NodeJS前端自动化部署实现实例详解

    NodeJS前端自动化部署实现实例详解

    这篇文章主要为大家介绍了NodeJS前端自动化部署实现实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • node.js 模块和其下载资源的镜像设置的方法

    node.js 模块和其下载资源的镜像设置的方法

    这篇文章主要介绍了node.js 模块和其下载资源的镜像设置的方法,在设置淘宝镜像共有三种方法,每种方法通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-09-09
  • iOS + node.js使用Socket.IO框架进行实时通信示例

    iOS + node.js使用Socket.IO框架进行实时通信示例

    本篇文章主要介绍了iOS + node.js使用Socket.IO框架进行实时通信示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04

最新评论