|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-12-12, 02:51 AM | #1 |
榮譽會員
|
將VMware與SoftICE關於網路的遠端偵錯功能相結合
作者:scz(小四)
2.0 將VMware與SoftICE關於網路的遠端偵錯功能相結合 Q: 在VMware上安裝SoftICE,總是無法正確配置顯示卡驅動,選項 Universal Video Driver(SoftICE appears in a "window") 測試失敗。因此無法在VMware中Ctrl-D呼叫出SoftICE的螢幕。能否對VMware機進 行關於網路的遠端偵錯。 A: 小四 <scz@nsfocus.com> 2003-03-20 09:04 經過四個小時測試、調整,答案是肯定的。我使用VMware Workstation 3.0,其上安 裝了英文版Windows XP SP1以及DriverStudio 2.7所攜帶的SoftICE,版本如下: SoftICE (R) - DriverStudio (tm) 4.2.7 (Build 562) VMWare外部機器也是英文版Windows XP SP1。下面未提與遠端偵錯無關的SoftICE配 置。 -------------------------------------------------------------------------- 1) 驗證在VMware設定中只虛擬出一塊物理網路卡。在VMware中安裝XP,是否打SP1與遠 程偵錯無關。 安裝操作系統完成後,系統內容->硬體->裝置管理員,驗證只有一塊物理網路卡, 並且正常工作中(無黃色問號、無紅色叉號)。 進入網路內容,將與現有物理網路卡關聯的原有驅動程式刪除。禁用(不建議刪除) 已安裝傳輸協定、客戶端軟體、服務方軟體,就是將前面複選框中的對號全部勾去不 要。 如果不是新裝XP,假設有與上述不相符的配置,比如已經虛擬出兩塊物理網路卡, 已經進行過TCP/IP配置,最好能重新配置一下,刪除一塊物理網路卡、取消現有的 TCP/IP配置。當然,你可以不改動原有配置,一般來說不會出什麼問題,真出了 問題再按我說的做也來得及。 對於真實的遠端主機,如果有兩塊物理網路卡,必須先從插槽拔下一塊來,只保留 一塊物理網路卡在插槽中。 2) SoftICE在\Program Files\Compuware\DriverStudio\SoftICE\Network\下提供了 三種網路卡驅動(3COM/3C90X、Intel/E100、Novell/NE2000),如果你的網路卡在這三 種驅動支持範圍內,可以立即完裝或更新網路卡驅動,選項從磁牒安裝,指定上述 安裝目錄。安裝驅動安成後,可以配置TCP/IP傳輸協定等等。 這個版本的VMware虛擬出來的網路卡是AMD PCNET Family PCI Ethernet Adapter。 按照以前BBS流行說法,如果你的網路卡不在上述三種驅動支持範圍內,就無法進行 關於網路的遠端偵錯。總不能為了遠端偵錯而專門換網路卡吧,某些便攜機的網路卡 還不是那麼容易更換的。幸運的是有辦法讓幾乎所有類型的網路卡都支持關於網路 的遠端偵錯。執行: \Program Files\Compuware\DriverStudio\SoftICE\Network\UND\UNDSetup.exe 在Available Device中可以看到當前物理網路卡,選它,選項收音機按鈕 Use Universal Network Driver 一路確定並重啟VMware中的OS。重啟之後,你會發現網路內容裡沒有任何物理網 卡了。事實上,無論你以前有多少塊物理網路卡、做過多少網路配置,都會"丟失"。 不要慌,如果想恢復,再次執行: \Program Files\Compuware\DriverStudio\SoftICE\Network\UND\UNDSetup.exe 在Available Device中可以看到"SoftICE network transport",選它,選項收 音機按鈕 None 一路確定並重啟VMware中的OS。重啟之後,你以前設定就基本恢復了。前面我的 建議部分出於完美主義傾向,可能不是必須的,現在你理解了麼。 3) 當網路內容裡沒有任何物理網路卡的時候,已經可以進行關於網路的遠端偵錯。與 "Remote Access"設定無關,將那裡所有複選框中的對號全部勾掉。不要使用 "Network Debugging"設定,據yuange說,這裡處理有問題,他修改了ntice.sys。 我沒有修改ntice.sys,而是使用General->Initialization,內容如下: faults off;set font 3;lines 43;net start 192.168.7.153 mask=255.255.255.0 gateway=192.168.7.254;net allow 192.168.7.2 auto password=123456;X; VMware外部的機器IP為192.168.7.2,所以有如上設定。只設定了lines而沒有設 置width,因為後者需要"Universal Video Driver"模式,否則不可調。 雖然在VMware中Ctrl-D呼叫不出SoftICE螢幕,但實際上已經呼叫成功,可以盲打。 因此,如果沒有做如上設定或關於其它原因需要動態修改、測試時,可以在盲打 輸入: Ctrl-D net start 192.168.7.153 mask=255.255.255.0 gateway=192.168.7.254 net allow any auto X 其中192.168.7.153就是遠端SoftICE所使用的IP位址,"net allow any auto"表 示對操作方無任何IP、密碼限制,對於初次測試遠端偵錯功能的人來說,最好使 用這樣的設定,不需要重啟機器,即刻生效。 留心盲打,碰上鍵盤、滑鼠無回應時,很可能是SoftICE被呼出來了,輸入X退出 試試,不要急於按電源重啟。 4) 如果遠端設定是: net allow any auto 在VMware外部電腦上執行如下指令: \Program Files\Compuware\DriverStudio\SoftICE\siremote.exe 192.168.7.153 成功的話就會看到你熟悉的SoftICE視窗。如果遠端設定了密碼: net allow 192.168.7.2 auto password=123456 在VMware外部電腦上執行如下指令: \Program Files\Compuware\DriverStudio\SoftICE\siremote.exe 192.168.7.153 21321 123456 這種遠端偵錯使用了21321/UDP連接埠,123456是密碼。siremote.exe有BUG,為了 指定密碼,必須指定目標連接埠,可我在我的文件中沒有找到相關說明,還好老夫是折 磨Sniffer Pro出身,對"net allow any auto/siremote.exe 192.168.7.153"通 信程序捕包一觀,才確定目標連接埠是21321/UDP。不過,我不敢確定你們那裡也使 用同樣的連接埠,假設有問題,請立即捕包確定。 net start、net allow這些指令不能在遠端視窗中使用,只能在本機視窗中使用, 因此有時動態修改、測試時,需要在VMware中盲打。 為了進行關於網路的遠端偵錯,不要求操作方啟動SoftICE,siremote.exe只作為 普通網路客戶端軟體出現。 5) 可以在VMware中設定如下註冊表項: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTice NullVGA REG_DWORD 1(預設為0) 其本意是,如果遠端呼叫SoftICE,在被偵錯端看不到SoftICE視窗,否則可以看 到。由於VMware中顯示卡驅動的緣故,有無這個設定都一樣效果,我還是設定上了。 6) 至第5步為止,結合VMware的遠端偵錯已經搞定。可VMware中的XP也喪失了正常的 網路通信功能,我們需要遠端偵錯SMB傳輸協定處理時,就完蛋了。此時有兩種選項, 第一種是通過增加新硬體安裝如下虛擬設備: \Program Files\Compuware\DriverStudio\SoftICE\Network\UND\VNIC\sivnic.inf 在重啟程序中如果因VNIC出現故障,當UND驅動提示時,可按ESC,這將禁止載入 UND、VNIC。很可憐,我還沒等到重啟,只是在安裝程序中就出現BSOD了,連續試 了幾次都如此,不清楚是使用VMware的緣故,還是sivnic.inf本身的緣故,我沒 有試真實遠端主機的情形。 理論上,如果此時安裝了VNIC,就可以看到一塊網路卡,然後可進行TCP/IP傳輸協定配 置等等。但是網路效能很低,這與是否使用VMware無關,即便真實的遠端機器也 如此。 另一種辦法是真實增加一塊物理網路卡。對於VMware來說,需要關閉當前XP,關閉 電源,回到初始界面,然後在配置中增加一塊物理網路卡。對於真實的遠端主機, 就需要開啟機箱插入新網路卡了。注意,安裝UND時會導致以前所有配置"丟失",包 括物理網路卡,因此一些操作順序尤其重要。VMware以前有兩塊物理網路卡,安裝UND 後丟失,不太影響什麼,可以繼續增加物理網路卡。真實遠端主機就不同了,不大 可能有第三個插槽給你插第三塊物理網路卡,現在明白步驟1中所說了吧。 現在在網路內容裡可以看到惟一一塊網路卡了,就是新增加上來的那塊,然後進行 正常的TCP/IP傳輸協定配置,不要使用192.168.7.153,這是SoftICE使用的IP位址, 比如可以使用192.168.7.152。有些網路設定是全局設定,比如TCP/IP篩選,如果 修改,可能會影響包括"那些丟失的網路卡"在內的所有網路卡,結果未知,所以不建 議修改這些全局設定。此外還有一處古怪,即使沒有選項"自動獲得IP位址",而 是配置靜態類BIOSIP,重啟後在網路內容裡看到的還是"自動獲得IP位址",不過這 是假像,最好在CMD中執行"ipconfig /all"指令,可以看到: Dhcp Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.7.152 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.7.254 在註冊表中也只看到一個網路接頭,並且配置了靜態類BIOSIP: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 雖然"自動獲得IP位址"是假像,但你要修改什麼的話,還是需要從頭走一遍,除 非你直接去註冊表中修改。無論如何,都需要重啟,而本來XP下修改這些東西不 需要重啟的。 現在我們的VMware即具有正常的未降低效能(與VNIC相比)的網路功能,又支持基 於網路的遠端偵錯功能,爽。 7) UND、VNIC的卸載順序很重要,一定要先通過刪除設備卸載VNIC,再執行 UNDSetup.exe卸載UND,和安裝順序正好相反,不要混了。 如果安裝VNIC程序中出現BSOD,也去裝置管理員中檢視一下,刪除半安裝狀態的 VNIC,以免影響UND。 從上述文字看出,有兩塊物理網路卡的真實遠端主機無論如何都可以支持關於網路 的遠端偵錯。影響效能的方式只有一種,就是VNIC,其它兩種方式都不影響效能。 不再局限於3COM/3C90X、Intel/E100、Novell/NE2000。 如果使用VMware,更方便。 8) 在裝置管理員中,System devices->SoftICE network transport,該設備佔用了 中斷請求15。我的測試環境中,Secondary IDE Channel也佔用中斷請求15,前者 會搶佔成功,於是後者出現黃色問號,無法啟動。如果VMware的光碟的接在 IDE 1:0上,就無法使用光碟,此時可以將光碟換接在IDE 0:1上,即Primary IDE Channel的從盤,與主盤一起使用中斷請求14,光碟恢復正常。 -------------------------------------------------------------------------- 上述就是VMware+SoftICE完美解決方案的配置程序,中間省略了一些與遠端偵錯無關 的配置步驟。 -------------------------------------------------------------------------------- |
送花文章: 3,
|