当前位置: 首页 > 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数据包结构如下:

 

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

相关文章:

  • 相机Camera日志分析之二十七:高通相机Camx 基于预览1帧的process_capture_result二级日志分析详解
  • AI系统提示词:V0
  • PDF转Markdown/JSON软件MinerU最新1.3.12版整合包下载
  • Chrome安装代理插件ZeroOmega(保姆级别)
  • [大A量化专栏] VMware (mac本地跑QMT)
  • Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
  • 详细介绍uni-app中Composition API和Options API的使用方法
  • 第8篇:数据库中间件的分布式事务解决方案与实践
  • 【芯片设计- RTL 数字逻辑设计入门 4.2 -- 组合逻辑赋值 + 时序逻辑状态保持】
  • Python基础语法全解:从入门到精通的简明指南
  • [Python学习日记-90] 并发编程之多线程 —— 线程理论
  • B站画质补完计划(4):SDR2HDR 让观感如临其境 Part.1
  • IBM官网新闻爬虫代码示例
  • vscode vue debug
  • 机器人编程界面
  • 动态规划 熟悉30题 ---上
  • MyBatis 核心标签使用场景及用法详解
  • <2>-MySQL库的操作
  • 【网络安全】Qt免杀样本分析
  • 国产PC系统
  • 有没有做租赁的网站/厦门网络关键词排名
  • 济南哪里有做网站的公司/网络平台建设及运营方案
  • 企业网站服务费怎么做记账凭证/今日头条新闻
  • 专业微信网站建设多少钱/长春百度seo排名
  • 深圳网站开发ucreator/南宁百度关键词推广
  • 画册欣赏网站/徐州seo外包