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