『壹』 wireshark怎麼抓包伺服器
這個很簡單,直接在電腦上安裝抓包軟體wireshark,將電腦與路由器連接好,點開wireshark,開始採集,此時界面會彈出一個小窗口,需要你選擇要抓包的網卡,你應該選擇與路由器互聯的網卡。准備就緒,直接登錄web界面,wireshark會抓取到所有從選定網卡收發的報文了。
『貳』 如何截取伺服器的傳送數據包
下一個叫winsock的東西…然後在打開里打開你要截取數據的程序就行了…
『叄』 如何抓包和GET數據包與POST數據包區別
首先說一下我所理解的數據包。
我所理解的數據包就是用戶和網站之間的一個交流,你把數據包傳遞到伺服器,伺服器再返回給你一個結果,這樣你和網站就進行了一次交流。
而我們在網站里的操作,也是發送數據包請求來完成的。
那麼我們如何去抓取我們所發送的數據包呢。
這里推薦一下火狐瀏覽器里的firebug插件。
首先我們網路搜索火狐瀏覽器,然後下載下來。
接著到菜單----附加組件----搜索firebug
然後安裝這個甲殼蟲圖片的就可以了。
安裝好了之後呢,我們看到瀏覽器右上角有一個灰色的甲殼蟲圖標,我們點擊它,就成為亮色的了。
然後我們選擇 網路---啟動
這樣,這個firebug插件就已經開始對你的火狐瀏覽器抓包了。
這時候我們最好把「保持」給勾選上,因為有時候網頁會跳轉,那麼跳轉之前的數據包就會自動清空了,如果你保持的話,跳轉之前的數據包也可以找到。
這里為什麼推薦火狐瀏覽器里的firebug插件呢,因為firebug插件的抓包的時候,如果是緩存在電腦目錄里的數據,他會顯示灰色,這樣我們分析數據包的時候直接跳過這些灰色的數據包就可以了。 而且火狐瀏覽器的插件也比較多。
我們現在提交數據包的方式常見的有兩類,一類是GET方式,一類是POST方式。 也有其他的方式,不過很少很少見到,主流還是GET和POST方式。
GET方式的數據包就跟我們平常訪問網頁一樣,當我們打開http://www..com/就相當於提交了一個GET數據包。
那麼以網路為例子。
我們抓取打開網路時候的數據包可以看到有很多一條一條的數據包,一般來說第一條就是我們訪問的地址。我們把第一條展開看一下。
把請求頭復制出來就是這樣
GET / HTTP/1.1
Host: www..com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: BAIDUID=:FG=1; mv_in_vl=0; BDSVRTM=20; BDRCVFR=mk3SLVN4HKm; BDRCVFR=aeXf-1x8UdYcs
Connection: keep-alive
Cache-Control: max-age=0
最開始有一個GET,這個就是數據包的提交方式了,可以是GET或者POST。 後面是HTTP/1.1
而Host就是伺服器名,可以是一個域名也可以是一個IP地址。
User-Agent,瀏覽器標識什麼的,可以讓伺服器識別你的瀏覽器版本、語言、插件等等。
Accept,Accept-Language,Accept-Encoding,這里我就不多說了,有興趣的朋友可以看看這個:http://jingyan..com/article/375c8e19770f0e25f2a22900.html
下面是Cookie,Connection和Cache-Control.
那麼一個GET方式的數據包就是這樣構成的。
然後我們看到數據包還有一個響應
這里是我們訪問了這個數據包後,伺服器返回給我們的結果。
我們打開後看到是一對亂碼
這個是很正常的,伺服器只會給你返回一串數據,然後瀏覽器會根據數據來進行整理,然後展現給你,也就是你看到的網路頁面。
那麼到這里,就是一個完整的GET方式的數據包。
而POST數據包和GET數據包的本質是沒有任何差別的,構成也很相似。
POST數據包只是為了來完成GET數據包沒有辦法完成的功能。
因為有時候我們要登錄賬號,登錄賬號要發送一個數據包給伺服器,那如果是GET方式的話,登錄的賬號密碼就會在瀏覽器地址欄里顯示出來,這樣就不太安全。
如果是POST數據包的話,就不會顯示出來。
並且GET方式的數據包能查詢的長度是有限的,好像最長是255位元組,也可能會更多,反正不會超過某個限度,如果超過了這個限度的話,他會自動省去後面的位元組。那麼我們傳遞到伺服器的時候,數據就損失了很多,伺服器也會不知道我們是幹嘛的。
而POST數據包就會沒有這個問題。
下面抓一個網路的登錄看一下。
復制一下他的請求頭信息
POST /v2/api/?login HTTP/1.1
Host: passport..com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www..com/
Cookie: BAIDUID=:FG=1; HOSUPPORT=1
Connection: keep-alive
那麼我們可以看到,POST的請求頭信息和GET的請求頭是很相似的。只不過多了個POST數據。
而這里我們可以看到,提交的數據是非常非常長的,如果用GET方式的話就可能不能完全提交到伺服器。而且就算能提交,那麼瀏覽器地址欄顯示這么長一串內容,對用戶的體驗也是不太好的。反正我是看到地址欄滿滿的很長一段,就會不舒服。
言歸正傳,這里就是POST方式提交的數據。
然後其他的就跟GET方式差不多了, 頭信息、返回響應什麼的。
最後總結一下:
1、抓包用火狐瀏覽器的firebug插件,抓包的時候要記得勾選「保持」。
2、POST和GET方式的區別就在於長度問題,GET方式的長度是有限的,POST沒有限制。
最後建議大家去抓包試一試,不懂的地方可以跟帖留言,我有空解答{:soso_e113:}
『肆』 如何進行抓取區域網中的所有包
可以使用兩個方法:
1、找到那個伺服器的交換機埠,做一個埠鏡像。
2、那個伺服器前面串一個HUB,老式的廣播HUB,然後你的wireshark和伺服器一起接到HUB上。
工具:Wireshark、Ethereal、Sniffer等。