socket抓包工具_64、抓包分析tcp与udp

从前面的两个案例,我们了解到了如何通过原生socket函数分别创建tcp和udp服务,以及通过相应的客户端进行连接测试。在本文中,我们将继续深入地去了解tcp和udp的差别,和思考它们两者如何应该多个客户端请求

1、抓包分析

这里采用tcpdump抓包工具,来分析通信中,数据包的流向。

2、分析tcp

2.1、执行之前tcp服务的案例代码

  • 启动tcp服务
  • 通过tcpdump,监控tcp服务的端口1234
558ca7ff2163036a7967919c38cf26a3.png
  • 执行tcp客户端代码脚本

2.2、执行结果

b96fcb9ab74e64ccc209719fd235ff2b.png

2.3、tcpdump抓包结果

908bafda4f3b18fd55d65c8f85c7ee9e.png

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
84dc41c06d6dc876b880be90d8fde4c5.png
  • 执行udp客户端代码脚本

3.2、执行结果

cd6d5ac172604cbef30293d447891e04.png

3.3、tcpdump抓包结果

73f49268e41594fef4477911c0dc7cd8.png

3.4、分析抓包结果

  • 序号1是客户端往udp服务端发送数据"Ping !"
  • 序号2是udp服务端往客户端发送数据"iamasb"

4、总结

4.1、开启服务

tcp和udp都是需要服务提供者,先绑定本地ip:port

4.2、传输可靠性

tcp要优于udp.这是通信双方在传输真正的数据之前,需要在错综复杂的网络环境中,建立起一条虚拟的"可靠"连接。其次,在发送数据环节,发送者需要收到接收者的"确认"数据包后,才能继续发送,否则会进行重发

4.3、传输效率

udp要优于tcp.这是udp在传输过程中,不需要维护连接.直接发送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值