Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

这篇具有很好参考价值的文章主要介绍了Wireshark抓包分析微信功能----tcp/ip选修课期末大作业。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库

适合Wireshark入门的小伙伴们或者赶计算机网络期末大作业无从下手的uu们。

铁汁们,请放心食用!加油吧,期末人!开卷,绝不开摆!

目录

一、设计和实现对流行手机网络应用的业务分析

二、网络认证、业务、传输过程分析与问题排除

1、题目要求

2、实验环境

3.实验报告

3.1虚拟AP配置过程

3.2 wireshark的MAC过滤器设计

3.3微信登陆过程解析

3.4 微信朋友圈的解析

3.5 微信浏览网页的解析

3.6 微信附近的人的解析

3.7微信聊天过程分析

3.8微信公众号(课堂派)解析

4.   主要步骤流程图

5.   实验总结

5.1关键技术总结

5.2问题总结

5.3解决问题的方法


一、设计和实现对流行手机网络应用的业务分析

  1. 在Windows10系统下利用cmd建立虚拟AP;
  2. 利用Wireshark软件对接入虚拟AP的特定终端进行截包;
  3. 分析手机应用微信的登陆、附近的人、公众号、聊天、浏览网页、朋友圈等过程,并对其进行分析;

二、网络认证、业务、传输过程分析与问题排除

1、题目要求

在有线网络环境下(以太网),采用hainanu客户端PPoE拨号方式上网。在电脑上配置好虚拟AP,手机接入该局域网后使用了“微信”的网络应用。发现电脑通过ARP全网广播获得手机MAC地址之后,手机进行DNS查询,得到服务器IP地址后, 建立连接。分析了微信不同的网络服务的实现。

2、实验环境

操作系统:Windows10(电脑) HarmonyOS(手机);

应用软件:微信(HarmonyOS) wireshark(version:3.4.6)hainanu客户端;windows7自带cmd(或用win10自带的虚拟AP:系统自带的移动热点Wireshark抓包分析微信功能----tcp/ip选修课期末大作业 );

网络环境:通过PPoE拨号客户端直接登陆校外网(教育网),移动终端通过电脑建立的虚拟AP接入外网;

网络平均延时1ms(在cmd中输入指令“ping www.163.com”得到);

                移动终端的mac地址:B2:90:7E:E8:D7:28;

                移动终端分配的ip地址:192.168.137.188;

电脑的mac地址:04-0E-3C-9D-FE-45;

电脑的ip地址:192.168.1.100(首选);

使用设备:LAPTOP-1KECNL1N,huawei Nova5 pro;

3.实验报告

3.1虚拟AP配置过程

   1)以管理员身份运行命令提示符

   2)启用并设定虚拟WiFi网卡

  • mode设定为allow以启用虚拟WiFi网卡
  • 将无线网名称ssid设置为:VituralAP
  • 将无线网密码设置为:123456789
  • 综上,运行命令:netsh wlan set hostednetwork mode=allow ssid=VituralAP key=123456789
  • 运行截图:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

     3)设置Internet连接共享

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

    4)开启无线网络

在命令提示符中运行:netsh wlan start hostednetwork

注:此处若出现问题见5.2(1)

   5)查看虚拟AP

在命令提示符中运行:netsh wlan show hostednetwork

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

3.2 wiresharkMAC过滤器设计

wireshark的过滤器应用于WinPacp,并使用Berkeley Packet FilterBPF)语法。这个语法被广泛用于多种数据包嗅探软件,主要是因为大部分数据包嗅探软件都依赖于使用BPFlibpcap/WinPacp库。

首先设定捕获过滤器,设定只捕获VirtualAP中的数据包:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

然后设置显示过滤器:

显示过滤器根据指定的表达式用于在一个已捕获的数据包集合中,隐藏不想显示的数据包,或者只显示那些需要的数据包。显示过滤器应用于捕获时或者捕获后,告诉Wireshark只显示那些符合过滤条件的数据包。

故将wireshark的过滤器中输入BPF原语:

eth.dst ==B2:90:7E:E8:D7:28||eth.src == B2:90:7E:E8:D7:28

此处的“B2:90:7E:E8:D7:28”为我的手机的mac地址,利用该过滤器筛选出源地址或者目的地址是我的手机的mac地址的数据包。

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

3.3微信登陆过程解析

当打开手机微信开始登录认证时抓包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

首先,由于上一节中Wireshark的过滤器中已经设定只筛选出源mac地址或者目的mac地址是我的手机的mac地址的包,我的手机的ip地址是192.168.137.188APip地址是192.168.137.1

分析抓取到的包的数据可知,首先,微信客户端查询微信服务器,域名为

weixin.qq.com IP 地址

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

然后,获得DNS应答,域名服务器解析出多个ip地址:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

然后,进行三次握手,前三个包是在进行tcp三步握手认证:第一次握手,客户端发送一个TCP,标志位为SYN=1,第二次握手,服务器向客户端返回一个数据包,SYN=1ACK=1,将确认序号设置为客户的序号seq1,即0+1=1;第三次握手,客户端收到服务器发来的包后检查确认序号是否正确,即第一次发送的序号seq1,以及标志位ACK是否为1。若正确,客户端会再向服务器端发送一个数据包,SYN=0ACK=1,确认序号=1,并且把服务器发来ACK的序号seq1发送给对方,发送序号seq1。客户端收到后确认序号值与ACK=1,代表客户端请求建立连接;

并且,利用SSL/TLS密码通信框架进行密码验证和身份核验以及加密通信,最终实现微信的登录。

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

在其中一个TLS协议数据包中客户端向服务器端发送client hello的消息,包含可用版本号、客户端随机数、会话ID、可用的密码套件清单、可用的压缩方式清单等重要信息。

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

3.4 微信朋友圈的解析

在手机微信朋友圈界面下拉刷新,抓包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

   首先客户端发出DNS查询,然后DNS服务器发回应答,告知weixin.qq.comip地址。然后进行三次握手建立连接,开始传输http数据包,里面封装了朋友圈界面的内容。并且在传输结束后,进行tcp断开连接的四次握手,发送FIN报文和确认报文,最终结束连接。

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

3.5 微信浏览网页的解析

利用微信的搜一搜功能访问www.baidu.com

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

抓取到的包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

分析可知,首先,进行三次握手,建立传输之后,利用HTTP协议进行数据传输,但这个数据包还不是所要访问的baidu.com。这里传输的只是微信内承载网页的框架界面,在加载完毕后,通过将FIN位置1,通过四次握手,断开连接。

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

然后,继续分析可知,重新建立一个连接,利用http协议发出GET请求,请求URIhttp//www.baidu.com/的网页,通过http协议进行传输,从微信服务器将页面数据传输给微信客户端,实现浏览网页服务。

    3.6 微信附近的人的解析

抓取到的包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

分析抓取到的包可知,在使用“附近的人”功能时,首先利用DNS查询

caict.comip地址,通过查询资料,这个网址是中国信息通信研究院的网站,猜测可能是使用这个功能时,在获取位置信息之前需要信通院的数据监测或监管。

然后,通过利用DNS查询amap.comip地址,通过查资料得知,这个网址是高德地图的官方网站。在进行三次握手建立连接之后,微信客户端的地点信息被收集起来存储在服务器中,当客户端发送附近的人请求时,服务器调用地图信息,通过计算,得到位于附近的用户数据,并将它们传给该客户端。

    3.7微信聊天过程分析

抓取到的包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

通过分析可知,在进行微信聊天时,首先通过tcp三次握手建立连接,然后,用SSL/TLS密码通信协议进行安全通信并保持数据完整性,其中一个TLS协议数据包中客户端向服务器端发送client hello的消息,使客户端和服务器建立连接,再利用tcp协议传输数据,在信息发送的过程中利用SSL对消息进行加密传输。

    3.8微信公众号(课堂派)解析

首先在公众号搜索界面搜索课堂派,点击之后开始抓包,进入课堂

派公众号首页:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

抓取到的包如下:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

分析抓取到的数据包可知,在使用公众号功能时,首先通过tcp三次握手建立连接,然后开始利用http进行数据传输,并且,使用TLSv1.2进行安全通信。在浏览公众号时,微信客户端和服务器多次进行数据通信。

4.   主要步骤流程图

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

5.   实验总结

.1关键技术总结

1)利用cmd配置虚拟AP

以管理员身份运行命令提示符并运行命令:netsh wlan set hostednetwork mode=allow ssid=VituralAP key=123456789,其中的各项参数可以调整,然后,设置Internet连接共享。最后,开启无线网络,即在命令提示符中继续运行:netsh wlan show hostednetwork

2wireshark的过滤器语法

   捕捉过滤器语法:

语法:

Protocol

Direction

Host(s)

Value

Logical Operations

Other expression

例子:

tcp

dst

10.1.1.1

80

and

tcp dst 10.2.2.2 3128

  显示过滤器语法:

  1. 协议过滤语法

语法

Protocol

.

String 1

.

String 2

Comparison operator

  Value

Logical Operations

Other expression

例子

http

 

request

 

method

==

"POST"

or

icmp.type

string1string2是可选的。依据协议过滤时,可直接通过协议来进行过滤,也能依据协议的属性值进行过滤。

  • 按协议进行过滤:

snmp || dns || icmp         显示SNMPDNSICMP封包。

  • 按协议的属性值进行过滤:

ip.src == 10.230.0.0/16      显示来自10.230网段的封包。

tcp.port == 25          显示来源或目的TCP端口号为25的封包。

tcp.dstport == 25            显示目的TCP端口号为25的封包。

http.request.method== "POST"       显示post请求方式的http封包。

http.host == "tracker.1ting.com"显示请求的域名为tracker.1ting.comhttp封包。

tcp.flags.syn == 0×02      显示包含TCP SYN标志的封包。

3TCP通信原理

主要是三次握手的原理,第一次握手,客户端发送一个TCP,标志位为SYN=1,第二次握手,服务器向客户端返回一个数据包,SYN=1ACK=1,将确认序号设置为客户的序号seq1,即0+1=1;第三次握手,客户端收到服务器发来的包后检查确认序号是否正确,即第一次发送的序号seq1,以及标志位ACK是否为1。若正确,客户端会再向服务器端发送一个数据包,SYN=0ACK=1,确认序号=1,并且把服务器发来ACK的序号seq1发送给对方,发送序号seq1。客户端收到后确认序号值与ACK=1,代表客户端请求建立连接;

4SSL/TLS密码通信原理

SSL协议分为两部分:Handshake ProtocolRecord Protocol。其中Handshake Protocol用来协商密钥,协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥。 Record Protocol则定义了传输的格式。由于非对称加密的速度比较慢,所以它一般用于密钥交换,双方通过公钥算法协商出一份密钥,然后通过对称加密来通信,当然,为了保证数据的完整性,在加密前要先经过HMAC的处理。SSL缺省只进行server端的认证,客户端的认证是可选的。SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个ServerHello,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

.2问题总结

1)在开启无线网络时命令提示符中提示下图报错(5.31)中解决)

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

2)抓包之后显示ip地址,难以逐会话对报文进行分析,不易找到想要分析的数据(5.32)中解决)

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

3)在tcp断开连接时,需要进行四次握手,标志位是FIN,应该找到4个数据包,但我试了好几次,但实际只抓到3个数据包。查了相关资料,说是因为服务器端在给客户端传回的过程中,将两个连续发送的包进行了合并。

.3解决问题的方法

1)解决“无法启动承载网络,组或资源的状态不是执行请求操作的正确状态”的办法:更新驱动至较旧的版本,有的较新的网卡驱动不支持承载网络。

2)在使用Wireshark进行分析的过程中,可以利用DNS协议,直接将各个眼花缭乱的IP解析为域名,以提高效率。将WiresharkIP显示为域名的方法:在Wireshark的菜单项“编辑”的最下方,找到子菜单“首选项”,将该处复选框打钩

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

即可将ip解析为域名,方便分析:

Wireshark抓包分析微信功能----tcp/ip选修课期末大作业文章来源地址https://www.toymoban.com/news/detail-474909.html

到了这里,关于Wireshark抓包分析微信功能----tcp/ip选修课期末大作业的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Wireshark抓包分析TCP的三次握手

    一、TCP三次握手连接建立过程     Step1:客户端发送一个SYN数据包(SYN=1,Seq=X,ACK=0)给服务端,请求进行连接,这是第一次握手;     Step2:服务端收到请求并且允许连接的话,就会发送一个SYN+ACK的数据包(SYN=1,Seq=Y,ACK=X+1)给发送端,告诉它,可以通讯了,并且让客户

    2024年02月08日
    浏览(44)
  • Wireshark抓包分析IP协议

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」: 此文章已录入专栏《计算机网络零基础快速入门》 试验目的:抓包分析IP协议的传输过程和数据分片 操作系统:Windows 10 企业版 抓包工具:W

    2024年02月06日
    浏览(49)
  • 使用wireshark抓包并分析TCP四次挥手

    ①第一次挥手: (FIN+ACK) 客户端发送FIN+ACK包给服务端,用来关闭客户端到服务器的数据传送。此时客户端进入FIN_WAIT_1状态。 ②第二次挥手: (ACK) 服务端收到FIN包后, 此时有可能服务端还在与其他客户端进行交互,但会先发送ACK包。确认字符ack=X+1,此时会发送一个新的序

    2024年02月12日
    浏览(45)
  • Wireshark抓包分析(ARP TCP DNS HTTP)

    一、ARP 二、DNS 三、TCP TCP的总过程: ​TCP三次握手:  TCP四次挥手:  四、HTTP 1.ARP (Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 我们要抓ARP 同网段内的访问网关的情况。 先cmd执行 arp -a 命令,从ARP表中查看本网段内有哪些主机 然后 arp -d 清空AR

    2024年02月09日
    浏览(42)
  • Wireshark数据抓包分析之传输层协议(TCP协议)

            通过使用wireshark对TCP协议的数据包的抓取分析TCP协议的具体内容         1.需要了解TCP协议的三次握手过程         2.需要了解TCP协议的四次挥手的过程 part1:3次握手和4次挥手的数据包的获取 1.通过使用TCP测试工具在机器一中创建服务器,并且进行相应的配置,然

    2024年02月11日
    浏览(40)
  • wireshark抓包分析(ARP,IP,ICMP)

    ARP 介绍: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓

    2024年02月07日
    浏览(45)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

    面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用

    2024年01月21日
    浏览(45)
  • TCP-IP详解:SACK选项(wireshark抓包有SLE和SRE的SACK包)

    TCP快速重传和超时重传都会面临到一个重传什么包的问题,因为发送端也不清楚丢失包后面传送的数据是否有成功的送到。主要原因还是对于TCP的确认系统,不是特别的好处理这种不连续确认的状况了,只有低于ACK number的片段都被收到才有进行ACK,out-of-order的片段只能是等待

    2024年02月07日
    浏览(40)
  • Wireshark数据抓包分析之互联网协议(IP协议)

            通过wireshark抓包分析IP协议的具体内容         1.IP地址存在的意义,就是为了弥补mac地址的不足,用于区分不同的网络         2.还有一些ip协议、ip数据包这些东西 part1:数据包的抓取 1.抓取发往www.baidu.com的ip数据包,略,因为虚拟机无法联网,这里桌面有现成的

    2024年02月11日
    浏览(49)
  • 华为OD真题--选修课--带答案

    2023华为OD统一考试(A+B卷)题库清单-带答案(持续更新)or2023年华为OD真题机考题库大全-带答案(持续更新) 项目描述 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包