Wireshark 代表了世界上最常用的协议分析器。通过使用它,您可以检查网络中发生的一切,解决不同的问题,使用各种工具分析和过滤网络流量等。
如果您想了解有关 Wireshark 以及如何按端口过滤的更多信息,请确保继续阅读。
什么是端口过滤?
端口过滤代表了一种基于端口号过滤数据包(来自不同网络协议的消息)的方法。这些端口号用于 TCP 和 UDP 协议,这是最著名的传输协议。端口过滤代表对您的计算机的一种保护形式,因为通过端口过滤,您可以选择允许或阻止某些端口以防止网络中的不同操作。
有一个完善的端口系统用于不同的 Internet 服务,例如文件传输、电子邮件等。实际上,有超过 65,000 个不同的端口。它们以“允许”或“关闭”模式存在。 Internet 上的某些应用程序可以打开这些端口,从而使您的计算机更容易受到黑客和病毒的攻击。
通过使用 Wireshark,您可以根据端口号过滤不同的数据包。你为什么想做这个?因为通过这种方式,您可以过滤掉出于不同原因而在计算机中不需要的所有数据包。
什么是重要端口?
有 65,535 个端口。它们可以分为三个不同的类别:0-1023 的端口是众所周知的端口,它们被分配给常见的服务和协议。然后,从 1024 到 49151 是注册端口——它们由 ICANN 分配给特定服务。公共端口是从 49152-65535 的端口,它们可以被任何服务使用。不同的端口用于不同的协议。
如果您想了解最常见的,请查看以下列表:
端口号 | 服务名称 | 协议 |
20, 21 | 文件传输协议——FTP | TCP |
22 | 安全外壳 – SSH | TCP 和 UDP |
23 | 远程登录 | TCP |
25 | 简单邮件传输协议 | TCP |
53 | 域名系统 – DNS | TCP 和 UDP |
67/68 | 动态主机配置协议 - DHCP | 数据传输协议 |
80 | 超文本传输协议 - HTTP | TCP |
110 | 邮局协议 – POP3 | TCP |
123 | 网络时间协议 – NTP | 数据传输协议 |
143 | Internet 消息访问协议 (IMAP4) | TCP 和 UDP |
161/162 | 简单网络管理协议——SNMP | TCP 和 UDP |
443 | 带有安全套接字层的 HTTP – HTTPS(基于 SSL/TLS 的 HTTP) | TCP |
Wireshark 中的分析
Wireshark 中的分析过程代表对网络内不同协议和数据的监控。
在我们开始分析过程之前,请确保您知道要分析的流量类型以及发出流量的各种类型的设备:
- 是否支持混杂模式?如果您这样做,这将允许您的设备收集最初不适合您的设备的数据包。
- 您的网络中有哪些设备?重要的是要记住,不同类型的设备将传输不同的数据包。
- 您要分析什么类型的流量?流量类型取决于网络中的设备。
知道如何使用不同的过滤器对于捕获预期的数据包非常重要。这些过滤器在数据包捕获过程之前使用。它们是如何工作的?通过设置特定过滤器,您可以立即删除不符合给定条件的流量。
在 Wireshark 中,一种称为 Berkley Packet Filter (BPF) 语法的语法用于创建不同的捕获过滤器。由于这是数据包分析中最常用的语法,因此了解它的工作原理很重要。
Berkley Packet Filter 语法根据不同的过滤表达式来捕获过滤器。这些表达式由一个或多个原语组成,原语由一个标识符(您试图在不同数据包中查找的值或名称)和一个或多个限定符组成。
限定符可以分为三种不同的类型:
- 类型 - 使用这些限定符,您可以指定标识符代表的事物类型。类型限定符包括端口、网络和主机。
- Dir(方向)——这些限定符用于指定传输方向。这样,“src”标记源,“dst”标记目的地。
- Proto(协议)——使用协议限定符,您可以指定要捕获的特定协议。
您可以使用不同限定符的组合来过滤您的搜索。此外,您还可以使用运算符:例如,您可以使用连接运算符 (&/and)、否定运算符 (!/not) 等。
以下是您可以在 Wireshark 中使用的一些捕获过滤器示例:
过滤器 | 描述 |
主机 192.168.1.2 | 与 192.168.1.2 相关的所有流量 |
tcp 端口 22 | 与端口 22 相关的所有流量 |
源代码 192.168.1.2 | 源自 192.168.1.2 的所有流量 |
可以在协议头字段中创建捕获过滤器。语法如下所示:proto[offset:size(optional)]=value。这里proto代表你要过滤的协议,offset代表value在包头中的位置,size代表数据的长度,value代表你要查找的数据。
在 Wireshark 中显示过滤器
与捕获过滤器不同,显示过滤器不会丢弃任何数据包,它们只是在查看时隐藏它们。这是一个不错的选择,因为一旦您丢弃数据包,您将无法恢复它们。
显示过滤器用于检查特定协议的存在。例如,如果您想显示包含特定协议的数据包,您可以在 Wireshark 的“显示过滤器”工具栏中键入该协议的名称。
其他选项
根据您的需要,您可以使用其他各种选项来分析 Wireshark 中的数据包。
- 在 Wireshark 的“统计”窗口下,您可以找到可用于分析数据包的不同基本工具。例如,您可以使用“对话”工具来分析两个不同 IP 地址之间的流量。
- 在“专家信息”窗口下,您可以分析网络中的异常或不常见行为。
在 Wireshark 中按端口过滤
由于过滤器栏允许您应用显示过滤器,因此在 Wireshark 中按端口过滤很容易。
例如,如果要过滤端口 80,请在过滤器栏中键入:“tcp.port == 80
。”您还可以做的是输入“情商
”而不是“==”,因为“eq”指的是“相等”。
您还可以一次过滤多个端口。 ||在这种情况下使用标志。
例如,如果要过滤端口 80 和 443,请在过滤器栏中键入:“tcp.port == 80 || tcp.port == 443
“, 或者 ”tcp.port eq 80 || tcp.port eq 443
.”
其他常见问题
如何通过IP地址和端口过滤Wireshark?
您可以通过多种方式通过 IP 地址过滤 Wireshark:
1. 如果您对具有特定 IP 地址的数据包感兴趣,请在过滤器栏中键入:“ip.adr == x.x.x.x.
”
2. 如果您对来自特定 IP 地址的数据包感兴趣,请在过滤器栏中输入:“ip.src == x.x.x.x.
”
3. 如果您对发往特定 IP 地址的数据包感兴趣,请在过滤器栏中键入:“ip.dst == x.x.x.x.
”
如果要应用两个过滤器,例如 IP 地址和端口号,请查看下一个示例:“ip.adr == 192.168.1.199.&&tcp.port eq 443。
” 因为“&&”代表“and”的符号,通过写这个,你可以通过IP地址(192.168.1.199)和端口号(tcp.port eq 443)过滤你的搜索。
Wireshark 如何捕获端口流量?
Wireshark 会在发生时捕获所有网络流量。它将捕获所有端口流量并向您显示特定连接中的所有端口号。
如果您想开始捕获,请按照下列步骤操作:
1. 打开“Wireshark”。
2. 点击“拍摄”。
3. 选择“接口”。
4. 点击“开始”。
如果要关注特定端口号,可以使用过滤器栏。
当您想停止捕获时,请按“Ctrl + E”。
什么是 DHCP 选项的捕获过滤器?
动态主机配置协议 (DHCP) 选项代表一种网络管理协议。它用于自动为连接到网络的设备分配 IP 地址。通过使用 DHCP 选项,您无需手动配置各种设备。
如果您只想在 Wireshark 中查看 DHCP 数据包,请在过滤器栏中键入“bootp”。为什么要引导?因为它代表旧版本的 DHCP,并且它们都使用相同的端口号 - 67 和 68。
为什么要使用 Wireshark?
使用 Wireshark 有许多优点,其中一些是:
1. 它是免费的——您可以完全免费地分析您的网络流量!
2.它可以用于不同的平台——你可以在Windows、Linux、Mac、Solaris等上使用Wireshark。
3. 详细——Wireshark 提供了对众多协议的深入分析。
4. 它提供实时数据——这些数据可以从各种来源收集,如以太网、令牌环、FDDI、蓝牙、USB 等。
5. 应用广泛——Wireshark 是最流行的网络协议分析器。
Wireshark 不咬人!
现在您已经了解了有关 Wireshark、其功能和过滤选项的更多信息。如果您想确保可以排除故障并识别任何类型的网络问题或检查进出网络的数据,从而确保其安全,则绝对应该尝试 Wireshark。
你用过 Wireshark 吗?在下面的评论部分告诉我们。