LoadRunner 使用IP欺騙的原因 1、 當某個IP的訪問過於頻繁,或者訪問量過大是,服務器會拒絕訪問請求,這時候通過IP欺騙可以增加訪問頻率和訪問量,以達到壓力測試的效果。 2、 某些服務器配置了負載均衡,使用同一個IP不能測出系統的實際性能。LR中的IP欺騙通過調用不同的IP,可很大程度上的模擬實際使用中多IP訪問和並測試服務器均衡處理的能力。 LoadRunner 使用虛擬IP測試流程設置虛擬IP地址 前提條件:load Generator機器必須使用固定的IP,不能使用動態IP 確定網絡中不沖突的IP地址 操作步驟: 1、打開:開始-〉程序-〉loadrunner-〉tools-〉ip wizard (說明: 增加新IP選擇第一項; 使用保存的文件增加IP選擇第二項 釋放已經設置的IP選擇第三項。) 2、選擇第一項, 點“下一步” 3、此步讓輸入web server的IP地址(尚不清楚有何意義),不輸入,直接點‘下一步’,說明:使用remove按鈕可以刪除選定的虛擬IP。 4、點add按鈕(說明:‘檢查新IP是否已經存在’選項並沒有起作用)根據輸入的IP的第一個值和數量,自動添加到虛擬IP列表中, 5、點ok按鈕 點“完成”按鈕 (說明:使用Save as…可以將本次增加的IP保存成.ips文件,下次再使用時就可以直接選擇此文件了。 ) 6、點‘OK’按鈕即可。 7、現在需要重啟計算機。 (重新啟動計算機后,設置的虛擬IP都生效了,此時使用ping會發現都能ping通,並且本機的IP也被改成了第一個虛擬IP地址。) 8、確認虛擬IP是否都生效的方法:在運行中輸入cmd,在命令窗口錄入ipconfig/all,然后就能看到已經生效的所有IP。 LoadRunner 使用虛擬IP 操作步驟: 1、選擇Controller 專家模式(Expert Mode),選擇IP地址模式。只有在專家模式下操作。 2、在controller中,選擇 Scenario-〉Enable IP Spoofer,此項設置允許使用IP欺騙。 3、按Generators按鈕,設置虛擬用戶生成器,將虛擬IP地址都添加進去,並連通。 4、連接成功的虛擬用戶生成器會在工具欄中顯示 然后設計方案, 運行方案。 5、使用虛擬IP測試完成后 打開IP Wizard,釋放所有虛擬IP。 6、重新啟動計算機。
設置如下:當前工作機器

通過ipconfig


可以刪除ip


ip欺騙成功,虛擬ip已經模擬出來了

記得這個虛擬ip一定是工作機器的ip網關 和nginx需要能ping通
char * ip; ip=lr_get_vuser_ip(); if (ip) { lr_vuser_status_message("The ip address is %s",ip); } else lr_vuser_status_message("IP spoofing disabled"); 如果出現語法錯誤,將變量申明char *ip放在腳本頁面端(在controller中執行該腳本時,查看虛擬用戶運行狀態,便可看到當前虛擬用戶使用的哪個IP地址發送消息)
也可以:
//驗證IP欺騙代碼
char * ip ;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("當前虛擬用戶使用的IP為: %s", ip);
else
lr_output_message("[enable IP spoofing ]選項沒有被啟用!");
http://bbs.51testing.com/thread-531726-1-1.html
https://blog.csdn.net/sd4493091/article/details/54894479
https://blog.csdn.net/fygkchina/article/details/41841915
https://www.jianshu.com/p/49b35d56045d
https://blog.csdn.net/wangxianglian/article/details/7020425
虛擬ip在使用過程中遇到的問題:
問題1:
在controller中,運行時,報如下錯誤“Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.”
解決方法:
1、根據錯誤提示,在run-time setting中的Miscellaneous項中設置“run vuser as a process”;在安裝目錄的dat文件夾中查找mdrv.dat,找到[lr_socks]段,在最后添加“ExtCmdLineConc=-UsingWinInet Yes”一句;
2、在選擇了expert mode后,選擇option->general,選中“ip address allocation per process”;
3、如果仍然報錯,在菜單欄中點擊Diagnostics->configuration項,將web page diagnostics項disable掉(該路徑是在loadrunner11中的位置,若是loadrunner8.0,則在Diagnostics--->Distribution,disable Web Page Diagnostics選項)
解決方法:
1.禁用其他多余網卡,將要用的網卡設置為靜態IP地址;
2.如果操作系統是win7的,需要點擊右鍵,選擇“以管理員身份運行”啟動IP wizard。(若將DHCP client禁用,則會發生IP wizard無法添加IP 地址的問題,因此一定要慎重~)
解決方法:
該問題是由於禁止了DHCP client服務,在運行中輸入servics.msc,右鍵啟動該服務即可。
Loadrunner 運行場景時提示vuser_init.c(12): Error: 錯誤解決方案
Loadrunner 運行場景時提示“
vuser_init.c(12): Error: Socket descriptor not found. Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.
ExtCmdLineConc=-UsingWinInet Yes”
解決方案:
1.運行場景時將Multithreading設置為 “Run Vuser as a process”
2.在目錄“.\HP\LoadRunner\dat\mdrv.dat”文件的[lr_socks]節點增加“ExtCmdLineConc=-UsingWinInet Yes ”如圖所示:
3.菜單欄中點擊Diagnostics->configuration項,將web page diagnostics項改為:Enable ()


