[技术讨论] 用Wireshark抓包无线网络数据,抓到好多东西,还蛮好玩的
之前使用Wireshark软件基本都是用来抓包以太网有线网络数据进行分析最近有些好奇抓包无线网络数据于是就用Wireshark软件尝试抓包了无线网络数据想不到也抓到了好多东西虽然抓到的很多协议不怎么熟悉甚至之前没见过但是除了能够学习和了解一下其实真的还蛮好玩的呢这不抽时间写了一下抓包过程和对一些抓到的数据包的简单理解和解读。当然首先我们要配置好无线网络数据的抓包环境将电脑连上无线wifi然后去设置里面就可以看到无线网卡的具体名称或者直接到设备管理器里面找到带wifi字样的网络适配器也可以看到无线网卡的名称再打开Wireshark在“捕获选项”里面选择对应的接口后点击“开始”然后就可以看到很多很多的无线网络数据包了比如我的电脑的无线局域网适配器的IPv4地址的网段是172.19.64在抓到的无线网络数据包里面肯定会有很多源端或者目的端的ip地址的网段是172.19.64我们可以用设置过滤条件的方式来看一下就知道了比如我只看与172.19.64.113这个ip地址相关的数据包在过滤条件里面设置为ip.addr 172.19.64.113后按回车键即可只显示与172.19.64.113这个设备相关的无线网络数据包了或者随便输入一个ip字段为172.19.64的ip地址比如172.19.64.57看下有木有数据包这种设置过滤条件的方式是非常有用的特别是在抓包数据特别多的时候非常有利于进行问题分析。接着我们一起来看下抓到了哪些东西启动抓包后过5秒左右停止抓包在我这边的无线网络环境下大概抓到了197条报文报文内容从左到右依次是No.编号Time时间Source源端地址Destination目的端地址Protocol协议类型Length数据包长度info数据包信息内容这些网络数据包涉及到的网络协议主要包括SSDPNBNSMDNSUDPTCPHTTPICMPv6LLMNRDTLS当然不同的无线网络环境下数据包内容和涉及的网络协议都是不一样的因此要具体问题具体分析。接下来我们以协议为准来解读一下数据包一起学习和了解一下网络协议说不定哪天你就用上某个协议了。SSDPSimple Service Discovery Protocol简单服务发现协议是一种应用层协议是构成通用即插即用技术的核心协议之一该协议提供了在局部网络里面发现设备的机制。按照协议的规定当一个控制点客户端接入网络的时候它可以向一个特定的多播地址的SSDP端口使用M-SEARCH方法发送“ssdp:discover”消息类似的当一个设备接入网络的时候它应当向一个特定的多播地址的SSDP端口使用NOTIFY方法发送“ssdp:alive”消息如下数据包所示NBNSNetBIOS Name Service网络基本输入/输出系统名称服务器协议是TCP/IP上的NetBIOS 协议族的一部分在基于NetBIOS名称访问的网络上提供主机名和地址映射方法是NetBIOS的子协议主要负责将NetBIOS名称解析为IP地址从而实现设备间的通信。我们也来看下抓到的NBNS数据包为了方便查看我们在过滤条件里直接输入协议名称注意要用小写nbns这样就只看NBNS相关的数据包报文信息info显示的开头内容其实是协议指定的Opcode命令操作码这一点要清楚这也是使用Wireshark分析一些网络协议数据包的技巧之一比如Name query表示名称查询Registration表示注册抓到的数据包里大部分都是类似Name query NB一个类似计算机网络名称的报文计算机网络名称就像下面这样的即称为计算机名随便找一条报文比如编号30打开然后简单解析看下就知道了其中NamequeryNB是请求包NamequeryresponseNB是响应包但抓到的数据包里貌似没有这个有点奇怪还没有仔细研究原因然后双方的端口号均为固定的137。另外还有几个注册Registration的数据包NBNS的注册是NetBIOS over TCP/IPNetBT协议中的一个核心过程用于将NetBIOS名称与其对应的IP地址关联并存储在NBNS服务器中以便局域网内的其他设备可以通过名称进行通信说到底其实就是有了NBNS协议就可以使设备能够通过计算机名HZL000044而非IP地址进行通信。MDNSMulticast Domain Name System多播域名系统协议其实是一个零配置网络协议主要目的是在让设备在没有传统DNS服务器的小型局域网内通过主机名能自动发现彼此并相互通信也就是MDNS协议可以将主机名解析为不包含本地名称服务器的小型网络中的IP地址。我们也来看下MDNS的数据包确实有不少这样的数据包主要包括两种即Standard query和Standard query response我们再来通俗一点理解MDNS吧比如在一个比较典型的局域网中IP地址通常由DHCP动态主机分配协议服务器动态分配这意味着当局域网内有很多网络设备时你其实很难知道它当前的IP地址是多少而MDNS的出现就是为了解决这个痛点即它允许你通过一个固定的、易记的本地主机名每个网络设备一般都有一个名称来访问这些设备而不需要关心其IP地址如何变化。MDNS就是为了解决上面这个问题这样好理解了吧。UDPUser Datagram Protocol用户数据报协议是TCP/IP协议栈中的一种面向无连接的传输层协议由于其通信速度快网络开销较少是应用非常多的一种网络协议。我们看下抓到的里面有没有UDP相关的你发现没有搜索UDP的时候SSDPNBNS和MDNS都会显示出来这是为什么呢虽然它们本身不是UDP协议但都是一种基于UDP协议运行的网络服务协议都需要依赖UDP协议进行数据传输随便打开一个里面也能看到指示所以协议的报文内容里面会有UDP相关的信息。因此如果你是从事网络方面的开发有空的时候多看看各种协议的数据包信息其学习效果比单独看资料好很多印象会很深刻。而关于UDP协议的数据帧格式和详细解释可以看我之前发的一篇文章帖子名称和链接如下【每周分享】UDP协议的报文到底长啥样不要急Wireshark抓包告诉你https://bbs.21ic.com/icview-3473686-1-1.htmlTCPTransmission Control Protocol传输控制协议是TCP/IP协议栈中的一种面向连接的、可靠的、基于字节流的传输层通信协议由于其面向三次握手连接传输可靠和全双工通信等特性也是应用非常多的一种网络协议。我们看下抓到的里面有没有TCP相关的除了与TCP相关的数据包以外还有与HTTP协议相关的但是要清楚一点HTTP不属于TCP协议它是应用层协议TCP是传输层协议可以学习一下OSI网络七层协议只是HTTP通常基于TCP实现即在TCP连接之上进行数据传输而关于TCP协议的数据帧格式和详细解释也可以看我之前发的一篇文章帖子名称和链接如下【每周分享】TCP协议的报文到底长啥样不要急Wireshark抓包告诉你https://bbs.21ic.com/icview-3473620-1-1.htmlHTTPHyperText Transfer Protocol超文本传输协议是互联网上应用最为广泛的一种请求-响应的应用层网络协议它定义了客户端如浏览器和服务器之间如何通信以请求和传输超文本如HTML网页、图片、视频等一般运行在TCP之上。我们也可以看下HTTP的数据包之所以说HTTP是一种请求-响应形式的协议主要是基于客户端和服务器端之间的通信形式一方请求另一方响应应答我按如下标注一下就比较清楚了其中的POST是HTTP请求方式方法里面的一种比较常用的请求方法包括GET请求指定资源如网页、图片参数通过 URL 传递仅用于获取数据POST向服务器提交数据如表单、文件可能创建或修改资源数据在请求体中传输PUT上传完整资源内容以覆盖或创建新资源DELETE删除指定资源HEAD仅获取响应头信息如资源类型、大小不返回正文。比如当你在网页中输入www.baidu.com再按回车后你抓包看下肯定就可以抓到指定的请求方法会自动出来一个https的前缀其实这个https就是加密形式的HTTP协议因为HTTP协议是明文传输的存在不安全性因此就有了密文传输的HTTPS协议。从事嵌入式软件开发的涉及HTTP协议和HTTPS协议的应该很少吧。剩余的几种协议就只给大家展示一下协议的基本信息我对它们也比较陌生就不展开详述了ICMPv6Internet Control Message Protocol version 6互联网控制信息协议版本6其实是专门为IPv6配套开发的它是IPv6的基础协议之一所有IPv6实现都必须完全支持它LLMNRLink Local Multicast Name Resolution链路本地多播名称解析协议是一个集成在Windows等操作系统中、用于在局域网内解析主机名的辅助协议当常规的DNS域名系统解析失败时它便会发挥作用DTLSDatagram Transport Layer Security数据报传输层安全性协议可以理解为TLS协议在UDP协议上的“孪生兄弟”它的核心目标是为不可靠的UDP通信提供与TLS等同的安全保障包括数据加密、完整性校验和身份验证。由于UDP本身不保证数据包的可靠到达、按序交付且容易遭受DoS攻击因此DTLS在继承TLS核心安全机制的同时也进行了一系列有针对性的改造确实时不时通过Wireshark抓点包来研究和学习一下可能在实际项目上用不上但说不定哪天就有用武之地了其实真的蛮好玩的~~欢迎志同道合的坛友一起来学习和讨论~~---------------------作者dffzh链接https://bbs.21ic.com/icview-3507321-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。