溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

150行Node.js實現(xiàn)的dns代理工具

發(fā)布時間:2020-08-30 15:56:30 來源:腳本之家 閱讀:173 作者:富途 欄目:web開發(fā)

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

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

這個我覺得應(yīng)該還是挺實用的一個工具。開發(fā)過程中我們需要配置IP來訪問測試環(huán)境域名。

使用電腦開發(fā)測試還好,直接使用Switch hosts! , 修改域名IP即可訪問特定IP的域名網(wǎng)站。

那么如何在手機上也盡可能容易的訪問到測試環(huán)境呢?

手機如何訪問到內(nèi)部網(wǎng)絡(luò)特定IP域名?

手機要訪問到測試環(huán)境的域名,我們需要做的就是建立一個代理服務(wù),然后手機通過代理服務(wù)訪問測試環(huán)境域名。

常見的代理方式:

  1. 請求代理
  2. DNS代理

請求代理

無非就是作為一個中間人,代替手機訪問測試環(huán)境域名,然后將請求結(jié)果返回手機。如果代理的是http請求還好,遇到https請求代理的話可以不是那么靈驗了。雖然fiddler可以配置證書代理 https 請求,但是實際效果并不如人意,失敗率還挺高的。

DNS代理

DNS代理說小一點就是個DNS解析服務(wù),說大了就是個域名系統(tǒng)。

DNS代理只會告訴手機當前訪問域名在哪個IP上。之后DNS代理訪問并不會參與手機和測試環(huán)境域名直接的請求代理。

所以說:請求代理和DNS代理最大的區(qū)別就在這里,請求代理會參與請求,DNS不會參與。

為什么需要DNS代理

當前app里面有很多的內(nèi)嵌頁面(都是https請求), 使用請求代理,可能會App都登陸不了,這個適合選擇DNS更合適。

但是DNS代理是看不見請求數(shù)據(jù)的,所以在需要抓包的場景,DNS無法做到。

使用 dns-proxy-server 服務(wù)

dns-proxy-server 是使用Node.js純原生編寫。使用非常方便。非常適合前端在手機app里預(yù)覽內(nèi)嵌頁面。

安裝:

npm install dns-proxy-server -g

使用:

dnsproxy[ ip[ port]]

案例: dnsproxy 172.28.24.1

150行Node.js實現(xiàn)的dns代理工具

mac用戶需要使用 sudo dnsproxy [ip [port]] 方式。因為DNS綁定的是機器53端口。

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

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI