wireshark抓包过虑规则

本文介绍了Wireshark这一网络封包分析软件的基本使用方法,包括如何安装、配置过滤规则来精确捕获所需的网络封包数据。此外还通过实例演示了如何使用Wireshark进行TCP三次握手过程的分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wireshark抓包过虑规则

简介

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料

安装

下载地址:https://www.wireshark.org/download.html

规则描述
规则说明备注
http.request.uri过滤出所有uri
http.request.method==”POST”过滤出所有post请求
http.request.uri==”/v2transapi”过滤指定uri过滤出/v2transapi
http.request.uri matches “/*api”过滤url中包含api结尾的uri
ip.src==106.39.162.57来源ip等于某个ip同ip.src eq 106.39.162.57
ip.dst==106.39.162.57目标ip等于某个ip同ip.dst eq 106.39.162.57
ip.addr==106.39.162.57同时显示来源和目标ip同ip.addr eq 192.168.1.107
tcp.port==443过滤端口过滤出端口为443
http过滤协议同tcp、udp、arp、http、ftp、ssl、smtp、dns、ip
eth.dst==A0:00:00:04:C5:84太以网头过滤过滤目标mac
抓包

访问http://fanyi.baidu.com/v2transapi结果如下:

http协议包

1)No1:请求客户端(10.57.2.232)向服务器(106.39.162.57)发出连接请求。此为TCP三次握手第一步,此时从图中可以看出,为SYN,seq:X (x=0)
2)No2:服务器(106.39.162.57)回应了请求客户端(10.57.2.232)的请求,并要求确认,此时为:SYN,ACK,此时seq:y(y为0),ACK:x+1(为1)。此为三次握手的第二步;
3)No3:请求客户端(10.57.2.232)回应了服务器(106.39.162.57)的确认,连接成功。为:ACK,此时seq:x+1(为1),ACK:y+1(为1)。此为三次握手的第三步;
4)No4:请求客户端(10.57.2.232)发出一个页面HTTP请求;
5)No5:服务器(106.39.162.57)确认;
6)No6:服务器(106.39.162.57)发送数据;

TCP 三次握手协议

这里写图片描述

详见百科:http://baike.baidu.com/item/%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B?fr=aladdin

### Wireshark 抓包过滤器 使用方法与语法 Wireshark 是一种功能强大的网络协议分析工具,它允许用户通过捕获和分析数据包来深入了解网络通信。抓包过滤器是 Wireshark 中用于在捕获过程中筛选数据包的工具[^1]。以下将详细介绍其使用方法、语法以及示例。 #### 1. 抓包过滤器的基本概念 抓包过滤器(Capture Filter)是在数据包捕获之前应用的规则集合,它决定了哪些数据包会被实际捕获并存储到内存中。由于抓包过滤器直接影响捕获过程,因此它有助于减少不必要的数据包捕获,从而节省系统资源[^2]。 #### 2. 抓包过滤器的语法 抓包过滤器的语法基于 Berkeley Packet Filter (BPF) 的表达式语言。以下是其主要规则: - **逻辑运算符**:`and`, `or`, `not` 可以用来组合多个条件。 - **地址类型**:可以指定源地址 (`src`) 或目标地址 (`dst`)。 - **协议类型**:支持多种协议,如 `tcp`, `udp`, `icmp` 等。 - **端口号**:可以通过 `port` 指定特定端口或端口范围。 #### 3. 示例 以下是一些常用的抓包过滤器示例: ```bash # 捕获所有 TCP 数据包 tcp # 捕获来自特定 IP 地址的数据包 src host 192.168.1.100 # 捕获发送到特定 IP 地址的数据包 dst host 192.168.1.100 # 捕获特定端口上的数据包 port 80 # 捕获来自特定 IP 地址且目标端口为 443 的数据包 src host 192.168.1.100 and dst port 443 # 捕获非 ICMP 协议的数据包 not icmp ``` 以上示例展示了如何通过不同的条件组合来实现精确的数据包捕获[^1]。 #### 4. 抓包过滤器与显示过滤器的区别 抓包过滤器和显示过滤器虽然都用于筛选数据包,但它们的应用场景不同: - **抓包过滤器**:在捕获过程中筛选数据包,减少捕获的数据量。 - **显示过滤器**:在捕获完成后筛选数据包,不影响捕获过程[^2]。 ### 注意事项 在使用抓包过滤器时,需注意以下几点: - 抓包过滤器的语法较为严格,错误的表达式可能导致无法捕获任何数据包。 - 如果网络流量较大,建议优先使用抓包过滤器以减少内存占用。 ```python # 示例:使用 Python 调用 tshark 工具进行抓包过滤 import subprocess command = "tshark -i eth0 -f 'tcp and port 80'" process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() if error: print(f"Error: {error.decode('utf-8')}") else: print(f"Captured packets: {output.decode('utf-8')}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值