qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          LoadRunner中的IP欺騙的設置以及誤區

          最近在忙著部署web性能測試的環境后,對IP欺騙進行設置,特地做個筆記,給自己的學習歷程留下點足跡。
            一. 什么是IP欺騙?
            做什么事首先要問個為什么,如果知道為什么了,即使不知道如何做,簡單,google it,答案總會找得到,google.cn不行,google.com總行,來自全球的搜索結果,總會有幫助。
            IP spoof即IP 電子欺騙,我們可以說是一臺主機設備冒充另外一臺主機的IP地址,與其它設備通信,從而達到某種目的技術。 IP是網絡層的一個非面向連接的協議, IP數據包的主要內容由源IP地址,目地IP地址,所傳數據構成,IP的任務就是根據每個數據報文的目的地址,路由完成報文從源地址到目的地址的傳送。至于報文在傳送過程中是否丟失或出現差錯,IP不會考慮,那是TCP的事。對IP來講,源設備與目的設備沒有什么關系,它們是相互獨立的。IP包只是根據數據報文中的目的地址發送,因此借助高層協議的應用程序來偽造IP地址是比較容易實現的。
            二. 為什么要設置IP欺騙?
            對于某些服務器,是根據IP來分配資源,當某個IP地址訪問頻繁或者訪問量過大時,服務器會拒絕訪問,或者讓你輸入驗證碼,當然也有可能是來避免搜索引擎robot的任意爬取。
            網上還有些言論是說使用更多的IP來模擬較真實的用戶使用環境,來測試負載均衡技術的處理能力,但是我始終想不明白這跟那個有什么關系,如果服務器可以接受同一IP大量訪問,負載均衡不照樣起作用,照樣可以被測試到嗎?(私人觀點,意見可以保留)
            三. 設置前的準備工作
            1. 要有局域網的環境,因為只能設置局域網內的網段;
            2. 本地的IP設置不能為“自動獲取”,必須指定一個靜態IP。
            四. 如何設置
            第一步:
            運行Mercury LoadRunner- Tools-IP Wizard
            第二步:
            選擇create new setting,點擊“下一步”
            此時出現的頁面是讓輸入服務器的IP地址,Loadrunner通過該地址更新路由表。
            客戶端計算機上添加新的IP地址后,服務器需要將該地址添加到路由表,以便能夠識別返回到客戶端的路由。如果服務器和客戶端具有相同的子網掩碼、IP 類和網絡,則不需要修改服務器的路由表。如果客戶端和服務器計算機之間有一個路由器,則服務器需要識別經過該路由器的路徑。確保將以下路由添加到服務器路由表:從 Web 服務器到路由器的路由,以及從路由器到負載生成器計算機上的所有 IP 地址的路由。
            第三步:
            在輸入web服務器地址的頁面中輸入地址后,直接點擊“下一步”
            進入IP添加頁面,點擊“add”進行添加
            第四步:
            在from ip 輸入框中輸入起始ip,在Number to輸入框中輸入ip地址的位數,輸入正確的子網掩碼,選中“verify that new ip addresses are not already used”,點擊“ok”,此時IP Wizard會自動按照設置生成IP地址,并且將已經占用的IP列出。
            第五步:
            確認可用IP地址列表內容后,點擊“ok”,此時IP Wizard提示需要重新啟動計算機,點擊“save as”保存IP列表,點擊“ok”,重新啟動計算機。
            注:當保存IP地址列表后,下次啟用IP欺騙時直接選擇load previous setting from.....
          第六步:
            啟用IP欺騙
            選中Tools下的Expert mode,啟動專家模式Expert mode,再點擊Tools下的options,在Genearl選項卡中設置以線程方式或進程方式進行性能測試,這個選項一定要與當前場景的模式相匹配,也就是說使用本地虛擬IP測試時需要選中線程方式,使用負載生成器使用虛擬IP測試時需要選中進程方式。
            在controller中,選擇 Scenario-〉Enable IP Spoofer,此項設置允許使用IP欺騙。
            第七步:
            驗證IP欺騙是否有效
            方法一
            計算機重新啟動后,在運行行中輸入:CMD,在DOS命令提示符窗口中輸入:IPCONFIG,此時便可看到虛擬的IP地址均已經被啟用;
            方法二
            在腳本的Action()部分增加如下代碼:
            char * 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");
            然后通過控制器設置并運行場景,日志中可以看到IP地址。
            第八步:
            這一部很重要,如果不做這一步,很多IP地址就被占用了,可能你們網管跟你鬧上了呵呵。打開IP Wizard,選擇restore original settings釋放所有虛擬IP。
            五.誤區及答疑
            到現在為止,IP spoofer設置就告終了,但是最后有些疑問或者叫誤區需要分享一下。
            Q/A:
            1.自己本地的IP地址不在虛擬IP段內,有影響嗎?
            答:沒有
            2.是否需要配置多個load generator來對應不同的虛擬IP呢?
            答:不用,這個過程是generator自己完成的。
            3.不同的generator是否都需要設置IP spoof呢?
            答:Definitely Yes,不然的話不設IP欺騙的那臺只會使用一個本地的IP執行。
            4.虛擬用戶數和虛擬IP數量上有什么關系呢?
            答:如果虛擬用戶數大于IP數量時,每個用戶會得到不同的IP,否則,會有IP重復的現象。
            5. 還有別的辦法添加虛擬IP嗎?
            條條大路通羅馬,試試這個。
            在一臺機上虛擬的IP跨網段的處理,可通過在服務器端添加路由來實現。
            例:
            服務器IP:192.168.0.1
            測試機IP:192.168.0.206
            測試機上添加的虛擬IP: 192.168.10.1~128
            那么在服務器端執行以下命令:
            route add 192.168.10.0 mask 255.255.255.0 192.168.0.206

          posted on 2014-07-02 16:31 順其自然EVO 閱讀(541) 評論(0)  編輯  收藏 所屬分類: loadrunner

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 五常市| 游戏| 北碚区| 甘德县| 新昌县| 年辖:市辖区| 石阡县| 加查县| 堆龙德庆县| 若羌县| 荔波县| 灵台县| 河曲县| 鄂伦春自治旗| 平顶山市| 嵩明县| 冕宁县| 蓝田县| 静海县| 张北县| 武安市| 福鼎市| 自贡市| 高密市| 句容市| 离岛区| 安多县| 广安市| 九江县| 云阳县| 平泉县| 博爱县| 五家渠市| 米易县| 临夏市| 巴楚县| 偃师市| 溆浦县| 沂水县| 沅江市| 济宁市|