wireshark使用

admin 2023年11月7日09:18:33评论24 views字数 4740阅读15分48秒阅读模式

          

Wireshark 工具的使用 1wireshark 是什么?

         wireshark 是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark 是开源软件,可以放心使用。可以运行在 Windows 和 Mac OS 上。 对应的,linux 下的抓包工具是 tcpdump。使用wireshark 的人必须了解网络协议,

否则就看不懂 wireshark 了。

wireshark使用

          

2Wireshark 常用应用场景

         

1.网络管理员会使用wireshark 来检查网络问题

2.软件测试工程师使用wireshark 抓包,来分析自己测试的软件

3.从事 socket 编程的工程师会用 wireshark 来调试

4.运维人员用于日常工作,应急响应等等

总之跟网络相关的东西,都可能会用到 wireshark

3Wireshark 抓包原理   

 

Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。
Wireshark 使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。
单机情况下,Wireshark 直接抓取本机网卡网络流量
交换机情况下,Wireshark 通过端口镜像、ARP 欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP 欺骗:交换机根据 MAC 地址转发数据,伪装其他终端的 MAC 地址,从而获取局域网的网络流量。          

4Wireshark 软件安装

          

软件下载路径:www.wireshark.org/    

wireshark使用     

按照系统版本选择下载 ,下载完成后 ,按照软件提示一路 Next装。

5Wireshark 抓包示例    

          

先介绍一个使用wireshark 工具抓取 ping 命令操作的示例,可以上手操作感

受一下抓包的具体过程。

1 、打开 wireshark ,主界面如下:

wireshark使用

wireshark使用

wireshark使用

2 、选择菜单栏上 捕获 ->  选项,勾选 WLAN 网卡。这里需要根据各自电 脑网卡使用情况选择,简单的办法可以看使用的 IP 对应的网卡。点击 Start ,启

动抓包。

wireshark使用

3 wireshark 启动后,wireshark 处于抓包状态中。    

wireshark使用

4 、执行需要抓包的操作,如在 cmd 窗口下执行 ping http: // www.baidu.com

wireshark使用

5 、操作完成后相关数据包就抓取到了,可以点击 停止捕获分组 按钮。

wireshark使用    

6 、为避免其他无用的数据包影响分析,可以通过在过滤栏设置过滤条件进 行数据包列表过滤,获取结果如下。说明:ip.addr == 220.181.38. 150 and icmp  示只显示 ICPM 协议且主机 IP 220.181.38.150 的数据包。说明:协议名称 icmp

要小写。

wireshark使用

7 wireshark 抓包完成,并把本次抓包或者分析的结果进行保存,就这么简 单。关于wireshark 显示过滤条件、抓包过滤条件、以及如何查看数据包中的详

细内容在后面介绍。

wireshark使用    

          

6Wireshakr 抓包界面介绍

          

wireshark使用

Wireshark  的主界面包含 6 个部分:

菜单栏:用于调试、配置

工具栏:常用功能的快捷方式

过滤栏:指定过滤条件,过滤数据包    

数据包列表:核心区域,每一行就是一个数据包

数据包详情:数据包的详细数据

数据包字节:数据包对应的字节流,二进制

说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定

位在菜单栏 视图 -->  着色规则。如下所示

wireshark使用

WireShark  主要分为这几个界面

          

1. Display Filter(显示过滤器)

          

用于设置过滤条件进行数据包列表过滤。菜单路径:分析 --> Display Filters

wireshark使用

          

2. Packet List Pane(数据包列表)

          

显示捕获到的数据包,每个数据包包含编号,时间戳,源地址, 目标地址,

协议,长度,以及数据包信息。不同协议的数据包使用了不同的颜色区分显示。    

wireshark使用     

3. Packet Details Pane(数据包详细信息)

          

在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有 详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。

各行信息分别为

1Frame:  物理层的数据帧概况

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

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

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

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

wireshark使用

TCP 包的具体内容

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

wireshark使用    

 

4. Dissector Pane(数据包字节区)    

          

报文原始内容。

wireshark使用

          

7Wireshark 过滤器设置

          

初学者使用wireshark 时,将会得到大量的冗余数据包列表,以至于很难找

到自己需要抓取的数据包部分。

wireshark 工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助

我们在大量的数据中迅速找到我们需要的信息。

          

1.抓包过滤器 

捕获过滤器的菜单栏路径为 捕获 -->  捕获过滤器。用于在抓取数据包前设

置。

wireshark使用    

如何使用呢?设置如下。

wireshark使用

ip host 220.181.38.150 表示只捕获主机 IP 220.181.38.150 数据包。获取

结果如下:

wireshark使用

          

2.  显示过滤器

          

显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。

通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包    

内容较多时使用显示过滤器设置条件过滤以方便分析。

wireshark使用

同样上述场景,在捕获时未设置抓包过滤规则直接通过网卡进行抓取所有数

据包。

wireshark使用

执行 ping http: // www.baidu.com 获取的数据包列表如下

wireshark使用

观察上述获取的数据包列表,含有大量的无效数据。这时可以通过设置显示

器过滤条件进行提取分析信息。ip.addr == 220.181.38.149 ,并进行过滤。

wireshark使用    

上述介绍了抓包过滤器和显示过滤器的基本使用方法。在组网不复杂或者流 量不大情况下,使用显示器过滤器进行抓包后处理就可以满足我们使用。下面介

绍一下两者间的语法以及它们的区别。

8wireshark 过滤器表达式的规则

1.  抓包过滤器语法和实例

          

抓包过滤器类型 Typehost net port)、方向 Dir src dst)、协议 Proto

ether ip tcp udp http icmp ftp 等)、逻辑运算符(&&与、||  或、!非)

1)协议过滤

比较简单,直接在抓包过滤框中直接输入协议名即可。

tcp ,只显示 TCP 协议的数据包列表

http ,只查看 HTTP 协议的数据包列表

icmp ,只显示 ICMP 协议的数据包列表

2IP 过滤

host 192.168.1.104

src host 192.168.1.104

dst host 192.168.1.104

3)端口过滤

port 80

src port 80

dst port 80

4)逻辑运算符&&与、||  或、!非

src host 192.168.1.104 &&dst port 80  抓取主机地址为 192.168.1.80 目的端    

口为 80 的数据包

host  192.168.1. 104  ||  host  192.168.1.102   192.168.1. 104 

192.168.1.102 的数据包

! broadcast  不抓取广播数据包

          

2.  显示过滤器语法和实例     

1)比较操作符

比较操作符有

==  等于、!不等于、大于、<  小于、>=  大于等于、<=小于等于

2)协议过滤

比较简单,直接在 Filter框中直接输入协议名即可。注意:协议名称需要输

入小写。

tcp ,只显示 TCP 协议的数据包列表

http ,只查看 HTTP 协议的数据包列表

icmp ,只显示 ICMP 协议的数据包列表

wireshark使用

3ip 过滤

ip.src ==220.181.38. 149  显示源地址为 220.181.38. 149 的数据包列表

ip.dst==220.181.38.149,  显示目标地址为 220.181.38. 149 的数据包列表

ip.addr == 220.181.38. 149  显示源 IP 地址或目标 IP 地址为 220.181.38. 149

数据包列表

wireshark使用    

4)端口过滤

tcp.port ==80,  显示源主机或者目的主机端口为 80 的数据包列表。

tcp.srcport == 80,  只显示 TCP 协议的源主机端口为 80 的数据包列表。

tcp.dstport== 80 ,只显示 TCP 协议的目的主机端口为 80 的数据包列表。

wireshark使用

5http 模式过滤

http.request.method=="GET",  只显示 HTTP GET 方法的。

wireshark使用

6)逻辑运算符为 and/or/not

过滤多个条件组合时,使用and/or。比如获取IP 地址为 172.19.156.80 ICMP

数据包表达式为 ip.addr == 172.19.156.80 and icmp

wireshark使用

7)按照数据包内容过滤    

假设我要以 ICMP 层中的内容进行过滤,可以单击选中界面中的码流,在下

方进行选中数据。

wireshark使用

右键单击选中后出现如下界面

wireshark使用

选中后在过滤器中显示如下

wireshark使用

后面条件表达式就需要自己填写。如下我想过滤出 data 数据包中包"abcd"

内容的数据流。关键词是 contains ,完整条件表达式为 data contains "abcd"

   wireshark使用 

看到这, 基本上对wireshak 有了初步了解。 

3.  常见用显示过滤需求及其对应表达式

数据链路层:

筛选 mac 地址为 04:f9:38:ad:13:26 的数据包

eth.src == 04:f9:38:ad:13:26

筛选源 mac 地址为 04:f9:38:ad:13:26 的数据包----

eth.src == 04:f9:38:ad:13:26

网络层:

筛选 ip 地址为 192.168.1.1 的数据包

ip.addr == 192.168.1.1

筛选 192.168.1.0 网段的数据

ip contains " 192.168.1"

传输层:

筛选端口为 80 的数据包

tcp.port == 80

筛选 12345 端口和 80 端口之间的数据包

tcp.port == 12345 &&tcp.port == 80

筛选从 12345 端口到 80 端口的数据包

tcp.srcport == 12345 &&tcp.dstport == 80

应用层:

特别说明: http http.request 表示请求头中的第一行(如 GET index.jsp

HTTP/1. 1http.response 表示响应头中的第一行(如 HTTP/1. 1 200 OK),其他

头部都用 http.header_name 形式。    

筛选url 中包含.php http 数据包

http.request.uri contains ".php"

筛选内容包含 username http 数据包

http contains "username"

          

9Wireshark 分析常用操作

          调整数据包列表中时间戳显示格式。调整方法为 视图 -->时间显示格式 -->

日期和时间。调整后格式如下:

wireshark使用

一般 Wireshark 软件也可以与各主流厂家的模拟器一起使用,更适合于项目

准确配置。     

10 CTF 例题     

流量分析

wireshark使用

wireshark使用    

打开其中一个数据包中间又 data数据

尝试十六进制解码

可以解码

wireshark使用

在往上找发现

wireshark使用

发现其中一个数据解码时 F ,联想是 FLAG

在对数据包进行过滤

wireshark使用    

提取里面的数据

wireshark使用

解码得到 flag    

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月7日09:18:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   wireshark使用https://cn-sec.com/archives/2181773.html

发表评论

匿名网友 填写信息