1. 選擇虛擬機網絡模式
-
橋接模式 (Bridged)
-
客戶機獲得獨立局域網IP,與宿主機同網段。
-
客戶機可直接訪問宿主機IP(如?
192.168.1.x
)。
-
-
Host-Only 模式
-
僅宿主機與客戶機之間通信,宿主機通常有一個虛擬網卡(如?
192.168.56.1
)。
-
-
NAT 模式 + 端口轉發
-
需在虛擬機軟件中設置端口轉發規則,將宿主機端口映射到客戶機端口。
-
示例(VirtualBox):
-
打開虛擬機設置 > 網絡 > 高級 > 端口轉發。
-
添加規則:宿主機IP填?
127.0.0.1
,宿主機端口(如?3000
),客戶機IP(客戶機的局域網IP),客戶機端口(如?3000
)。
2. 配置宿主機服務
在宿主機上創建服務監聽請求,觸發應用程序啟動。
Python HTTP 服務器示例:
python
復制
下載
# 宿主機上運行 from http.server import BaseHTTPRequestHandler, HTTPServer import subprocessclass Handler(BaseHTTPRequestHandler):def do_GET(self):if self.path == '/run_app':subprocess.Popen(["C:\\Path\\To\\YourApp.exe"]) # 替換為實際應用路徑self.send_response(200)self.end_headers()self.wfile.write(b'App launched')else:self.send_response(404)HTTPServer(('0.0.0.0', 3000), Handler).serve_forever() # 監聽所有IP的3000端口
3. 客戶機發送請求
在客戶機內觸發HTTP請求,訪問宿主機服務。
Linux 客戶機:
bash
復制
下載
curl http://宿主機IP:3000/run_app
Windows 客戶機(PowerShell):
powershell
復制
下載
Invoke-WebRequest -Uri "http://宿主機IP:3000/run_app"
4. 防火墻與權限配置
-
宿主機防火墻:允許入站連接至監聽端口(如3000)。
-
控制面板 > Windows Defender 防火墻 > 高級設置 > 入站規則 > 新建規則。
-
-
執行權限:確保服務有權啟動目標應用程序(如以管理員身份運行Python腳本)。
5. 替代方案:共享文件夾 + 腳本監控
-
設置共享文件夾:
-
在虛擬機軟件中共享宿主機目錄(如?
D:\Shared
)。
-
-
宿主機監控腳本:
-
使用?
Python
?或?PowerShell
?監控共享文件夾,發現特定文件時啟動應用。
powershell
復制
下載
# 宿主機上的PowerShell監控腳本 $folder = 'D:\Shared' $triggerFile = Join-Path $folder 'launch.txt' while ($true) {if (Test-Path $triggerFile) {Remove-Item $triggerFileStart-Process "C:\Path\To\YourApp.exe"}Start-Sleep -Seconds 1 }
-
-
客戶機觸發:
-
在共享文件夾中創建?
launch.txt
?文件,宿主機檢測后執行應用。
-
安全提醒
-
最小權限原則:服務或腳本應以最低必要權限運行。
-
身份驗證:在HTTP服務中添加認證(如API密鑰)。
-
網絡隔離:使用內網IP而非暴露到公網。
各虛擬機軟件配置參考
-
VMware:使用橋接/Host-Only網絡,確保VMware Tools安裝。
-
Hyper-V:創建“外部”虛擬交換機,客戶機使用該交換機。
-
KVM/QEMU:配置網橋或使用?
virtio
?驅動增強性能。
通過上述步驟,客戶機即可安全可靠地觸發宿主機應用程序啟動。