当前位置: 首页 > news >正文

day35-系统编程之网络编程IV及MQTT协议

一、wireshark

 数据发出,有封包过程;数据接收时,有拆包的过程

 专业术语:

1.MTU:(以太网限制,帧分包是按1500[即1.5K]发送)指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。

 注意:除MAC头,剩下的东西称为IP数据报

  • ip_top                                                                                                                                        ​​​​​​​  total length指不包含IP头的长度      IP Flags(IP标志位)                                                TTL(生存时间)默认时间为64,每执行一次默认减一,直到为0   

  • udp_top

wireshark安装及使用:

sudo apt-get install wireshark//安装

sudo wireshark//启动wireshark


其中:Loopback自收自发        ens33与外部收发        any不知道选哪个选这个

从左向右依次为开始抓包、停止抓包、重新开始抓包、抓包选项(用于更换网卡)

三次握手四次挥手展现:


步骤:

1.选择网络设备

2.设置条件

点击

写入自己端口号,按回车:

变灰,设置成功

3.开始抓包


ip.addr == 192.0.2.1 && tcp.port == 50000

sudo tcpdump -n -i eth0 -xx src or dst www.taobao.com -AXX -vv|less 

                       -n 抓网址         -i 抓网卡        -AXX字符或字符串

tcpdump  ==》命令行 ===>www.tcpdump.com

二、MQTT协议

2.1 概述

        MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

2.2  设计原则

由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:

(1)精简,不添加可有可无的功能;

(2)发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;

(3)允许用户动态创建主题,零运维成本;

(4)把传输量降到最低以提高传输效率;

(5)把低带宽、高延迟、不稳定的网络等因素考虑在内;

(6)支持连续的会话控制;

(7)理解客户端计算能力可能很低;

(8)提供服务质量管理;

(9)假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、可变头(Variable header)、消息体(payload)三部分构成。MQTT数据包结构如下:

 

心跳包:在长时间未接收需求,发送检查链路是否连通(客户端发送)

http://www.lqws.cn/news/189649.html

相关文章:

  • docker数据管理
  • hot100 -- 8.二叉树系列
  • 父组件prop传向子组件的值,被子组件直接v-model绑定 功能不生效
  • JavaWeb笔记
  • 每日八股文6.6
  • kafka消息积压排查
  • 深入理解指针(二)
  • 我爱学算法之—— 前缀和(中)
  • echarts树状图与vue3
  • 【机械视觉】Halcon—【十一、车牌检测和筛子检测】
  • Oracle 用户名大小写控制
  • CSS6404L 在物联网设备中的应用优势:低功耗高可靠的存储革新与竞品对比
  • PyQt6 GUI应用程序开发实操指南
  • 2025最新VMware17如何通过官网进行下载
  • 中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点
  • 车辆测试数据采集解决方案:同步支持总线协议、模拟传感与远程监控的关键技术
  • 理解JavaScript中map和parseInt的陷阱:一个常见的面试题解析
  • Excel 表格内批量添加前缀与后缀的实用方法
  • 区块链可投会议CCF A--SP 2026 截止11.13 附录用率
  • 在MyBatis中设计SQL返回布尔值(Boolean)有几种常见方法
  • Python数学可视化:3D参数曲面与隐式曲面绘制技术
  • Skia如何绘制几何图形
  • Linux驱动学习day2
  • vm+ubuntu24.04扩展磁盘
  • Ubuntu创建修改 Swap 文件分区的步骤——解决嵌入式开发板编译ROS2程序卡死问题
  • 使用 Docker Compose 部署 Jenkins(LTS 版)持续集成环境
  • JAVA-什么是JDK?
  • TP6 实现一个字段对数组中的多个值进行LIKE模糊查询(OR逻辑)
  • HTTP协议
  • 影楼精修-AI衣服祛褶皱算法解析