導航:首頁 > 配伺服器 > 如何抓取伺服器的包

如何抓取伺服器的包

發布時間:2022-11-30 11:50:41

『壹』 如何進行抓取區域網中的所有包

可以使用兩個方法:
1、找到那個伺服器的交換機埠,做一個埠鏡像。
2、那個伺服器前面串一個HUB,老式的廣播HUB,然後你的wireshark和伺服器一起接到HUB上。
工具:Wireshark、Ethereal、Sniffer等。

『貳』 如何抓取指定網站後台伺服器數據

先打開wireshark監聽指定的網卡就是上網的那一張網卡,開始抓包,然後使用瀏覽器訪問你想要的網站,當瀏覽器顯示網站數據傳輸完畢,停止抓包,將所抓的數據保存下來即可

『叄』 如何使用WireShark抓取數據包

一、怎樣獲取WireShark?
很簡單,網路搜索WireShark,就會看到下載地址。

二、使用WireShark
因為WireShark是英文軟體,所以你需要一些必要的英文基礎。
打開軟體界面

1、開始抓包
選中你需要的網卡,點擊start即可開始抓包,在這個時候請確保你想要抓的包會通過你選擇的網卡。一般做法是在電腦上插一塊無線網卡,然後讓你的設備連接該無線網卡

你會發現流過網卡的數據包非常多。這時候你需要用到最頂上的過濾選項。過濾語法不算復雜,但是一時半會也記不完,記住常用的即可。
(1)過濾源ip、目的ip。在wireshark的過濾規則框Filter中輸入過濾條件。如查找目的地址為192.168.101.8的包,ip.dst==192.168.101.8;查找源地址為ip.src==1.1.1.1;
(2)埠過濾。如過濾80埠,在Filter中輸入,tcp.port==80,這條規則是把源埠和目的埠為80的都過濾出來。使用tcp.dstport==80隻過濾目的埠為80的,tcp.srcport==80隻過濾源埠為80的包;
(3)協議過濾。直接在Filter框中直接輸入協議名即可,如過濾HTTP的協議;
(4)http模式過濾。如過濾get包,http.request.method==」GET」,過濾post包,http.request.method==」POST」;其他協議的數據包大都也是這樣。
(5)連接符and/or的使用。連接符and的使用。過濾兩種條件時,使用and連接,如過濾ip為192.168.101.8並且為http協議的,ip.src==192.168.101.8 and http。我想作為一個程序員or就不需要我舉例了吧。
2、提取數據
你已經找到你想要的包了
如果你想看到你POST的結果,一般來說都在你請求下面的一個HTTP/1.1 200 ok 的數據包。包結構跟POST去的差不多。如果伺服器響應緩慢,你只需要選中POST數據包右鍵點擊Follow TCP Stream,即可快速篩選本次同信的所有數據包。如果是JSON或文本的話拷貝可列印文字就可以咯。如果是二進制通訊,拷貝HEX即可。

3、查看JSON數據
可能大家習慣於用網頁上的在線解析。

『肆』 如何抓包和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:}

『伍』 有事請教下哈,windows2008伺服器操作系統,要抓取訪問他的流量包用什麼辦法

一般情況下,開啟伺服器日誌即可記錄所有訪問web伺服器的請求。
如果是記錄其它請求需要使用抓包工具來抓包,這種數據量是非常大的。

『陸』 如何使用tcpm進行網路抓包

默認系統里邊沒有安裝有tcpmp的,無法直接使用

這里我們可以使用yum來直接安裝它
yum install -y tcpmp

如果忘記了這個軟體的用法,我們可以使用 tcpmp --help 來查看一下使用方法

一般我們的伺服器里邊只有一個網卡,使用tcpmp可以直接抓取數據包,但是這樣查看太麻煩了,所以都會添加參數來進行獲取的。
例如我截取本機(192.168.31.147)和主機114.114.114.114之間的數據
tcpmp -n -i eth0 host 192.168.31.147 and 114.114.114.114

還有截取全部進入伺服器的數據可以使用以下的格式
tcpmp -n -i eth0 dst 192.168.31.147
或者伺服器有多個IP 可以使用參數
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157

我們抓取全部進入伺服器的TCP數據包使用以下的格式,大家可以參考下
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157 and tcp
從本機出去的數據包
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157 and port ! 22 and tcp
或者可以條件可以是or 和 and 配合使用即可篩選出更好的結果。

『柒』 如何抓取一個區域網的所以的網路流量數據包

1、使用網路嗅探工具,也就是俗稱sniffer的工具,這類工具有很多,有專業的sniffer pro,也有iris的抓包工具,還有許多簡單點的。這種是通過抓取低層數據包,並根據上層HTTP、FTP、MAIL等協議解碼,功能強弱跟軟體有關。

2、原理就是將我們的網卡設置為混雜模式。我們知道網卡在鏈路層通信時的地址是MAC,網卡根據目標的MAC地址來確認是不是發給自己的包。在混雜模式下,網卡會接收所有網路中的數據包,不管是不是發給自己的。這樣就可以得到網路中的所有數據了。
3、問題是在交換機環境下,交換機會首先分析MAC地址,然後只把數據包轉發到對應的埠去。這樣一來,除了廣播包和多播包,我們的網卡只能接收到發給自己的數據包了,混雜模式下也無效了。
4、為了解決3這種問題,就分別針對交換機的工作原理和鏈路層通信的原理提出了不同的解決辦法。比如通過發送大量的廣播包,造成廣播風暴,造成交換機沒有更多能力來處理上層數據的分析工作,迫使交換機工作在物理層,相當於成了一個HUB,就會在所有埠中轉發所有的數據包。另一種是中間人攻擊,即偽造通信雙方的MAC同時向雙方發信,使雙方都把我們誤以為是對方,從而將要發到對方的數據包發送給我們,我們在收到的同時再給過處理轉發給真正的接受方,這樣就得到數據了。如果能夠把自己偽裝成網關,所有的對外通信就都能拿到了。
5、在無線傳輸的情況下,電波總是在公共區域傳播的,所以必須要對數據進行加密才能保證安全,根據等級和需要可以使用不同的加密方式。這時候也有專門針對無線的sniffer工具,至於能不能解密破解,就需要一點運氣了。
6、這是低層的,還可以根據各層協議原理,有針對性的把自己偽裝成需要的角色,從而獲取到相關信息。比如可以偽裝成DNS、郵件伺服器等等。
7、道高一尺、魔高一丈,有漏洞就有解決辦法。比如對交換機進行專門的設置,在風暴時使用保守的丟包處理方式,或者綁定到IP地址,或者應用層的HTTPS、DNS擴展協議。總是在攻守當中向前發展。

『捌』 怎麼抓移動端的包

前言

Fiddler是什麼: Fiddler是一款非常流行並且實用的http抓包工具,它的原理是在本機開啟了一個http的代理伺服器,然後它會轉發所有的http請求和響應,因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此,它還可以支持請求重放等一些高級功能。顯然它是可以支持對手機應用進行http抓包的。特別是在內網環境下能極大的方便現場人員分析和排查問題,本文就來介紹下如何用fiddler對手機應用來抓包。

適用人員范圍: 實施同事(必會技能)、開發同事、測試同事

工具/原料

Fiddler抓包工具官方前往下載

Android、iOS 移動設備

方法/步驟

(1)啟動Fiddler,打開菜單欄中的Tools > Options,打開「Options」對話框。

(2)在Options」對話框切換到「Connections」選項卡,然後勾選「Allow romote computers to connect」後面的復選框,切記:Fiddler 默認監聽的埠:8888,然後點擊「OK」按鈕,關鍵:配置好之後,需要重啟Fiddler。

(3)下載一個獵豹免費WiFi並開啟自己的無線區域網(電腦自帶的也行)

(4)在本機命令行輸入:ipconfig,找到本機的ip地址,查看無線區域網的IP地址,比如:192.168.191.1,這是我的無線網地址。

(5)打開Android、iOS設備的「設置」->「WLAN」,找到你要連接的網路,在上面長按,然後選擇「修改網路」,彈出網路設置對話框,然後勾選「顯示高級選項」。

(6)在「代理」後面的輸入框選擇「手動」,在「代理伺服器主機名」後面的輸入框輸入電腦的無線ip地址,在「代理伺服器埠」後面的輸入框輸入8888,然後點擊「保存」按鈕。

(7)然後打開你項目的移動APP ,這里以移動辦公APP的公務郵件模塊為例,訪問首頁- 公務郵件模塊,在fiddler中可以看到郵件列表介面的請求數據和響應數據。

(8)怎麼樣,是不是很簡單,快來試試吧!

注意

經常遇到有同事說手機代理開啟之後(前提:配置完全沒有問題)手機連不上網,網頁都打不開,這是怎麼回事兒?

- 檢查電腦防火牆是否為關閉狀態

- 如果是iOS,代理配置完後要重新啟動一下Fiddler才行。
你好。形框屬於拱形門,中國人的陽宅風水是不贊成家居中的門或者窗是拱形,或者是有拱形的大件物品,之陽宅風水學中很忌諱拱形,其實在生活中,仔細想想拱形設計比較多的那就是墓碑了,這是很不吉利的。

『玖』 四大網路抓包神器,總有一款適合你~

無論是開發還是測試,在工作中經常會遇到需要抓包的時候。本篇文章 主要介紹如何在各個平台下,高效的抓包。

目前的抓包軟體總體可以分為兩類:

一種是設置代理抓取http包,比如Charles、mitmproxy這些軟體。

另一種是直接抓取經過網卡的所有協議包,其中最出名就是大名鼎鼎的wireshark以及linux自帶的抓包軟體tcpmp。

下面重點介紹一下這四個抓包工具的特點以及使用。

wireshark想必大多數程序員都不會陌生。wireshark在各個平台都可以安裝使用,它 可以抓取經過指定網卡的所有協議。 wireshark雖然很強大,但是對初學者其實不是很友好。

這也正是由於它太強大,它可以抓取所有包,所以初學者在使用時面對茫茫數據流不知所措。初學者需要認真的去學習怎麼過濾得到自己感興趣的包,但是如果不熟悉wireshark的過濾語法,要過濾數據包將舉步維艱。

過濾語法簡單介紹

wireshark的過濾語法總結起來其實也很簡單,就是 以協議開頭,後面可以跟著協議的屬性,然後加上一些判斷符號, 比如contains、==、>、<等等。比如只想展示http的協議內容,則直接在過濾器輸入框中輸入http即可。

如下圖:

比如我 只想看http協議的請求頭中uri包含』/api』的協議,就可以這么寫:

如果想通過目標ip或者來源ip來過濾包,就不可以以http協議為前綴了,因為這些是ip協議的相關屬性。 通過目標ip來過濾可以這么寫:

上面表示目標機器的ip是61.135.217.100並且協議是http的包。

wireshark支持很多種協議,我們可以通過右上角的expression來打開搜索支持的協議,還可以找出協議支持的屬性,然後填入期待的值,軟體會自動為我們構建過濾語句。

優點:

功能強大,可以抓取所有協議的包

抓到的包容易分析

缺點:

由於線上伺服器沒有GUI,只有命令行,因此無法在線上伺服器使用

無法分析https數據包,由於wireshark是在鏈路層獲取的數據包信息,所以獲取到的https包是加密後的數據,因此無法分析包內容。當然,我們可以對https數據包進行解密, 但是操作具有一定的復雜度,可能要消耗很多時間。

tcpmp是linux上自帶的一個抓包軟體(mac也有),功能強大,也可以抓取經過指定網卡的所有協議包。

由於是命令行工具,tcpmp抓取到的包不易於分析,一個常見的做法是將tcpmp抓到的包輸出到某個文件,然後將文件拷貝下來用wireshark分析。

一些簡單的過濾參數:

抓包內容輸出到文件:

之後我們可以把test.cap直接用wireshark打開,就可以很直觀的分析包了。

用tcpmp輸出cap文件包:

tcpmp-r test.cap

Charles是一款http抓包工具,它是通過代理來實現的抓包。也就是我們在訪問網頁時需要配置代理,將代理指向Charles監聽的埠,之後我們的http請求都會發向Charles的埠,之後Charles會幫我們轉發並記錄協議內容。

Charles的使用非常簡單,配置好代理後,Charles就開始抓包了。

我們可以直接通過Charles的GUi查看包的內容:

上圖中的unknown表示https加密後的數據,所以看到不協議的具體內容。我們可以通過安裝Charles的證書,讓Charles也可以查看https協議的具體內容。

優點 :

使用簡單,只需配置一下代理地址就可以

要抓取https協議的配置也很簡單,只要安裝下charles的證書就可以了

mitmproxy是python寫的一款http抓包工具,雖然只支持http抓包,但是它的特性非常強大,它不僅可以抓包,還可以對請求進行攔截、重現等操作。和Charles一樣,它的原理也是基於代理,使用的時候需要設置代理指向它。

mitmproxy是命令行工具,但是也自帶了mitmweb工具,可以讓用戶在網頁上操作。另外,mitmproxy還支持用戶自行編寫插件,可以編寫腳本對請求進行處理,然後把修改後的請求發出去。

1、安裝 

首先需要在機器安裝python3以及pip3.之後通過pip3安裝

pip3 install mitmproxy

如果安裝mitmproxy過程中報錯MoleNotFoundError: No mole named '_ssl',就需要安裝一下OpenSSL,然後再重新編譯安裝一下python3。

安裝好openSSL後再執行pip3 install mitmproxy

2、使用 

安裝後,直接在命令行輸入mitmproxy就會進入它的交互界面:

這時候mitmproxy已經開始監聽8080埠(默認),接著,我們可以去瀏覽器設置代理。瀏覽器設置代理的方式有很多,這里不多做介紹。

設置完代理後,訪問瀏覽器的請求都會被發到mitmproxy上,mitmproxy根據規則對請求進行攔截(不配置攔截規則的話則都不攔截),所有經過的請求都會被輸出:

在交互界面上可以通過快捷鍵操作請求。輸入問號』?』,可以查看快捷鍵的文檔。

3、下面介紹一些常用的快捷鍵和功能

① 請求過濾  

在請求列表交互界面,按下f鍵後,可以輸入一些過濾規則:

具體的過濾語法可以按下』?『鍵後,再按下方向鍵右』—>』或者l鍵。

② 請求攔截 

按下i鍵後,可以對指定的請求進行攔截。按mitmproxy收到指定條件的請求時,不會立馬把它轉發出去,而是等待我們執行resume操作後,才會把請求轉發出去——在這期間我們甚至可以對請求進行手動修改。

紅色字體表示該請求被攔截,之後我們可以按入a鍵來恢復該請求,可以輸入A鍵恢復所有被攔截的請求。

③ 查看/編輯請求 

把指示游標移動到某個請求上,按回車可以查看請求的內容。或者滑鼠直接點擊請求也可以。

之後通過左右方向鍵可以查看request、response、detail等信息。

如果要編輯請求,可以在這個界面輸入e,然後會讓我們選擇編輯哪塊內容:

之後就會進入vim編輯界面編輯相應的內容了(保存後會生效)。

④ 重發請求 

mitmproxy的游標指向某個請求時,按下r鍵可以重發這個請求(重發前可以對該請求進行編輯)。

按下』:』鍵後,可以輸入命令,這樣我們就可以通過過濾規則批量的重發請求

replay.client是mitmproxy內置的一個命令,我們也可以自行編寫命令。命令的編寫可以參考官網文檔,這里不做介紹。

⑤ 插件開發 

我們可以編寫插件,然後再啟動的時候指定插件,mitmproxy處理請求的時候會執行一個插件的鏈,這樣我們就可以對請求進行編輯然後再發送出去了。

借用官網的插件demo:

這個方法對每一個請求進行處理,然後列印序號。通過mitmproxy -s test.py來讓插件生效。通過插件可以綁定各種連接事件。感興趣的朋友可以自行去mitmproxy官網看文檔,這里不多做介紹。

⑥ 保存抓到的請求數據 

通過w快捷鍵我們可以把這次抓到的請求包保存到文件上。

通過mitmproxy -r file可以讀取以前抓取的請求信息進行分析。

優點:

命令行操作,可以在無GUI界面的伺服器上使用

對於這幾個抓包神器,我總結了下使用場景:

只抓http協議的話:

推薦使用mitmproxy。mitmproxy豐富的功能不僅可以滿足我們的抓包需求,還可以提升我們的工作效率。比如測試可以抓包後一鍵重發請求來重現bug,開發調試的時候可以修改請求內容等等。

如果是在線上的沒有GUI的伺服器:

推薦使用tcpmp,雖然mitmproxy也可以支持命令行抓包,但是生產環境的伺服器最好不要亂安裝第三方插件。另外,大多數伺服器都有裝tcpmp。我們可以通過把請求的內容輸出到文件,然後拷貝會自己的電腦用wireshark分析。

想要抓取http以外的協議的話:

直接上wireshark。功能強大。對於Charles,感覺用了mitmproxy之後,就基本用不上Charles了。Charles好像也可以編輯後再發送,但是感覺不是很好用,可能我用的不是很熟吧。

『拾』 如何通過wireshark抓取某個指定網站的數據包

運行wireshark軟體,選擇無線網路連接,點擊start,進入捕包界面,在filter(過濾器)的方框中,輸入http。 點擊右側的apply(應用),就能捕獲指定的網站數據包。

閱讀全文

與如何抓取伺服器的包相關的資料

熱點內容
冷撲大師演算法 瀏覽:373
重復數據比對演算法 瀏覽:740
golang調用python 瀏覽:171
hsc伺服器做raid0怎麼做 瀏覽:231
android50源代碼 瀏覽:127
程序員需要本科學位證書嗎 瀏覽:775
手機版wps許多文檔如何放到文件夾 瀏覽:687
安卓手機怎麼退出帳戶 瀏覽:767
夜神安卓模擬器怎麼刪 瀏覽:561
運行命令無法打開共享 瀏覽:524
安卓怎麼與單片機交互 瀏覽:736
linux下tcpdump 瀏覽:919
華為榮耀手機隱藏文件夾方法 瀏覽:535
python怎麼做簡單線性回歸模型 瀏覽:252
安卓系統電視是什麼 瀏覽:343
全款買了房開發商遲遲不解壓 瀏覽:812
linux退出oracle 瀏覽:652
不能截圖的app怎麼截長圖 瀏覽:307
pythonwindows窗口程序 瀏覽:621
怎麼把app投送到ipad 瀏覽:833