专业的编程技术博客社区

网站首页 > 博客文章 正文

wireshark抓包及结果分析知识大全

baijin 2024-10-19 02:44:17 博客文章 5 ℃ 0 评论

Wireshark是一款强大的网络协议分析工具,它能够捕获和分析网络数据包。使用Wireshark,你可以实时监视网络上发送和接收的数据包,同时提供了强大的过滤和分析功能,帮助用户深入了解网络通信的细节。Wireshark能够解析多种网络协议,包括TCP、UDP、HTTP、DNS等,使用户能够检查数据包中的各个字段和信息。通过Wireshark,网络管理员可以识别潜在的网络问题、监测流量、进行安全分析等。总体来讲,是网络排障过程中必备的强大工具

Wireshark 抓包设置

  1. 选择网络接口: 打开Wireshark后,从主界面上方的菜单栏选择“Capture”。 在下拉菜单中,选择“Options”以打开“Capture Options”窗口。 在窗口中,选择要进行抓包的网络接口。这通常是你连接网络的网卡,例如以太网卡或Wi-Fi网卡。
  2. 设置过滤条件: 在“Capture Options”窗口中,你可以设置过滤条件,以捕获特定的数据包。这有助于减少捕获的数据量,使分析更集中。 在“Capture Filter”或“Display Filter”框中输入过滤条件。例如,你可以使用过滤条件来只捕获特定IP地址的流量或特定协议的数据包。
  3. 配置捕获选项: 在“Capture Options”窗口中,你可以配置其他捕获选项,如捕获文件的保存位置、文件名、捕获文件大小限制等。 可以选择“Start”按钮开始捕获数据包。
  4. 开始捕获: 点击“Start”按钮后,Wireshark开始捕获网络数据包。你可以实时监视捕获的数据包并进行分析。
  5. 停止捕获: 当你想要停止捕获时,可以点击“Stop”按钮。

捕获过滤表达式

【逻辑运算】+【协议】+【方向】+【类型】+【值】

  • 逻辑运算:and、or、not
  • 协议:ether、ip、icmp、arp、tcp、udp等
  • 方向:src、dst、src and dst、src or dst
  • 类型:host、net、port、portrange等

Wireshark 窗口介绍

主窗口



Tab,Shift+Tab

在两个项目间移动,例如从一个包列表移动到下一个

Down

移动到下一个包或者下一个详情

Up

移动到上一个包或者上一个详情

Ctrl-Down,F8

移动到下一个包,即使焦点不在Packet list面版

Ctrl-UP,F7

移动到前一个报,即使焦点不在Packet list面版

Left

在Pactect Detail面版,关闭被选择的详情树状分支。如果以关闭,则返回到父分支。

Right

在Packet Detail面版,打开被选择的树状分支.

Backspace

Packet Detail面版,返回到被选择的节点的父节点

Return,Enter

Packet Detail面版,固定被选择树项目。

文件菜单介绍

"Edit"菜单




Copy>As Filter

Shift+Ctrl+C

使用详情面版选择的数据作为显示过滤。显示过滤将会拷贝到剪贴板。

Find Packet...

Ctr+F

打开一个对话框用来通过限制来查找包

Find Next

Ctrl+N

在使用Find packet以后,使用该菜单会查找匹配规则的下一个包

Find Previous

Ctr+B

查找匹配规则的前一个包。

Mark Packet(toggle)

Ctrl+M

标记当前选择的包。

Find Next Mark

Shift+Ctrl+N

查找下一个被标记的包

Find Previous Mark

Ctrl+Shift+B

查找前一个被标记的包

Mark ALL Packets


标记所有包

Unmark All Packet


取消所有标记

Set Time Reference(toggle)

Ctrl+T

以当前包时间作为参考

Find Next Reference


找到下一个时间参考包

Find Previous Refrence...


找到前一个时间参考包

Preferences...

Shift+Ctrl+P

打开首选项对话框,个性化设置Wireshark的各项参数,设置后的参数将会在每次打开时发挥作用。

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame: 物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

wireshark分析TCP包的具体内容及三次握手过程

从下图可以看到wireshark捕获到的TCP包中的每个字段。

现在我们看一个TCP三次握手的实例三次握手过程为

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 http://www.cr173.com

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"FollowTCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下

就这样通过了TCP三次握手,建立了连接

Wireshark包过分析滤技巧

数据包过滤

a.过滤需要的IP地址 ip.addr==

b.在数据包过滤的基础上过滤协议ip.addr==xxx.xxx.xxx.xxx and tcp

c.过滤端口ip.addr==xxx.xxx.xxx.xxx and http and tcp.port==80

d.指定源地址 目的地址ip.src==xxx.xxx.xxx.xxx and ip.dst==xxx.xxx.xxx.xxx

e.SEQ字段(序列号)过滤(定位丢包问题)

TCP数据包都是有序列号的,在定位问题的时候,我们可以根据这个字段来给TCP报文排序,发现哪个数据包丢失。

SEQ分为相对序列号和绝对序列号,默认是相对序列号显示就是0 1不便于查看,修改成绝对序列号方法请参考第三式。

常用的显示过滤表达式

修改数据包时间显示方式

有些同学抓出来的数据包,时间显示的方式不对,不便于查看出现问题的时间点,可以通过View---time display format来进行修改。

修改前:

修改后:

过滤出来的数据包保存

我们抓取数据包的时候数据量很大,但对于我们有用的只有几个,我们按条件过滤之后,可以把过滤后的数据包单独保存出来,便于以后来查看。

数据包计数统计

网络里有泛洪攻击的时候,我们可以通过抓包进行数据包个数的统计,来发现哪些数据包较多来进行分析。

Statistics------conversations

数据包解码

IPS发送攻击日至和防病毒日志信息端口号都是30514,SecCenter上只显示攻击日志,不显示防病毒日志。查看IPS本地有病毒日志,我们可以通过在SecCenter抓包分析确定数据包是否发送过来。

发过来的数据量比较大,而且无法直接看出是IPS日志还是AV日志,我们先把数据包解码。

(由于没有IPS的日志抓包信息,暂用其他代替)

解码前:

解码操作:

解码后:

TCP数据报文跟踪

查看TCP的交互过程,把数据包整个交互过程提取出来,便于快速整理分析。

通过Wireshark来查看设备的厂家

查看无线干扰源的时候,我们可以看出干扰源的mac地址,我们可以通过Wireshark来查找是哪个厂商的设备,便于我们快速寻找干扰源。

例如:mac地址是A4-4E-31-30-0B-E0

我们通过Wireshark安装目录下的manuf文件来查找

将TXT文件转为pcap文件

有时候得到的抓包文件是原始二进制数据调试信息,肉眼识别困难

将调试信息保存为.txt文件放到Wireshark的安装根目录

(1)将调试信息保存为.txt文件放到Wireshark的安装根目录

(2)cd命令切换到Wireshark的安装根目录,如下图:

(3)调用text2pcap.exe程序,将.txt文件转换为.pcap文件,如下图:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表