將外網網址指向內網環境
臨時在內網需要連到外網的網站,所以需要設定指向。
環境是內網沒法直接到外網。
本次環境設定:
需要連線網站:
https://www.example.com實際伺服器IP:
10.10.10.5
而該 IP 只有在內網能存取。
若直接連線外部 DNS,會解析到正式站的公網 IP;若直接掃 IP,產出的工具報告會顯示「10.10.10.5」,不符原本的掃描URL需求。雖然可以偷吃步直接修改工具報告上的名稱,不過這邊我們還是乖乖進行設定吧
在掃描端(Client 端)設定導向
- 修改 hosts(最簡單)
這是最常用、最穩定的方法。
在 Windows、macOS 或 Linux 都可透過 hosts 檔案指定網域解析到內部 IP。
- Windows:以系統管理員開啟記事本
編輯:C:\Windows\System32\drivers\etc\hosts
最後加上:儲存後執行1
10.10.10.5 www.example.comTerminal:1
ipconfig /flushdns
- Linux / macOS:加入:
1
sudo nano /etc/hosts然後:1
10.10.10.5 www.example.com1
2sudo systemd-resolve --flush-caches # Linux
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder # macOS
- 在掃描工具內設定
DNS Override
部分工具(如 Acunetix, Burp Suite, OWASP ZAP)支援自訂 DNS 對應或 HTTP Header。
以 Acunetix 為例:
在 Target → Advanced → Custom Headers加入:
1 | |
將掃描目標設為:
1 | |
這樣請求的實際 IP 為 10.10.10.5,但送出的 Host Header 仍是 www.example.com,
報告上就會保留網域名稱。
Burp 或 ZAP 也有類似設定,在Hostname Resolution或DNS override處輸入:
1 | |
- 臨時測試用 curl
用 curl 可以直接模擬:
1 | |
這樣能確認伺服器是否正確回應,或是否有 redirect / cookie 問題。
若要避免被重導太多次,可加:
1 | |
伺服器端的設定建議
若你是伺服器管理者,並希望外網域名能「臨時導向」到內部測試站,有以下幾種方式可做:
- 反向代理
Reverse Proxy
使用一台中介伺服器(例如 Nginx、Apache、或 IIS),設定反向代理:
1 | |
這樣外部使用者打 https://www.example.com 時,其實由代理伺服器轉送到內部 10.10.10.5
- 內部 DNS(若公司內部有 AD / Bind / Dnsmasq)
可建立一筆內部 DNS A 記錄:
1 | |
這樣所有連上內部網域的用戶(含掃描器)都會解析成內部 IP。
- hosts 維護(開發或測試環境用)
若伺服器是多台測試機,可以讓內部使用者在共用登入腳本中,自動修改 /etc/hosts:
1 | |
這適合臨時開發測試用,但不建議放正式環境。
常見錯誤與排查
問題 可能原因 解法
ping 得到 IP,但開網頁連不上 HTTPS 憑證 mismatch、redirect 錯誤 用 curl -v 查看回應 header
ERR_TOO_MANY_REDIRECTS 網站內設定重導循環(www / 非 www、HTTP↔HTTPS) 清除 cookie、或請伺服器端修正 rewrite 規則
掃描器報告 IP 而非 URL 未使用 hosts 或 Host header 未設定 改成 URL + hosts 對應
掃描超時 防火牆或 proxy 攔截 請客戶確認內部白名單
小結
在客戶端(測試端):
改 hosts 或掃描器內設定DNS override,保留網址名稱、導向內部 IP。在伺服器端:
可用反向代理或內部 DNS,使同一網址可在內外網指向不同伺服器。在測試過程中:
使用 curl -v檢查 redirect、Header、SSL 狀態,是最直觀的診斷方法。