用Wireshark抓包分析协议 计算机网络

这篇具有很好参考价值的文章主要介绍了用Wireshark抓包分析协议 计算机网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

此篇博客记录使用Wireshark抓包分析协议。

目录

一、DNS

二、分析TCP握手过程

三、TLS报文

四、HTTP协议

五、SMTP

六、ARP

七、RTP

八、RTMP


一、DNS

       DNS是域名系统,Domain Name System的缩写,是基于TCP/IP的一个服务。DNS是将主机名到IP地址转换的目录服务。DNS是:①一个由分层的DNS服务器实现的分布式数据库②一个使得主机能够查询分布式数据库的应用层协议,使用53号端口。如图中的221.11.1.67是西安联通提供的DNS服务器。

       域名解析总体可分为两大步骤,第一个步骤是本机向本地域名服务器发出一个DNS响应报文(图中所给的是向221.11.1.67发送一个DNS请求报文),报文里携带需要查询的域名;第二步骤是本地域名服务器向本机回应一个DNS响应报文,里面包含域名对应的IP地址。(本例中的华为官网IP为113.142.160.4)

用Wireshark抓包分析协议 计算机网络

 请求报文如下:

用Wireshark抓包分析协议 计算机网络

 响应报文如下:

用Wireshark抓包分析协议 计算机网络

 这是回答结构,共有四个答案。

用Wireshark抓包分析协议 计算机网络

 文章来源地址https://www.toymoban.com/news/detail-489665.html

用Wireshark抓包分析协议 计算机网络

     可以看到,经过DNS查询,得到IP地址为113.142.160.4。接下来建立TCP连接。

用Wireshark抓包分析协议 计算机网络

二、分析TCP握手过程

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

建立连接可以分为三部分,当三次握手完成,TCP客户端和服务器成功地建立连接,可以传输数据了。

1.客户端发送一个带SYN标志的TCP报文到服务器,这是三次握手中报文1。

2.服务器端回应客户端,发送一个带ACK标志和SYN标志的报文,这是三次握手中的第2个报文。因此,它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行连接。

3.客户端必须再次回应服务端一个ACK报文,这是报文3。

用Wireshark抓包分析协议 计算机网络

     如下图所示,本机(10.94.49.169)和华为(113.142.160.4)进行了三次握手。

用Wireshark抓包分析协议 计算机网络

 第一次握手:客户端向服务器发送连接请求包,标志位SYN置为1,序号为Seq = X (X = 0)。

用Wireshark抓包分析协议 计算机网络

第二次握手:服务器收到客户端发过来的报文,由SYN=1知道客户端要求建立联机。向客户端发送一个SYN和ACK都置为1的TCP报文,设置初始序号Seq=Y(Y=0),将确认序号ACK设置为客户的序列号Seq+1(即X=1)。

用Wireshark抓包分析协议 计算机网络

 第三次握手:客户端针对SYN包发送ACK包确认应答。客户端收到服务器发来的包检查ACK是否正确,以及标志位ACK是否为1。若正确,客户端再次发送确认包,ACK标志位为1,SYN标志位为0。确认序列号ACK=1,发送序号为X+1=1。服务器收到后确认序列值与ACK=1则连接建立成功,即可传输数据。

用Wireshark抓包分析协议 计算机网络

三、TLS报文

        TLS(Transport Layer Security,传输层安全协议)用于两个应用程序之间提供保密性和数据完整性。

        建立握手连接的目的:(1)身份的验证,client与server确认对方是它相连接的。(2)client与server交换session key,用于连接后数据的传输加密和hash校验。

        客户端会先向服务端发送Client Hello消息,其中包括了随机数,密码套件以及密钥交换算法参数。服务端收到后会给确认,发送给客户端Server Hello数据包,服务端会根据Client Hello提供的协议版本列表,选择版本。

用Wireshark抓包分析协议 计算机网络

 下图是TLS协议Client Hello。

用Wireshark抓包分析协议 计算机网络

 下图是服务端发出的Server Hello。

用Wireshark抓包分析协议 计算机网络

 TLS的握手过程就结束了,后面即可加密传输消息了。

四、HTTP协议

       HTTP协议(HyperText Transfer Protocol)一般指HTTP(超文本传输协议),它是Web的核心。超文本传输协议是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件需遵守这个标准。HTTP由两个程序实现:一个客户程序和一个服务器程序。客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP定义了这些报文的结构以及客户和服务器进行报文交换的方式。

HTTP请求/响应步骤:

1.客户端连接web服务器:HTTP客户端与web服务器建立一个TCP连接。

2.客户端向服务器发起HTTP请求:通过已经建立的TCP连接,客户端向服务器发送一个请求报文。

3.服务器接收HTTP请求并返回HTTP响应:服务器解析请求,定位请求资源,服务器将资源副本写到TCP连接,有客户端读取。

4.释放TCP连接:若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection模式为

        HTTP报文三部分组成,行、首部行和实体主体,如下图。在请求报文中,开始行就是请求行。本例中所访问的为www.cctv.com。

用Wireshark抓包分析协议 计算机网络

       下图是抓取的请求报文,请求方法为GET,版本协议号是HTTP/1.1,主机名为www.cctv.com,User-Agent是生成请求的浏览器类型,Accept是客户端可识别的响应内容类型列表,Accept-Language是客户端可接受的自然语言,Accept-Encoding是客户端可接受的编码压缩格式,connection为连接方式。

用Wireshark抓包分析协议 计算机网络

 下图为响应报文,可以看到我们的请求被重定向到www.cctv.com。

用Wireshark抓包分析协议 计算机网络

五、SMTP

       SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效的电子邮件传输的协议,是因特网电子邮件的核心。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特征之一是其能跨越网络传输邮件,即“SMTP邮件中继”。

      本例中,所使用的为QQ邮箱,进行抓包,所以查询到的是QQ的邮件服务器,但要注意抓取SMTP数据包需要关闭邮件客户端的SSL加密选项。首先可以看到本机向(211.11.1.67)DNS服务器发送了DNS查询。

用Wireshark抓包分析协议 计算机网络

用Wireshark抓包分析协议 计算机网络

 DNS查询结束后,需要进行TCP握手,建立TCP连接,然后才开始SMTP报文。第一条SMTP报文由服务器发给客户端,响应代码220表示连接建立成功。

用Wireshark抓包分析协议 计算机网络

       客户端收到220代码后,继续发送请求,首先是发送EHLO命令。一般来说客户端和SMTP服务端建立连接之后就需要发送EHLO或者是HELO命令,后面附带的参数是domain,即相当于客户端的主机域名或者是主机名,这一步的主要作用是声明身份,EHLO/HELO命令相当于是HELLO命令,两者之间的主要区别是EHLO带身份验证而HELO不带身份验证,因此EHLO要更加安全。

用Wireshark抓包分析协议 计算机网络

 当服务端接收到客户端的EHLO请求之后,返回了一个250代码并且附带了支持的身份验证方式。

用Wireshark抓包分析协议 计算机网络

 客户端使用AUTH命令进行身份验证。

用Wireshark抓包分析协议 计算机网络

 身份验证成功后,服务器端向客户端返回235的成功代码。

用Wireshark抓包分析协议 计算机网络

 到这里就完成了和SMTP服务器建立连接和身份验证的步骤。随后客户端发送MAIL FROM命令,声明邮件的发件人。

用Wireshark抓包分析协议 计算机网络

 服务器返回250代码确定操作成功。

用Wireshark抓包分析协议 计算机网络

 然后,客户端发送RCPT TO命令声明邮件的收件人。

 用Wireshark抓包分析协议 计算机网络

服务器返回250代码确定操作成功。

用Wireshark抓包分析协议 计算机网络 

 客户端使用DATA命令,告知服务器要开始传输邮件的正文内容。

用Wireshark抓包分析协议 计算机网络

 服务端返回354代码,告知邮件的内容结束以<CR><LF>.<CR><LF>为标记。

用Wireshark抓包分析协议 计算机网络

客户端接收到354代码后,会给服务端发送一个确认数据包,并开始传输邮件内容。

用Wireshark抓包分析协议 计算机网络

 邮件正文。我们可以看到在上面的数据包中包含了SMTP和IMF两个部分,因为抓包发送的邮件内容都是文本,所以直接使用IMF协议就可以传输,而SMTP协议中的报文内容则是DATA命令的终止标志。由于关闭了SSL加密,所以可以直接在这里面提取到邮件内容。在客户端发送完邮件内容之后,还会接着发送一个QUIT命令来表示结束这次的SMTP传输。

用Wireshark抓包分析协议 计算机网络

 服务器在接受到数据之后会返回250代码表示接受成功并且再返回221代码表示结束本次SMTP传输。

用Wireshark抓包分析协议 计算机网络

 

用Wireshark抓包分析协议 计算机网络

 至此,整个SMTP邮件传输过程结束。

六、ARP

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议,将网络层地址(IP地址)和链路层地址(MAC地址)之间进行转换。

ARP报文格式如下

用Wireshark抓包分析协议 计算机网络

 实验环境,一台电脑和一部手机处在同一个局域网下,电脑IP为172.20.10.4,手机的IP为172.20.10.2。使用电脑来ping手机,使用wireshark抓包。

用Wireshark抓包分析协议 计算机网络

请求报文如下:

用Wireshark抓包分析协议 计算机网络

 响应报文如下:

用Wireshark抓包分析协议 计算机网络

七、RTP

RTP(Real-time Transport Protocol,实时传输协议),通常运行在UDP上。它用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP用于在单播或多播网络中传送实时数据,一般音频、视频会议,视频监控,语音电话和翻译器、混合器等都会使用到RTP协议。

RTP分组首部字段

用Wireshark抓包分析协议 计算机网络

 

有效载荷类型字段的长度为7比特。对于音频流,有效载荷类型字段用于指示所使用的音频编码类型。对于一个视频流,有效载荷类型用于指示视频编码类型。

序号字段长为16比特。每发送一个RTP分组则该序号增加1,而且接收方可以用该序号来检测丢包和恢复分组序列。

时间戳字段长为32比特。它反映了RTP数据分组中的第一个字节的采样时刻。

同步源标识符(SSRC)长为32比特。它标识了RTP流的源。通常在RTP会话中的每个流都有一个不同的SSRC。

下图为两台电脑进行语音通话所抓取的部分RTP包。

用Wireshark抓包分析协议 计算机网络

RTP报文如下:

用Wireshark抓包分析协议 计算机网络

八、RTMP

RTMP(Real-Time Messaging Protocol实时消息传送协议)的缩写,RTMP是流媒体传输协议,本次实验使用的为VLC,播放RTMP网络流地址,使用wireshark进行抓包分析。(测试直播地址为rtmp://media3.scctv.net/live/scctv_800)

Wireshark抓包结果如下,可以看到首先进行DNS查询,然后为TCP三次握手建立连接,之后才进行RTMP。

用Wireshark抓包分析协议 计算机网络

用Wireshark抓包分析协议 计算机网络 

用Wireshark抓包分析协议 计算机网络 

 首先,客户端向服务端发送C0+C1,确认版本。

用Wireshark抓包分析协议 计算机网络

 客户端向服务端发送C0块,表示和服务器握手,C0中包含版本号。服务器收到C0之后,检查C0版本支持,返回发送一个S0,若不支持则应终止连接。客户端和服务端都分别等待C1和S1,等待版本确认。客户端收到S1后发送C2,服务器收到C1后发送S2,握手完成。下图为服务器回复的确认包(S0+S1+S2)。

 

用Wireshark抓包分析协议 计算机网络

 客户端发送C2,握手完成。

用Wireshark抓包分析协议 计算机网络

 下图为客户端发送Connect,报文如下:

用Wireshark抓包分析协议 计算机网络

 

客户端向服务器发送确认窗口大小,并请求创建流(createStream)。

用Wireshark抓包分析协议 计算机网络

服务器端给出响应。

用Wireshark抓包分析协议 计算机网络

 客户端向服务器发送播放命令,请求播放stream,并设置Buffer Length 1,3000ms。

用Wireshark抓包分析协议 计算机网络

服务端给出响应结果。

用Wireshark抓包分析协议 计算机网络 

服务器向客户端发送推流通知,并附带元数据信息(分辨率、帧率、音频采样率等等)和视频、音频数据。此时客户端就可以开始正常播放RTMP流了。

用Wireshark抓包分析协议 计算机网络 

    大概的实验流程就如上所示了,大家一定要自己动手实践一下才能更好地掌握知识。

 

 

 

 

到了这里,关于用Wireshark抓包分析协议 计算机网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 计算机网络——Wireshark软件使用与协议分析(ARP协议、IP与ICMP分析)

            一、实验目的   学习 Wireshark 的基本操作,抓取和分析有线局域网的数据包;掌握以太网 MAC帧的基本结构,掌握 ARP 协议的特点及工作过程。  二、实验内容 使用 Wireshark 抓取局域网的数据包并进行分析: 1. 学习 Wireshark 基本操作:重点掌握捕获过滤器和显示过滤器

    2024年02月05日
    浏览(38)
  • HNU-计算机网络-实验1-应用协议与数据包分析实验(Wireshark)

    计科210X 甘晴void 202108010XXX 通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。 2.1 HTTP 协议简介 HTTP 是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务。 (1)HTTP 的工作原理 HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层

    2024年02月06日
    浏览(40)
  • 《计算机网络—自顶向下方法》 Wireshark实验(三):DNS协议分析

            域名系统 DNS(Domain Name System) 是互联网使用的命名系统,用于把便于大家使用的机器名字转换为 IP 地址。许多应用层软件经常直接使用 DNS,但计算机的用户只是间接而不是直接使用域名系统。 互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系

    2024年02月04日
    浏览(37)
  • 《计算机网络—自顶向下方法》 Wireshark实验(四):TCP 协议分析

            在因特网协议族(Internet Protocol Suite)中,TCP 层是位于 IP 层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是 IP 层不提供这样的流机制,而是提供不可靠的包交换。TCP 和 UDP 处在同一层——传输层,但是它们有很多的

    2024年02月05日
    浏览(36)
  • 《计算机网络—自顶向下方法》 Wireshark实验(八):ICMP 协议分析

            ICMP(Internet Control Message Protocol)网络控制报文协议。它是 TCP/IP 协议簇的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数

    2024年01月25日
    浏览(33)
  • 《计算机网络—自顶向下方法》 Wireshark实验(六):IP 协议分析

            IP 协议(Internet Protocol),又译为网际协议或互联网协议,是用在 TCP/IP 协议簇中的网络层协议。主要功能是无连接数据报传送、数据报路由选择和差错控制。IP 协议是 TCP/IP 协议族的核心协议,其主要包含两个方面: IP 头部信息。IP 头部信息出现在每个 IP 数据报

    2024年02月09日
    浏览(33)
  • 《计算机网络—自顶向下方法》 Wireshark实验(二):HTTP协议分析

            HTTP 协议工作于客户端-服务端架构上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。 WEB 服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 URL:即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文

    2024年02月07日
    浏览(38)
  • 计算机网络——wireshark抓包

    实验步骤 在命令行输入 ifconfig 命令得到如图: 由上图可知,网关地址为 10.22.63.255 ,开启 wireshark 抓包服务,添加过滤规则,同时在命令行输入 ping 10.22.63.255 , ping 网关 过滤搜索得到 ping 同一网段的一台主机 实验结果分析 ping网关数据如图 [外链图片转存失败,源站可能有防盗链机制

    2024年02月05日
    浏览(26)
  • 计算机网络实验五 Wireshark网络抓包实验

    1.使用Wireshark软件对网卡上的数据包进行抓取,分析数据包各字段的含义。 2.掌握数据链路层、网络层、运输层常用数据包的定义 3.掌握相关网络命令 注意:下面实验环境 本机IP:10.1.36.48 网关:10.1.36.1 (1)捕获ARP请求及应答包 要求:分析数据链路层协议中的:源MAC,目的

    2024年02月10日
    浏览(45)
  • 计算机网络 wireshark TCP抓包实验

    1. 你的客户端电脑传送文件到 192.168.1.70 的 IP 地址和端口是什么?从192.168.1.70 接收文件的 IP 地址和端口是什么? 可以看出 传送文件的地址是192.168.8.90 端口是61588 接受文件的地址是192.168.1.70 端口是80 2. 用来初始化客户端电脑和 192.168.1.70 的 TCP 连接的 TCP SYN 报文段的序号

    2024年02月07日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包