学习用wireshark进行抓包分析

  首先,运行wireshark,打开capture interface选择有数据的网卡,点击start便开始进行抓包。我们可以在options里面对包进行过滤。

  

首先,在确保我个人电脑没有arp攻击的情况下。关闭所有可能会请求网络的文件。在点击start后在IE浏览器里面访问www.google.com.hk后抓到如下数据包。

 

  现在我们开始对抓到的包进行分析。

 

为所选取的包的结构。结构的显示是完全按照OSI的七层模型来显示的。从上至下分别是物理层,以太网层,IP层,第3层对应的内容,应用层。

 

为包结构的2进制表示。

现在,我们对抓到的包进行具体分析。

 

起始的3DNS包即对www.google.com.hk进行翻译。把它译为域名所对应的IP。这里,我电脑由于连接了路由器。地址为192.168.1.103。由这个地址向DNS服务器发送请求以返回www.google.com.hk的地址66.249.89.99

然后 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

 

第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。

 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。

 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据。

 

由我向服务器发送请求,服务器分析请求后,返回确认收到,我确认服务器的返回信息后,服务器开始发送我请求的数据。如下图

 

 

 

 

这些包都是服务器在向我传送数据,包括PNG,TEXT等文件。

其中的[TCP segment of a reassembled PDU]的意义是:主机响应一个查询或者命令时如果要回应很多数据(信息)而这些数据超出了TCP的最大MSS时,主机会通过发送多个数据包来传送这些数据(注意:这些包并未被分片)。对wireshark来说这些对相应同一个查询命令的数据包被标记了“TCP segment of a reassembled PDU”。wireshark根据sequence number识别多个数据包是对同一个查询数据包的响应,这些数据包ACK number是相同的,当然number的数值与查询数据包中的next sequence number也是一样的。

 

上图为抓到的最后几个包。

TCP的终止通过双方的四次握手实现。发起终止的一方执行主动关闭,响应的另一方执行被动关闭。

1. 发起方(client)更改状态为FIN_WAIT_1,关闭应用程序进程,发出一个TCP的FIN段;
2. 接收方收到FIN段,返回一个带确认序号的ACK,同时向自己对应的进程发送一个文件结束符EOF,同时更改状态为CLOSE_WAIT(server),发起方接到ACK后状态更改为FIN_WAIT_2(client);
3. 接收方关闭应用程序进程,更改状态为LAST_ACK(server),并向对方发出一个TCP的FIN段;
4. 发起方接到FIN后状态更改为TIME_WAIT(client),并发出这个FIN的ACK确认。ACK发送成功后(2MSL内)双方TCP状态变为CLOSED。

我们不难看出上面的显示的结果的意思。根据TCP协议,主动发起关闭的一方,会进入TIME_WAIT状态(TCP实现必须可靠地终止连接的两个方向(全双工关闭)),持续2*MSL(Max Segment Lifetime),缺省为240秒.

第一次挥手:客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送;
第二次挥手:服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,和SYN一样,一个FIN将占用一个序号;
第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN给客户端A;
第四次挥手:客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。

但由收到的包发现并没有产生4次挥手。而出现的是如下的包

 

这可能是由于在发送完数据前我过早的关闭了浏览器。

现在任意的以一个包的结构为例对包结构进行分析。在这儿我选了如下一个DNS包。

 

 

现在对包的结构的各个部分分别分析。

第一行。结构2,发送77字节的报文,抓到77字节的报文。具体内容如下

 

 

 分别说明了,包的到达时间,抓取间隔时间,包的标号,包的大小,是否标记、忽略等。

接下来

 

以太网层。分别告知目的地和来源。这儿可以看出,destination为路由器分配的地址,source对应的address则为gemtekte_38:cb:1c

对于IP


vision4表示结构为4

报头长为20字节

无网络分区服务

标志位为0

采用UDP协议

报头检查正确。

 

用户的数据协议,从端口64455到区域端口53

Checksum0x4045表示确认失败

 

区域名系统(疑问)

Response in3表示在frame 3中响应。交换地址的16进制表示为0xf823

对于标志flags,对应英文理解就是了,这儿不做衍叙。

其它的包可以按照相同方法进行分析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抓包分析 WLAN 是一种通过 Wireshark 工具来监控和分析无线局域网的网络流量的方法。要进行 WLAN 的抓包分析,你需要按照以下步骤进行操作: 1. 下载并安装 Wireshark:首先,你需要从 Wireshark 官方网站(https://www.wireshark.org/)下载并安装 Wireshark 工具。 2. 打开 Wireshark:安装完成后,打开 Wireshark 软件。 3. 选择无线网卡:在 Wireshark 界面的左上方,你可以看到一个下拉菜单,其中列出了可用的网络接口。选择与你的 WLAN 相关联的无线网卡。 4. 开始抓包:点击 Wireshark 界面上的“开始”按钮,Wireshark 将开始捕获所选无线网卡上的网络流量。 5. 过滤 WLAN 流量:WLAN 抓包通常会产生大量的网络流量,你可能只对特定类型的流量感兴趣。你可以使用 Wireshark 的过滤功能来仅显示你感兴趣的流量。在过滤栏中输入适当的过滤表达式,例如 "wlan" 或 "wlan.addr == xx:xx:xx:xx:xx:xx"(其中 xx:xx:xx:xx:xx:xx 是你要过滤的特定 WLAN 设备的 MAC 地址)。 6. 分析抓包数据:Wireshark 将开始显示捕获到的网络流量。你可以使用各种过滤、排序和统计功能来分析数据包。可以查看源和目标 IP 地址、协议类型、端口号等信息,并对流量模式进行分析。 请注意,抓取 WLAN 流量可能需要一定的技术知识和理解网络协议。在进行抓包分析之前,建议你先学习一些基本的网络知识和 Wireshark 工具的使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值