WireShark抓包分析

news/2024/5/17 16:46:02 标签: wireshark, tcp, dns, http

简述:本文介绍了抓包数据含义,有TCP报文、Http报文、DNS报文。如有错误,欢迎指正。

1、TCP报文

TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP 是面向连接的所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。  TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。

https://img-blog.csdnimg.cn/685f1a15ef234bc1a8e48073007772fb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaGViYmVseQ==,size_16,color_FFFFFF,t_70,g_se,x_16" />

ACK:为TCP报文段首部中的“ACK字段”,置1时该报文段为确认报文段。
ack:为TCP报文段首部中“确认号字段”的具体数值。ack=x+1说明服务器希望客户端下次发来的报文段的第一个数据字节为序号=x+1的字节;ack=y+1说明客户端希望服务器下次发来的报文段的第一个数据字节为序号=y+1的字节

1> 封包详细信息

https://img-blog.csdn.net/20170114092218164" />

A. 第一行,Frame 36838 指的是要发送的数据块,其中,所抓帧的序号为36838,捕获字节数等于传送字节数:70字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为88:5d:90:00:00:25;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为192.168.21.175;目标IP地址为192.168.21.156;

D. 第四行,TCP协议,也称传输控制协议,是传输层;源端口(10086);目标端口(50132);序列号(1361);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为16;

E. 第五行,数据共有16字节

2> Frame信息分析

https://img-blog.csdn.net/20170114104835215" />

A. Arrival Time:到达时间,值为Jan 14, 2017 08:52:56.239204000

B. EPoch Time:信息出现时间,值为1484355176.239204000秒

C. [ Time delta from previous captured frame: 0.001472000 seconds] :与之前捕获的数据帧时间差:0.001472000秒;

     [Time delta from previous displayed frame: 0.001472000 seconds]:与之前显示的帧时间差: 0.001472000秒;

     [Time since reference or first frame: 1278.276505000 seconds]:距参考帧或第一帧的时间差:1278.276505000秒;

D. Frame Number: 36838,帧编号为36838;

E. Frame Length: 70 bytes (560 bits),帧长度为70字节;

     Capture Length: 70 bytes (560 bits),捕获到的长度为70字节;

F. [Frame is marked: False],帧标记:无;

     [Frame is ignored: False],帧被忽略:无;

G. [Protocols in frame: eth:ip:tcp:data],协议帧:eth(以太网)、IP、tcp、data

H. [Coloring Rule Name: TCP],色彩规则名称:TCP;

     [Coloring Rule String: tcp],色彩规则字符串:TCP;

3> EthernetⅡ信息分析

https://img-blog.csdn.net/20170114111317125" />

A. Destination: AsrockIn_b5:b9:92 (00:25:22:b5:b9:92),目标Mac地址为00:25:22:b5:b9:92

B. Source: 88:5d:90:00:00:25 (88:5d:90:00:00:25),源Mac地址为88:5d:90:00:00:25

C. Type: IP (0x0800),类型是IP数据包

4> IPv4 协议信息分析

https://img-blog.csdn.net/20170114112410438" />

A. Version: 4,IP协议版本为IPv4;

     Header length: 20 bytes,头部数据长度为20字节;

B. Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)),区分的服务领域:0x00 (默认的是DSCP:0x00);

C. Flags: 0x02 (Don't Fragment),不支持分组;

     Fragment offset: 0,分组偏移量为0; 

D. Time to live: 64,TTL,生存时间为64,TTL通常表示包在被丢弃前最多能经过的路由器个数,当数据包传输到一个路由器之后,TTL就自动减1,如果减到0了还没有传送到目标主机,那么就自动丢失。

E. Header checksum: 0xcebd [correct],头部校验和

F. Source: 192.168.21.175 (192.168.21.175),源IP地址为192.168.21.175;

     Destination: 192.168.21.156 (192.168.21.156),目标IP地址为192.168.21.156;

5> Trasmission Control Protocol信息分析

其中,对应的TCP首部的数据信息

https://img-blog.csdn.net/20170114093029919" />

A. 端口号,数据传输的16位源端口号和16位目标端口号(用于寻找发端和收端应用进程);

B. 相对序列号,该数据包的相对序列号为1361(此序列号用来确定传送数据的正确位置,且序列号用来侦测丢失的包);下一个数据包的序列号是1377;

C. Acknowledgment number是32位确认序列号,值等于1表示数据包收到,确认有效;

D. 手动的数据包的头字节长度是20字节;

E. Flags,含6种标志;ACK:确认序号有效;SYN:同步序号用来发起一个连接;FIN:发端完成发送任务;RST:重新连接;PSH:接收方应该尽快将这个报文段交给应用层;URG:紧急指针(urgentpointer)有效;

F. window,TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大小最大为65536字节,上面显示窗口大小为1825字节;

G. Checksum,16位校验和,检验和覆盖了整个的TCP报文段,由发端计算和存储,并由收端进行验证;

6> Data信息分析

https://img-blog.csdn.net/20170114114030332" />

A.  TCP 报文段中的数据(该部分是可选的),长度为16字节;

2、Http报文

链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而Wireshark抓到的就是链路层的一帧;

1> 封装包详细信息

https://img-blog.csdn.net/20170114120559104" />

A. 第一行,Frame 12411 指的是要发送的数据块,其中,所抓帧的序号为12411,捕获字节数等于传送字节数:233字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为24:69:68:6b:78:96;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为220.181.57.234;目标IP地址为192.168.21.156;

D. 第四行,TCP协议,也称传输控制协议,是传输层;源端口(80);目标端口(53985);序列号(1);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为179;

E. 第五行,Http协议,也称超文本传输协议,是应用层

2> Http请求报文分析

https://img-blog.csdn.net/20170114135028036" />

报文分析:

https://img-blog.csdn.net/20170114135154140" />

在抓包分析过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:

https://img-blog.csdn.net/20170114135419581" />

3> Http响应报文分析

https://img-blog.csdn.net/20170114134516128" />

报文分析:

https://img-blog.csdn.net/20170114134622379" />

3、 DNS报文

1> 封包详细信息

https://img-blog.csdn.net/20170114140200794" />

A. 第一行,Frame 12237 指的是要发送的数据块,其中,所抓帧的序号为12237,捕获字节数等于传送字节数:133字节;

B. 第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为24:69:68:6b:78:96;目标Mac地址为00:25:22:b5:b9:92;

C. 第三行,IPV4协议,也称网际协议,是网络层;源IP地址为192.168.211.254;目标IP地址为192.168.211.84;

D. 第四行,UDP协议,是传输层;源端口domain(53);目标端口(65219);

E. 第五行,DNS协议,应用层

2> DNS 查询报文

https://img-blog.csdn.net/20170114141159062" />

报文分析:

https://img-blog.csdn.net/20170114141447421" />

3> DNS响应报文

https://img-blog.csdn.net/20170114141637002" />

报文分析:

https://img-blog.csdn.net/20170114142315693" />

4、Ping

https://img-blog.csdn.net/20170118162817190" />


http://www.niftyadmin.cn/n/1081683.html

相关文章

VC获取当前程序目录[工作目录 VS 程序启动目录]

01.//帮助文件,返回exe.hlp 02.CString file AfxGetApp()->m_pszHelpFilePath; 03.MessageBox(file); 04. 05.//可执行方便全路径 06.GetModuleFileName(NULL, file.GetBufferSetLength(MAX_PATH 1), MAX_PATH); 07.MessageBox(file); 08. 09.//运行…

UVa Problem 10004 Bicoloring (双着色)

// Bicoloring (双着色) // PC/UVa IDs: 110901/10004, Popularity: A, Success rate: high Level: 1 // Verdict: Accepted // Submission Date: 2011-09-25 // UVa Run Time: 0.008s // // 版权所有(C)2011,邱秋。me…

Nginx的gzip配置参数说明

gzip决定是否开启gzip模块param:on|offexample:gzip on; gzip_buffers 设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间param1:intparam2:int(k) 后面单位是kexample: gzip_buffers 4 8k; gzip_comp_level设置gzip压缩等级,等级越底压缩速度越快文件压缩…

(一)Android 异步消息处理

1. 写文章之前的声明:首先,文章写上原创标签是有点牵强的,本质上是读书笔记。上周周六的时候参加了博文视点的一个作者交流会,编辑送我了一本android内核方面的书《Android内核剖析》,拿回来读了一下,非常的…

理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

原文见:Understanding TCP Sequence and Acknowledgment Numbers - PacketLife.net 如果你正在读这篇文章,很可能你对TCP“非著名”的“三次握手”或者说“SYN,SYN/ACK,ACK”已经很熟悉了。不幸的是,对很多人来说,对TCP的学习就仅…

PHP 引用文件 include() 函数 require() 函数

服务器端引用 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。服务器端引用(Server Side Includes)通过 include() 或 require() 函数,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。除了它们处理错误的方式…

用JavaScript动态加载CSS和JS文件

今天项目中需要用到动态加载 CSS 文件,经过一番折腾终于搞定,回家整理了一下,顺便融合了动态加载 JS 的功能写成了一个对象,先上代码: var dynamicLoading {css: function(path){if(!path || path.length 0){throw n…

html scrip src

出处&#xff1a;http://zhidao.baidu.com/question/494378693.html?friks&word%3Cscripttype%3D%22text%2Fjavascript%22%3E%3C%2Fscript%3Esrc&iegbk <script src"xxxx.js" type"text/javascript"></script>这个是引入外部js文件&…