socket抓包_64、抓包分析tcp与udp
生活随笔
收集整理的這篇文章主要介紹了
socket抓包_64、抓包分析tcp与udp
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從前面的兩個案例,我們了解到了如何通過原生socket函數分別創建tcp和udp服務,以及通過相應的客戶端進行連接測試。在本文中,我們將繼續深入地去了解tcp和udp的差別,和思考它們兩者如何應該多個客戶端請求
1、抓包分析
這里采用tcpdump抓包工具,來分析通信中,數據包的流向。
2、分析tcp
2.1、執行之前tcp服務的案例代碼
- 啟動tcp服務
- 通過tcpdump,監控tcp服務的端口1234
- 執行tcp客戶端代碼腳本
2.2、執行結果
2.3、tcpdump抓包結果
2.4、分析抓包結果
符號>代表數據流向。如 a>b,表示a向b發送數據
- 序號1-4,這四個數據包,是建立socket連接的三次握手
- 序號5-6,這兩個數據包,是客戶端往tcp服務端發送數據"hello world"
- 序號7-8,這兩個數據包,是tcp服務端往客戶端發送數據"hello world"
- 序號9-12,這四個數據包,是釋放socket連接的四次握手
2.5、tcp如何保證可靠性
前面的文章提到,tcp是提供端到端的,可靠性的傳輸層協議。這上面的抓包截圖中,我們可以看到,通信雙方通過多發一個"確認"數據包,來保證數據接收的可靠性.
3、分析udp
3.1、執行之前udp服務的案例代碼
- 啟動udp服務
- 通過tcpdump,監控udp服務的端口1235
- 執行udp客戶端代碼腳本
3.2、執行結果
3.3、tcpdump抓包結果
3.4、分析抓包結果
- 序號1是客戶端往udp服務端發送數據"Ping !"
- 序號2是udp服務端往客戶端發送數據"iamasb"
4、總結
4.1、開啟服務
tcp和udp都是需要服務提供者,先綁定本地ip:port
4.2、傳輸可靠性
tcp要優于udp.這是通信雙方在傳輸真正的數據之前,需要在錯綜復雜的網絡環境中,建立起一條虛擬的"可靠"連接。其次,在發送數據環節,發送者需要收到接收者的"確認"數據包后,才能繼續發送,否則會進行重發
4.3、傳輸效率
udp要優于tcp.這是udp在傳輸過程中,不需要維護連接.直接發送
總結
以上是生活随笔為你收集整理的socket抓包_64、抓包分析tcp与udp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 找对象年龄差多大最好_女生找对象到底最看
- 下一篇: Java常用设计模式————工厂模式