可以說對(duì)tcp數(shù)據(jù)包的分析,是進(jìn)行網(wǎng)絡(luò)編程的基礎(chǔ)。通過tcp數(shù)據(jù)包的分析,可以有效的解決網(wǎng)絡(luò)編程中的好多問題。
利用已有設(shè)備,我們部署了如下的網(wǎng)絡(luò)拓?fù)鋱D,進(jìn)行功能測(cè)試。選擇抓取server:10.88.65.206與client:10.88.65.128之間的通信數(shù)據(jù)。
下面開始介紹抓包分析流程:
首先介紹一下測(cè)試環(huán)境,server端,ip地址為:10.88.65.206,操作系統(tǒng)為:centos6.6。client端,ip地址為:10.88.65.128,操作系統(tǒng)為:centos6.6。抓包工具:tcpdump,centos桌面操作系統(tǒng)自帶。tcp協(xié)議分析工具:wireshark。
客戶端和服務(wù)端之間為長(zhǎng)連接,為獲取這對(duì)設(shè)備之間的通信數(shù)據(jù)。通過reboot命令重啟client端設(shè)備,讓客戶端重新連接服務(wù)端并發(fā)送數(shù)據(jù)。在重啟客戶端之前在server端,執(zhí)行抓包命令:
tcpdumptcp-ieth0port3366-s0-wtest.cap注意:簡(jiǎn)單說明下這個(gè)命令,在服務(wù)端eth0網(wǎng)口的3366端口抓取tcp的完整數(shù)據(jù)包,并將數(shù)據(jù)寫入test.cap文件。client端和server端會(huì)有業(yè)務(wù)數(shù)據(jù)的發(fā)送,至于是什么業(yè)務(wù)數(shù)據(jù),這取決于你的實(shí)際業(yè)務(wù)。
待客戶端啟動(dòng)成功并與服務(wù)端的業(yè)務(wù)數(shù)據(jù)收發(fā)恢復(fù)正常后,停止抓包。從服務(wù)端機(jī)器下載test.cap抓包文件進(jìn)行分析(可以使用winscp、xftp等工具進(jìn)行下載)。
如果你的電腦上面已經(jīng)安裝wireshark,無需重復(fù)安裝,假設(shè)你的電腦上面沒有安裝wireshark,你需要安裝一下。安裝完成后,可以直接雙擊打開test.cap文件。打開后結(jié)果如下所示:
與服務(wù)端通信的不止一臺(tái)設(shè)備,為了快速查看這對(duì)設(shè)備之間的數(shù)據(jù)包,可以添加一下過濾條件。
經(jīng)過過濾,我們可以看到剩下的數(shù)據(jù)全是這兩臺(tái)設(shè)備之間的數(shù)據(jù)。這樣更有利于我們進(jìn)行數(shù)據(jù)分析。
我們可逐條查看發(fā)送數(shù)據(jù),直到找到我們需要檢查的數(shù)據(jù)。找到檢查的數(shù)據(jù)后,我們可以點(diǎn)擊data,查看數(shù)據(jù)是否正確。如圖中的灰色部分,是我們測(cè)試中發(fā)送的業(yè)務(wù)數(shù)據(jù)。這里面的數(shù)據(jù)全是16進(jìn)制字符串,你可以將你的業(yè)務(wù)數(shù)據(jù)也轉(zhuǎn)為16進(jìn)制字符串來與此數(shù)據(jù)比對(duì)其正確性。
得到上面的16進(jìn)制數(shù)據(jù)后,我們可以逐項(xiàng)的檢查數(shù)據(jù)的正確性。如果你是自定義協(xié)議,就可以將自定義協(xié)議,與實(shí)際發(fā)送數(shù)據(jù)進(jìn)行逐一比對(duì)。
網(wǎng)站建設(shè)公司在新網(wǎng)站上線時(shí)應(yīng)該告訴你做什么?天津SEO優(yōu)化應(yīng)參考哪些要素?企業(yè)網(wǎng)站建設(shè)新理念新技術(shù)seo優(yōu)化網(wǎng)站單頁面的技巧介紹香港服務(wù)器和美國(guó)服務(wù)器的區(qū)別百度蜘蛛抓取規(guī)則企業(yè)微信運(yùn)營(yíng)之提高轉(zhuǎn)換率的微信營(yíng)銷技巧