1.什么叫斷點?
Break Point:進行接口測試時,為了測試后端功能而設置的。
2.斷點有哪些方式?
Before Requests:在請求時,沒有達到服務器之前設置斷點。 -- 全局斷點(中斷fiddler捕獲的所有請求)
After responses:服務器響應之后,在fiddler將響應傳回給客戶端之前。 -- 全局斷點(中斷fiddler捕獲的所有服務器返回數據)
取消斷點:Disabled
3.為什么要設置斷點
進行接口測試時,攔截和修改數據,測后端功能。比如:圖書網的某本小說的售價是100元,進行網頁前端的功能測試時,只能輸入100元進行購買!但是通過fiddler抓包工具可以攔截,修改數據。萬一有些別有用心的人跳過前端輸入框驗證,然后修改數據,輸入-100元進行購買。這樣的話,不僅買到了小說,賬戶余額還增加了100元。這就說明后端接口不對。
4.怎么設置斷點?(全局斷點和單個斷點)
- Rules>>Automatic Breakpoints>>Before Requests(After Responses) -- 全局斷點
- 在命令行輸入:(單個斷點)
- bpu 接口的url地址 eg:bpu https://passport.cnblogs.com/user/signin 然后按回車 -- before request
- bafter 接口的url地址 eg:bpafter https://passport.cnblogs.com/user/signin 然后按回車 -- after response
5.攔截來自某個網址所有請求
1.在命令行輸入:bpu www.cnblogs.com
2.打開博客園任意網頁,發現都被攔截到了
3.打開博客園其他網站,其它網站可以正常請求
4.說明只攔截了來自部落論壇(www.cnblogs.com)的請求
5.清除輸入bpu回車即可
6.Fiddler斷點在工作中有什么作用?
主要是用來修改請求和響應數據的,比如我們的VX(微信)發紅包功能,其實在前端是設置了一個一分錢到兩百塊錢的金額限制,當我們做測試的時候想要去發超過200塊錢的金額就可以用Fiddler對我們的before request設置一個斷點,然后修改我們的金額發送一個 超過200塊錢。比如說發個520的金額紅包到我們的后端,檢查服務端處理是否OK。又比如測試需要返回不同 的數據來檢查前端的顯示,我們 可以用Fiddler來對 after response設置一個斷點,修改返回數據查看前端顯示的效果 。
7.說一下Fiddler怎么模擬弱網場景?你知道MQTT是 什么東西嗎 ?
在Fiddler中rules右鍵點擊 Customize Rules(自定義規則) ,然后雙擊打開 Customize Rules.js文檔,修改文檔中每上傳或者是下載1kb數據所需要的時間來模擬我們的弱網環境,然后再rules–performance(性能)下面點擊simulate modem speeds(模擬調制解調器速度)開啟弱網環境的模擬 ,通過以上三步,就可以實現弱網測試場景的構造。
MQTT是一個基於客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議是輕量、簡單、開放和易於實現的,這些特點使它適用范圍非常廣泛。在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。其在,通過衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。
8.網絡爬蟲是干什么的?
爬蟲就是運用這種爬蟲的技術來去互聯網上獲取我們一些我們想要的信息,比如我是一個做生意的,我想要去了解一下我的同行們都在賣什么貨,什么貨賣得比較好,那么如果只有十個八個的一些同行,那么可能我可以手工或者是人力的分析過來,但如果有上百個、上千個、上萬個,那么這個時候就肯定需要借助一些工具,一些技術手段來把他們抓取過來,拿到這些數據之后,我再做一些簡單的分析,來看一下哪些貨賣的比較好,他們的銷量各自是什么樣子的,這就是我們常說的爬蟲技術的一個應用領域。
9. wireshark抓包工具的主要使用場景有哪些?
wireshark抓包工具它的主要目的是用來分析測試過程中間的網絡問題,比如測試某個web頁面時打不開,那么我們可以通過wireshark來分析一下是客戶端的問題還是服務端的問題,同時我們也可以來分析一下是哪個連接階段出現的問題。
拿http協議我們來舉例,我們可以通過wireshark進行分析得出是在TCP 3次握手過程中間發生的錯誤還是在握手之后進行數據傳輸的時候發生的錯誤,是客戶端主動斷開的連接還是說被服務器給reset,我們都可以通過wireshark抓包分析得出。
10. 用F12抓包后如何解析數據?
1.直接處理。當網頁返回數據就是一些文本,就是我們想要的內容,不需要過濾處理,直接處理就可以
2.Json解析。如果網頁返回的不是HTML數據是JSON數據,那么就需要用到JSON解析技術
3.正則表達式。如果返回的數據是符合正則表達式的數據,就可以用正則去做解析
4.其他解析方式。常用的有XPath、BeautifulSoup和PyQuery,這些都是爬蟲常用的解析庫。
11.抓包工具的區別?
1.Fiddler是免費開源的,但只能在windows下使用,mac和Linux是不支持的
2.Charles支持windows、MacOS和Linux操作系統,但是它不免費
3.Wireshark可以抓取所有協議的內容,非常適合協議的學習和網絡問題的分析,但是Wireshark它需要你具備一定的網絡知識,所以對於初學者來說不是很友好
4.F12最簡單最輕量級,但是和其他的抓包工具還是存在一定的差距
5.TCPdump主要用於Linux命令的抓包工具,前提是你要會操作Linux系統
12.Fiddler能做什么?
Fiddler是一款功能強大的抓包工具,能獲取和記錄客戶端與服務器之間的HTTP(及HTTPS)請求。
1、抓包:抓取HTTP請求和響應內容。
2、改包:設置斷點,攔截HTTP請求或響應報文,修改后再放行。
3、模擬各種客戶端:fiddler可修改user-agent內容,偽裝成各種客戶端發送請求。
4、弱網測試:通過限制HTTP請求或響應的速度,來模擬網絡延遲。
13.Fiddler為什么能抓包?
Fiddler實際上是一個web代理服務器,代理地址為127.0.0.1,默認端口為8888。代理服務器位於Web瀏覽器和Web服務器中間,扮演“中間人”的角色。
1、當Fiddler啟動抓包時,會將本機internet連接中,設置為使用代理服務器,地址為127.0.0.1,端口號為8888
2、當Fidder關閉抓包時,將本機internet選項中,取消代理設置。
Fiddler只能抓HTTP和HTTPS協議的包,其他協議的包是抓不到的,比如qq聊天時候發送的消息,就是抓不到的。
14.Fiddler怎么修改HTTP協議內容?
舉例,假設對www.baidu.com發送請求,
1、若要修改HTTP請求的內容
1)在fiddler左下角的命令行中,輸入bpu www.baidu.com
2)瀏覽器中打開百度首頁,即發送HTTP請求
3)fiddler中,該HTTP請求顯示出來,且有個紅色的T標志
4)在右側的界面中,打開raw tab頁,可手動修改請求的內容,點擊【Run to completion】放行
5)輸入bpu則取消斷點設置。
2、若要修改HTTP響應的內容,在fiddler左下角命令行中,輸入bpafter www.baidu.com,其他同上
15.fiddler如何修改請求參數:
方法一:直接在composer中修改,點擊按鈕【execute】重新請求就可以了
方法二:用斷點的方式修改。fiddler下邊有一個設置斷點的按鈕,箭頭向上請求前斷電,箭頭向下響應斷點。
設置斷點以后,就可以在webform中修改請求參數了,然后點擊按鈕【run to connection】就可以重新發送了
16.Fiddler如何實現弱網測試?
弱網一般指在電梯、地鐵、公交車、隧道等場景下使用客戶端瀏覽網頁或者APP,此時可能會發生如下問題:
1、操作時間慢
2、用戶體驗差,出現閃退、卡死等情況
3、非正常情況下,出現bug的可能性增加,比如在電梯里打開app搶代金券,可能因為網絡不好點擊按鈕后無反應,就多次點擊按鈕,導致網絡恢復后,該用戶搶了N多張代金券(需求是一個用戶只能搶一張代金券)
弱網可分為如下場景:
1、網絡慢,有延遲:fiddler的Rules->Performance->Simulate Modem Speeds,如果需要設置具體的延遲時間,可在FiddlerScript腳本中修改。
2、網絡中斷或者網絡超時:都可以通過下斷點的方式來模擬。
如何進行弱網測試:
fiddler的弱網測試需要用到fiddler script 插件
如果是發送請求延遲:fodder script代碼中修改函數onBeforeRequest中的一行代碼。 bscession["request-trickle-delay"]='3000',點擊按鈕【save script】保存,然后用replay回放請求就可以了。這樣就模擬了請求發送延遲3秒了
如果是響應延遲:fodder script代碼中修改函數onBeforeRequest中的一行代碼。 bscession["response-trickle-delay"]='3000',點擊按鈕【save script】保存,然后用replay回放請求就可以了。這樣就模擬了響應延遲3秒了。
17.fiddler抓不到請求的原因?
(1)抓不到app的請求,可能是代理或者端口設置的不對
(2)fiddler配置問題導致:
a、fiddler添加了域名過濾,所以抓不到其他域名的請求
b、fiddler關閉了代理功能,所以抓不到請求(開關在左下角)
c、fiddler設置了process,只能抓到某個瀏覽器的請求
(3)ios抓不到包有可能是證書過期了,需要重新安裝證書