引子

因在学习iOS编程之bonjour编程的过程中,对bonjour产生了一些些的好奇,因此就查阅了各种资料以及自己抓包分析该协议。
注:文章作为个人学习记录,不一定准确,如有错误请多多指教,共同进步!

什么是Bonjour

关于Bonjour的简介可以参考文章Bonjour 简介及使用,这里讲得很清楚。
作用:在缺少中心服务器的情况下解决IP获取、名称解析、服务发现这三个问题。

抓包简单验证

这里我是使用了[Cocoa]深入浅出Cocoa之Bonjour网络编程 文章中所提供的程序,把“启动程序-->创建一个房间”( 即可仅仅是发布聊天的服务)
这个过程用tcpdump抓下来,再用wireshark来分析(相对本人来说wireshark用的比较多,其他工具也可以,甚至直接在tcpdump命令下分析也可以)。
从抓取的数据包来看,可以得一些基本信息:.Bonjour是基于“MDNS(Mutilcast DNS)”协议的。(224.0.0.251为组播地址)
看红色框部分(以下都是个人猜测判断并不一定准确)
1.这里表明了服务端组播了它的设备名称信息即_chatty._tcp.local    
1)名称的格式为:_名称._传输协议._本地根域名 ,
2)PTR是 pointer 的简写。“PTR”就是反向DNS ,该标记,用于表明可讲一个IP地址映射到对应的主机名,即192.168.1.100 映射到 _chatty._tcp.local 该域名
2.这里表明服务端组播了它所能提供的服务是(注册了什么服务):server_create_room's chat room._chatty._tcp.local
如,点开其中一个数据报,查看Queries部分:
3.这里,个人觉得是对第2部分的一中响应,点开其中一个数据报,查看其answer部分如图:
1) 这里指明了server_create_room's chat room._chatty._tcp.local 这个服务的一些其他信息,如端口!众所周知,ip+port 能唯一确定一台机器上的一个服务!

小结

bonjour的简单运作过程是:注册并组播自己的设备名称---注册并组播自己的所能提供的服务的名称--组播自己所提供服务名称对应的详细信息
注:需要分析bonjour协议可以结合DNS协议以及MDNS协议来分析,还有就是可以对程序进行单步调试并进行抓包分析!

再次声明:该文章所分析道的结论不一定正确,只是个人观点!如有错误,请多多指教,共同进步!

iOS 之 Bonjour 协议简单抓包分析相关推荐

  1. 实战录 | 基于openflow协议的抓包分析

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...

  2. 互联网协议IP抓包分析 -- wireshark

    互联网协议IP抓包分析 – wireshark 互联网协议IP是Internet Protocol的缩写,中文缩写是网协 互联网协议也就是为计算机相互连接进行通信而设计的协议. IP地址协议报文首部 ...

  3. ICMP协议及其抓包分析

    ICMP协议及其抓包分析 Internet消息控制协议(ICMP)指定了多种消息类型,其目的就是管理网络. ICMP的消息分为错误信息.请求信息和响应消息. 一般ICMP数据包格式 ICMP数据包类型 ...

  4. DHCP和PPPoE协议以及抓包分析

    目录 一.DHCP协议学习 1.1 定义 1.1.1 使用DHCP的优点 1.2 DHCP客户端 1.3 DHCP服务器 1.4 端口 1.5 DHCP中继 1.6 报文格式及其类型 1.7 DHCP ...

  5. 抓包红色_抓包三部曲 WebSocket 协议原理抓包分析

    这篇文章通过抓包分析 WebSocket 协议的细节,学习一下 WebSocket 执行流程. 1.WebSocket 流程说明 (1)客户端和服务器之间完成三次握手建立 TCP 连接(TLS/SSL ...

  6. 接口协议之抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的.可靠的.基于字节流的传输层通信协议. 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddl ...

  7. tcpdump抓包ftp协议_tcpdump抓包分析详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  8. 一款联盟辅助盒子暗刷流量的简单抓包分析

    之前有人说有个联盟盒子好像带毒,然后就下载下来看了一下 下载下来运行 用监控软件查看,释放了一些可疑文件,就已经感觉这玩意不是好东西了 单独看下这个程序,在一直联网下载东西 打开wireshark看下 ...

  9. java实现FTP协议:wireshark抓包解析

    本节我们看看ftp协议的数据包格式,同时使用代码加以实现.首先我们现在机器上安装ftp服务器,我在自己的机器上安装了QuickFTP Server,它是我随便找来的一款Mac ftp服务器,如下图所示 ...

最新文章

  1. 移动数据分析服务使用教程
  2. java常见集合及其用途
  3. Oracle PL/SQL匿名块
  4. centos7 防火墙_Linux系统安全Centos 7的Firewalld防火墙基础
  5. 网狐棋牌(二) CQueueServiceEvent初步分析
  6. python提高运行效率_提高 Python 运行效率的六个窍门
  7. Python模块(8)-sklearn 简易使用教程
  8. 非root用户组启动sftp_如何在 Debian 10 中配置 Chroot 环境的 SFTP 服务 | Linux 中国
  9. Android Camera 摄像 demo
  10. oracle pl sql case,oracle plsql case when_end case小记
  11. python数组切片赋值_基于numpy中数组元素的切片复制方法
  12. 提供一个文档下载接口,用httpclient下载文件
  13. linux下hadoop 环境搭建
  14. Linux开机自动挂载Windows分区的两种方法
  15. [ Linux驱动炼成记 ] 12 -音频驱动TAS5754添加EQ参数
  16. iOS申请证书,Certificates, Identifiers Profiles 简介
  17. 基于VisualStudio历时20年打造的史诗级游戏
  18. 计算机网络之无线局域网
  19. 网页背景图片拉伸效果
  20. 发现一个叫阿尔法城的小站(以后此贴为我记录日常常用网址的帖子了)

热门文章

  1. 会计人员不得不看的备忘录
  2. 食药监移动执法指挥系统
  3. 【EM+GMM】基于EM和GMM算法的目标轨迹跟踪和异常行为识别matlab仿真
  4. 在数据库中修改计价方式
  5. 基于NVIDIA Xavier NX(ubuntu20.04)的Optitrack视觉定位 PX4+ros noetic(实物运行记录)
  6. am最新版安装包_am下载_am大全_手游排行榜_网游/单机游戏_九游
  7. 压缩感知重构算法之迭代硬阈值(IHT)
  8. thinkphp6 接口响应数据格式 commom.php
  9. 程序员的数学课16 二分法:如何利用指数爆炸优化程序?
  10. (Still in process) MultiBin Reproduction Using Transfer Learning(使用迁移学习复现MultiBin)