1. 程式人生 > >推薦超強抓包工具HttpWatch

推薦超強抓包工具HttpWatch

要做網頁操作,get和post提交資料是必須要學會的一件事。想要獲取get或者post的資料就必須要學會抓包。

下面我就對常見的抓包工具簡單的介紹一遍:

介面和HTTP Analyzer有點像,但是功能少了幾個。而且只能附加到瀏覽器進行抓包。附加的辦法:開啟瀏覽器-》檢視-》瀏覽器欄-》HttpWatch,然後點record即可抓包。

特點:抓包功能強大,但是隻能依附在IE上。Post提交的資料只有引數和引數的值,沒有顯示提交的url編碼資料。

HttpWatch強大的網頁資料分析工具.整合在InternetExplorer工具欄.包括網頁摘要.Cookies管理.快取管理.訊息頭髮送/接受.字元查詢.POST 資料和目錄管理功能.報告輸出HttpWatch 是一款能夠收集並顯示頁頁深層資訊的軟體。它不用代理伺服器或一些複雜的網路監控工具,就能夠在顯示網頁同時顯示網頁請求和迴應的日誌資訊。甚至可以顯示瀏覽器快取和

IE之間的交換資訊。整合在Internet Explorer工具欄。

啟動Httpwatch

從IE的“檢視”—“瀏覽器欄”—“HttpWatch”啟動HttpWatch。如下圖所示:

外掛顯示 overview  TimeChart  Headers  Cookies  Cache  QueryString  POSTData  Stream  SSL  Warning  Content 。。。。。。

以下是HttpWatch程式介面

 3.1 Overview(概要)

表示選定某個資訊顯示其概要資訊

2. 3.2 Header(報頭)

如上圖紅框所示:

Http請求頭髮送資訊

HeadersSent                    value

Request-Line                    GET /external/closea_d.jsHTTP/1.1

 thinkGIS

備註:在HTTP工作開始之前,Web瀏覽器首先要通過網路與Web伺服器建立連線,該連線是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網路。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連線,因此,首先要建立TCP連線,一般TCP連線的埠號是80

表示Http接受到請求操作響應後的快取時間

Cache-Control                                            max-age=3600

一個用於定義快取指令的通用頭標

Connection                                              keep-alive

保持Tcp請求連線

Content-Type                                            application/x-JavaScript

標明發送或者接收的實體的MIME型別

Date                                               Fri,04Jan 2008 01:12:26 GMT 

傳送HTTP訊息的日期

Etag                                             "10f470-734-b32eb00"

一種實體頭標,它向被髮送的資源分派一個唯一的識別符號

Expires                                     Fri,04 Jan 2008 02:12:26 GMT

指定實體的有效期

Last-Modified                               Fri,04 Jan 2008 01:01:00 GMT

指定被請求資源上次被修改的日期和時間

Server                                     Apache

一種標明Web伺服器軟體及其版本號的頭標

X-Cache                                   HITfrom mimg68.nets.com    

表示你的 http request 是由 proxy server 回的 

3. 3.3 Cookies

顯示Cookies資訊

如上圖所示City=021,其實是我163郵箱中設定城市資訊值,在Cookies中記錄為021(代表上海這個城市)

 thinkGIS

備註:

什麼是cookie?Cookie是一種在客戶端保持HTTP狀態資訊的技術,Cookie是在瀏覽器訪問WEB伺服器的某個資源時,由WEB伺服器在HTTP響應訊息頭中附帶傳送給瀏覽器的一片資料,WEB伺服器傳送給各個客戶端瀏覽器的資料是可以各不相同的。

瀏覽器可以決定是否儲存這片資料,一旦WEB瀏覽器儲存了這片資料,那麼它在以後每次訪問該WEB伺服器時,都應在HTTP請求頭中將這片資料回傳給WEB伺服器。

顯然,Cookie最先是由WEB伺服器發出的,是否傳送Cookie和傳送的Cookie的具體內容,完全是由WEB伺服器決定的。

Cookie在瀏覽器與WEB伺服器之間傳送的過程如圖7.1所示。

4. 3.4 Cache(快取)

3.5 Query String(查詢字串)

顯示查詢字串被用在是傳遞引數url中

6. 3.6 POST Data

顯示通過Post方式資料資訊

以下是mail.163.com登入過程中POSTData,如下圖所示:

備註:以下為Post方式提交資料編碼幾種方式:

text/plain

以純文字的形式傳送

application/x-www-form-urlencoded

預設的編碼形式,即URL編碼形式

multipart/form-data

MIME編碼,上傳檔案的表單必須選擇該

Mime Type指的是如text/html,text/xml等型別

MIME(MultipurposeInternet Email Extension),意為多用途Internet郵件擴充套件,它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。伺服器會將它們傳送的多媒體資料的型別告訴瀏覽器,而通知手段就是說明該多媒體資料的MIME型別,從而讓瀏覽器知道接收到的資訊哪些是MP3檔案,哪些是JPEG檔案等等。當伺服器把把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啟動適當的應用程式來處理這個輸出文件。在HTTP中,MIME型別被定義在<head>、</head>部分的Content-Type中。

資料型別

MIME型別

超文字標記語言文字 .htm,.html檔案

text/html(資料類別是text,種類是html,下同)

純文字,.txt檔案

text/plain

RTF文字,.rtf檔案

application/rtf

GIF圖形,.gif檔案

image/gif

JPEG圖形,.jpeg, .jpg檔案

image/jpeg

au聲音,.au檔案

audio/basic

MIDI音樂,mid,.midi檔案

audio/midi,audio/x-midi

RealAudio音樂,.ra, .ram檔案

audio/x-pn-realaudio

MPEG,.mpg,.mpeg檔案

video/mpeg

AVI,.avi檔案

video/x-msvideo

GZIP,.gz檔案

application/x-gzip

TAR,.tar檔案

application/x-tar

如上圖紅圈所表示,可以看到POSTData 中的password和username資料;

GET方法

GET方法是預設的HTTP請求方法,我們日常用GET方法來提交表單資料,然而用GET方法提交的表單資料只經過了簡單的編碼,同時它將作為URL的一部分向Web伺服器傳送,因此,如果使用GET方法來提交表單資料就存在著安全隱患上。例如

Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB

從上面的URL請求中,很容易就可以辯認出表單提交的內容。(?之後的內容)另外由於GET方法提交的資料是作為URL請求的一部分所以提交的資料量不能太大

POST方法

POST方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料。POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送給Web伺服器,這就克服了GET方法中的資訊無法保密和資料量太小的缺點。因此,出於安全的考慮以及對使用者隱私的尊重,通常表單提交時採用POST方法。

 3.7 Content

統計顯示收到的Http響應資訊

如下圖所示:可以檢視

頁響應具體內容:

 3.9 HttpWatch請求資訊框

選單區如上圖紅框所示:

啟動Httpwatch

從IE的“檢視”—“瀏覽器欄”—“HttpWatch”啟動HttpWatch。如下圖所示:

以下是HttpWatch程式介面

 3.1 Overview(概要)

表示選定某個資訊顯示其概要資訊

 thinkGIS

2. 3.2 Header(報頭)

如上圖紅框所示:

Http請求頭髮送資訊

HeadersSent                    value

Request-Line                    GET /external/closea_d.jsHTTP/1.1

備註:在HTTP工作開始之前,Web瀏覽器首先要通過網路與Web伺服器建立連線,該連線是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網路。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的連線,因此,首先要建立TCP連線,一般TCP連線的埠號是80

表示Http接受到請求操作響應後的快取時間

Cache-Control                                            max-age=3600

一個用於定義快取指令的通用頭標

Connection                                              keep-alive

保持Tcp請求連線

Content-Type                                            application/x-javascript

標明發送或者接收的實體的MIME型別

Date                                               Fri,04Jan 2008 01:12:26 GMT 

傳送HTTP訊息的日期

Etag                                             "10f470-734-b32eb00"

一種實體頭標,它向被髮送的資源分派一個唯一的識別符號

Expires                                     Fri,04 Jan 2008 02:12:26 GMT

指定實體的有效期

Last-Modified                               Fri,04 Jan 2008 01:01:00 GMT

指定被請求資源上次被修改的日期和時間

Server                                     Apache

一種標明Web伺服器軟體及其版本號的頭標

X-Cache                                   HITfrom mimg68.nets.com    

表示你的 http request 是由 proxy server 回的 

3. 3.3 Cookies

顯示Cookies資訊

如上圖所示City=021,其實是我163郵箱中設定城市資訊值,在Cookies中記錄為021(代表上海這個城市)

備註:

什麼是cookie?Cookie是一種在客戶端保持HTTP狀態資訊的技術,Cookie是在瀏覽器訪問WEB伺服器的某個資源時,由WEB伺服器在HTTP響應訊息頭中附帶傳送給瀏覽器的一片資料,WEB伺服器傳送給各個客戶端瀏覽器的資料是可以各不相同的。

瀏覽器可以決定是否儲存這片資料,一旦WEB瀏覽器儲存了這片資料,那麼它在以後每次訪問該WEB伺服器時,都應在HTTP請求頭中將這片資料回傳給WEB伺服器。

顯然,Cookie最先是由WEB伺服器發出的,是否傳送Cookie和傳送的Cookie的具體內容,完全是由WEB伺服器決定的。

Cookie在瀏覽器與WEB伺服器之間傳送的過程如圖7.1所示。

 thinkgis

4. 3.4 Cache(快取)

3.5 Query String(查詢字串)

顯示查詢字串被用在是傳遞引數url中

6. 3.6 POST Data

顯示通過Post方式資料資訊

以下是mail.163.com登入過程中POSTData,如下圖所示:

備註:以下為Post方式提交資料編碼幾種方式:

text/plain

以純文字的形式傳送

application/x-www-form-urlencoded

預設的編碼形式,即URL編碼形式

multipart/form-data

MIME編碼,上傳檔案的表單必須選擇該

Mime Type指的是如text/html,text/xml等型別

MIME(MultipurposeInternet Email Extension),意為多用途Internet郵件擴充套件,它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。伺服器會將它們傳送的多媒體資料的型別告訴瀏覽器,而通知手段就是說明該多媒體資料的MIME型別,從而讓瀏覽器知道接收到的資訊哪些是MP3檔案,哪些是JPEG檔案等等。當伺服器把把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啟動適當的應用程式來處理這個輸出文件。在HTTP中,MIME型別被定義在<head>、</head>部分的Content-Type中。

資料型別

MIME型別

超文字標記語言文字 .htm,.html檔案

text/html(資料類別是text,種類是html,下同)

純文字,.txt檔案

text/plain

RTF文字,.rtf檔案

application/rtf

GIF圖形,.gif檔案

image/gif

JPEG圖形,.jpeg, .jpg檔案

image/jpeg

au聲音,.au檔案

audio/basic

MIDI音樂,mid,.midi檔案

audio/midi,audio/x-midi

RealAudio音樂,.ra, .ram檔案

audio/x-pn-realaudio

MPEG,.mpg,.mpeg檔案

video/mpeg

AVI,.avi檔案

video/x-msvideo

GZIP,.gz檔案

application/x-gzip

TAR,.tar檔案

application/x-tar

如上圖紅圈所表示,可以看到POSTData 中的password和username資料;

GET方法

GET方法是預設的HTTP請求方法,我們日常用GET方法來提交表單資料,然而用GET方法提交的表單資料只經過了簡單的編碼,同時它將作為URL的一部分向Web伺服器傳送,因此,如果使用GET方法來提交表單資料就存在著安全隱患上。例如

Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB

從上面的URL請求中,很容易就可以辯認出表單提交的內容。(?之後的內容)另外由於GET方法提交的資料是作為URL請求的一部分所以提交的資料量不能太大

POST方法

POST方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料。POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送給Web伺服器,這就克服了GET方法中的資訊無法保密和資料量太小的缺點。因此,出於安全的考慮以及對使用者隱私的尊重,通常表單提交時採用POST方法。

 3.7 Content

統計顯示收到的Http響應資訊

如下圖所示:可以檢視