前言:因作LaGou網翻頁教程,頻繁訪問,導致IP被封,所以先來篇我們該如何抓包。
目標:學會利用Chrome瀏覽器的開發者工具進行HTTP請求分析
一:什么是抓包
即抓取我們本地電腦與遠端服務器通信時候所傳遞的數據包
二:Chrome瀏覽器講解
Chrome 開發者工具是一套內置于Google Chrome中的Web開發和調試工具,可用來對網站進行迭代、調試和分析
三:打開Chrome開發者工具
在Chrome界面按F12
or在頁面元素上右鍵點擊,選擇“檢查”
四:開發者工具的結構
Elements(元素面板):使用“元素”面板可以通過自由操縱DOM和CSS來重演您網站的布局和設計。
Console(控制臺面板):在開發期間,可以使用控制臺面板記錄診斷信息,或者使用它作為 shell,在頁面上與JavaScript交互
Sources(源代碼面板):在源代碼面板中設置斷點來調試 JavaScript ,或者通過Workspaces(工作區)連接本地文件來使用開發者工具的實時編輯器
Network(網絡面板):從發起網頁頁面請求Request后得到的各個請求資源信息(包括狀態、資源類型、大小、所用時間等),并可以根據這個進行網絡性能優化
Performance(性能面板):使用時間軸面板,可以通過記錄和查看網站生命周期內發生的各種事件來提高頁面運行時的性能
Memory(內存面板):分析web應用或者頁面的執行時間以及內存使用情況
Application(應用面板):記錄網站加載的所有資源信息,包括存儲數據(Local Storage、Session Storage、-IndexedDB、Web SQL、Cookies)、緩存數據、字體、圖片、腳本、樣式表等
Security(安全面板):使用安全面板調試混合內容問題,證書問題等等
Audits(審核面板):對當前網頁進行網絡利用情況、網頁性能方面的診斷,并給出一些優化建議。比如列出所有沒有用到的CSS文件等
五:重點講解Network
定義:Network 面板記錄頁面上每個網絡操作的相關信息,包括詳細的耗時數據、HTTP 請求與響應標頭和 Cookie
結構:由五個窗格組成,如圖
1:Controls(控件)?
使用這些選項可以控制 Network(網絡)面板的外觀和功能
2:Filters(過濾器)
使用這些選項可以控制在請求列表中顯示哪些資源
提示:按住Ctrl(Window / Linux),然后點擊過濾器可以同時選擇多個過濾器。
此外,篩選框可以實現很多定制化的篩選,比如字符串匹配,關鍵詞篩選等,其中關鍵詞篩選主要有如下幾種:?
domain:僅顯示來自指定域的資源。您可以使用通配符()來包括多個域。例如,.com顯示以.com結尾的所有域名中的資源。 DevTools會在自動完成下拉菜單中自動填充它遇到的所有域。
has-response-header:顯示包含指定HTTP響應頭信息的資源。 DevTools會在自動完成下拉菜單中自動填充它遇到的所有響應頭。
is:通過is:running找出WebSocket請求。
larger-than(大于):顯示大于指定大小的資源(以字節為單位)。設置值1000等效于設置值1k。
method(方法):顯示通過指定的HTTP方法類型檢索的資源。DevTools使用它遇到的所有HTTP方法填充下拉列表。
mime-type(mime類型:顯示指定MIME類型的資源。 DevTools使用它遇到的所有MIME類型填充下拉列表。
mixed-content(混合內容:顯示所有混合內容資源(mixed-content:all)或僅顯示當前顯示的內容(mixed-content:displayed)。
Scheme(協議):顯示通過不受保護的HTTP(scheme:http)或受保護的HTTPS(scheme:https)檢索的資源。
set-cookie-domain(cookie域):顯示具有Set-Cookie頭,并且其Domain屬性與指定值匹配的資源。DevTools會在自動完成下拉菜單中自動填充它遇到的所有Cookie域。
set-cookie-name(cookie名):顯示具有Set-Cookie頭,并且名稱與指定值匹配的資源。DevTools會在自動完成下拉菜單中自動填充它遇到的所有Cookie名。
set-cookie-value(cookie值):顯示具有Set-Cookie頭,并且值與指定值匹配的資源。DevTools會在自動完成下拉菜單中自動填充它遇到的所有cookie值。
status-code(狀態碼):僅顯示其HTTP狀態代碼與指定代碼匹配的資源。DevTools會在自動完成下拉菜單中自動填充它遇到的所有狀態碼。
3:Overview(概覽)
這個圖表顯示檢索資源的時間軸。如果您看到多個垂直堆疊的欄,這意味著這些資源被同時檢索。
4:Requests Table(請求列表)
此列表列出了檢索的每個資源。默認情況下,此表按時間順序排序,也就是最早的資源在頂部。單擊資源名稱可以獲得更多信息。提示:右鍵單擊列表的任何標題欄可以以添加或刪除信息列。
查看單個資源的詳細信息
點擊資源名稱(位于 Requests Table 的 Name 列下)可以查看與該資源有關的更多信息。?
可用標簽會因您所選擇資源類型的不同而不同,但下面四個標簽最常見:
Headers:與資源關聯的 HTTP 標頭。
Preview:JSON、圖像和文本資源的預覽。
Response:HTTP 響應數據(如果存在)。
Timing:資源請求生命周期的精細分解。
Headers(查看 HTTP 標頭)?
點擊?Headers?可以顯示該資源的標頭。?
Headers?標簽可以顯示資源的請求網址、HTTP 方法以及響應狀態代碼。 此外,該標簽還會列出 HTTP 響應和請求標頭、它們的值以及任何查詢字符串參數
點擊每一部分旁邊的?view source?或?view parsed?鏈接,您能夠以源格式或者解析格式查看響應標頭、請求標頭或者查詢字符串參數。
Preview(預覽資源)?
點擊Preview標簽可以查看該資源的預覽。Preview標簽可能顯示一些有用的信息,也可能不顯示,具體取決于您所選擇資源的類型。![|center|600*0(./1510193933148.png)
Response(查看 HTTP 響應內容)
點擊 Response 標簽可以查看資源未格式化的 HTTP 響應內容。 Preview 標簽可能包含一些有用的信息,也可能不包含,具體取決于您所選擇資源的類型。
查看 Cookie
點擊 Cookies 標簽可以查看在資源的 HTTP 請求和響應標頭中傳輸的 Cookie 表。 只有傳輸 Cookie 時,此標簽才可用。
下面是 Cookie 表中每一列的說明:
Name:Cookie 的名稱。
Value:Cookie 的值。
Domain:Cookie 所屬的域。
Path:Cookie 來源的網址路徑。
Expires / Max-Age:Cookie 的 expires 或 max-age 屬性的值。
Size:Cookie 的大小(以字節為單位)。
HTTP:指示 Cookie 應僅由瀏覽器在 HTTP 請求中設置,而無法通過 JavaScript 訪問。
Secure:如果存在此屬性,則指示 Cookie 應僅通過安全連接傳輸。
復制、保存和清除網絡信息
右鍵單擊Requests Table(請求列表)以復制、保存或刪除網絡信息。一些選項是上下文相關的,所以如果想在單個資源上操作,需要右鍵單擊該資源行。下面的列表描述了每個選項
Copy Response(復制響應)
將所選資源的HTTP響應復制到系統剪貼板。
Copy as cURL(復制為cURL)
將所選資源的網絡請求作為cURL命令字符串復制到系統剪貼板。 請參閱將復制請求為cURL命令。
curl命令是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進度條等特征。做網頁處理流程和數據檢索自動化,curl可以祝一臂之力。l
Copy All as HAR(全部復制為HAR)
將所有資源復制到系統剪貼板作為HAR數據。 HAR文件包含描述網絡“瀑布”的JSON數據結構。一些第三方工具可以使用HAR文件中的數據重建網絡瀑布。有關詳細信息,請參閱Web性能強大工具:HTTP歸檔(HAR)。
Save as HAR with Content(另存為帶內容的HAR)
將所有網絡數據與每個頁面資源一起保存到HAR文件中。 二進制資源(包括圖像)被編碼為Base64編碼文本。
Clear Browser Cache(清除瀏覽器緩存)
清除瀏覽器高速緩存。提示:您也可以從Network Conditions(網絡條件)抽屜式窗格中啟用或禁用瀏覽器緩存。
Clear Browser Cookies(清除瀏覽器Cookie)
清除瀏覽器的Cookie。
Open in Sources Panel(在源文件面板中打開)
在Sources(源文件)面板中打開選定的資源。
Open Link in New Tab(在新標簽頁中打開鏈接)
在新標簽頁中打開所選資源。您還可以在Requests Table(請求列表)中雙擊資源名稱。
Copy Link Address(復制鏈接地址)
將資源URL復制到系統剪貼板。
Save(保存)
保存所選的文本資源。僅顯示在文本資源上。
Replay XHR(重新發送XHR)
重新發送所選的XMLHTTPRequest。僅顯示在XHR資源上。
查看資源發起者和依賴關系
按住Shift并移動鼠標到資源上可查看它的發起者和依賴關系。這部分是你鼠標懸停的資源的target(目標)引用。
從target(目標)往上查找,第一個顏色編碼為綠色的資源是target(目標)的發起者。如果存在第二個顏色編碼為綠色資源,那么這個是發起者的發起者。從target(目標)向下查找,任何顏色編碼為紅色的資源都是target的依賴。
大家可以看下之前案例的抓包\
異步加載的抓包一般都在XHR,JS中
現在學習Tor代理服務器,來解決IP被封問題,歡迎大家一起來學習