windows 抓包

WINDOWS下的抓包工具
http://www.wireshark.org/
http://www.winpcap.org/install/default.htm
下载wireshark-win32-1.6.5.exe和WinPcap_4_1_2.exe安装

使用方法,打开软件以后在FILTER输入
ip.addr == 180.153.248.41
<think> 我们正在讨论的是在Windows系统下使用抓包工具(如Wireshark)查看帧校验序列(FCS)的方法。根据引用[1]和引用[2]的内容,我们知道: - MAC帧的帧尾有一个4字节的帧校验序列(FCS),使用CRC校验。 - 在以太网中,整个帧的最小长度是64字节(包括目的MAC地址6字节、源MAC地址6字节、类型/长度2字节、数据载荷最小46字节和FCS 4字节)。 - 实际抓包中,我们可能会看到不同的帧大小,这是因为抓包工具捕获数据包的位置(在协议栈中的位置)不同。 在Windows系统中,使用Wireshark(通常搭配Npcap驱动)抓包时,默认情况下,Wireshark捕获的数据包并不包含FCS。这是因为: 1.Windows系统中,网卡驱动通常会在将帧传递给上层协议栈之前去掉FCS(因为FCS用于链路层差错检测,一旦检测无误,就会被丢弃)。 2. Wireshark捕获的是网络协议栈传递给它的数据,因此它捕获的是已经去掉FCS的帧。 然而,有些网卡驱动或抓包驱动(如Npcap)可以配置为捕获包含FCS的原始帧。但请注意,这取决于网卡和驱动的支持。 **在Windows下使用Wireshark查看FCS的方法:** 1. **确保网卡支持捕获FCS**:不是所有网卡都支持将FCS传递给操作系统。通常,服务器级网卡或某些特定型号的网卡可能支持。 2. **配置Npcap驱动以捕获FCS**(如果支持): - 在安装Npcap时,选择“支持原始802.11流量捕获(和仅无线模式)”可能会对无线网卡捕获FCS有帮助,但对于有线网卡,需要其他设置。 - 安装Npcap时,有一个选项是“Capture the packets with FCS (CRC)”(捕获带FCS的包),请确保勾选此选项(但注意,这个选项可能在某些版本中不可用,或者仅对某些网卡有效)。 3. **在Wireshark中设置**: - 打开Wireshark,进入“捕获”->“选项”。 - 选择要捕获的接口,点击“选项”按钮(或直接双击接口)。 - 在“捕获设置”中,找到“捕获数据包时包含FCS”或类似的选项(如果有的话)。注意:这个选项是否可用取决于驱动和网卡是否支持。 4. **验证是否捕获到FCS**: - 捕获一个数据包,查看以太网帧的末尾。 - 如果成功捕获到FCS,在Wireshark的包详情中,以太网帧部分会显示一个名为“Frame check sequence”或“FCS”的字段,后面跟着4个字节的CRC值。 5. **注意事项**: - 即使设置了捕获FCS,也可能无法成功。因为很多网卡驱动在将帧上传给操作系统时已经去掉了FCS。 - 无线网卡(802.11)捕获时更有可能捕获到FCS,因为有线以太网卡通常会在硬件校验后丢弃FCS。 6. **替代方法(如果无法直接捕获FCS)**: - 使用专用硬件分光器(TAP)捕获原始流量,然后通过另一台支持捕获FCS的系统(如Linux)来捕获。在Linux中,某些网卡驱动允许捕获FCS(如通过`ethtool -K eth0 rx-fcs on`开启),然后使用tcpdump或Wireshark捕获。 **示例(在Wireshark中查看)**: 如果成功捕获到FCS,在以太网帧的详情中,你会看到类似这样的结构: ``` Ethernet II, Src: ... , Dst: ... Destination: ... Source: ... Type: ... [Frame check sequence: 0x12345678] # 这就是FCS ``` **总结步骤**: 1. 确认网卡和驱动支持捕获FCS(需要查阅网卡和驱动文档)。 2. 安装或重新配置Npcap驱动,确保选择捕获FCS的选项。 3.Wireshark中尝试捕获并查看以太网帧末尾是否有FCS字段。 如果上述方法不可行,那么很可能是因为硬件或驱动不支持将FCS传递给上层。 --- ### 相关问题 1. 如何在Linux系统下捕获包含FCS的以太网帧? 2. 为什么以太网帧需要FCS校验? 3. Wireshark中如何解析自定义协议? 4. 如何验证捕获的FCS是否正确? </think> ### Windows系统下抓包查看帧校验序列(FCS)的方法 在Windows系统中查看帧校验序列(FCS)需要特定的配置,因为默认情况下Wireshark等工具会剥离FCS字段。以下是详细操作步骤: --- ### **一、核心原理** 1. **FCS的位置与作用** FCS位于以太网帧尾部(4字节),用于CRC错误校验[^1]。结构如下: ``` | 目的MAC (6) | 源MAC (6) | 类型 (2) | 数据 (46-1500) | FCS (4) | ``` - 整个帧最小64字节(含FCS),最大1518字节[^2] 2. **Windows抓包特殊性** Windows网络栈默认在数据传递到应用层前移除FCS,因此需要特殊配置才能捕获原始FCS[^2]。 --- ### **二、查看FCS的具体步骤** #### **1. 安装并配置Npcap驱动** ```mermaid graph LR A[安装Npcap] --> B[勾选'支持原始802.11流量'] B --> C[勾选'捕获FCS'] ``` - 下载地址:https://npcap.com - **关键选项**必须勾选: - ☑️ `Support raw 802.11 traffic` - ☑️ `Capture FCS at the end of frames` #### **2. Wireshark配置** 1. 打开Wireshark → 选择网卡 → 点击"齿轮"图标 2. 在"Capture Settings"中: - 勾选 **`Capture packets in monitor mode`** - 勾选 **`Capture FCS`** 3. 开始抓包后,在帧详情中定位: ```plaintext Frame (物理层) └── [Frame check sequence: 0x00000000] ``` #### **3. 验证FCS存在** 捕获帧后检查: - 帧总长度 ≥ 64字节(含FCS) - 在"Frame"层底部查看4字节的`Frame check sequence` - 示例:若显示`Frame check sequence: 0x3a5b8f2d`即为FCS值 --- ### **三、异常情况处理** #### **1. 无法看到FCS的解决方法** | **现象** | **原因** | **解决方案** | |----------|----------|--------------| | 无FCS字段 | 网卡驱动不支持 | 更新网卡驱动或更换Intel/I350等服务器级网卡 | | FCS全零 | 硬件剥离FCS | 在设备管理器中禁用`Checksum Offload` | | 仅显示"Trailer" | 抓包位置错误 | 改用网络分光器(TAP)直接捕获物理层信号 | #### **2. 调试命令** ```powershell # 检查Npcap配置 npcap-config --show-config | findstr "FCS" # 禁用校验和卸载(需管理员权限) Disable-NetAdapterChecksumOffload -Name "Ethernet" -TcpIPv4 ``` --- ### **四、技术限制说明** 1. **硬件依赖性** 仅部分网卡支持FCS捕获[^2]: - ✅ 支持:Intel I350/X550, Broadcom NetXtreme - ❌ 不支持:Realtek PCIe GbE系列 2. **协议差异** - 有线以太网:FCS默认被移除 - 无线802.11:更易捕获完整FCS[^3] --- ### **五、替代方案** 若无法直接捕获FCS: 1. **计算CRC32校验值** ```python import binascii def calc_fcs(frame_without_fcs): return binascii.crc32(frame_without_fcs) & 0xFFFFFFFF ``` 2. **使用Linux系统抓包** ```bash # 启用FCS捕获 ethtool -K eth0 rx-fcs on tcpdump -i eth0 -w capture.pcap ``` --- ### **相关问题** 1. 如何验证捕获到的FCS值是否正确? 2. 为什么无线网络抓包更容易获取FCS?[^3] 3.Windows下如何解析自定义的FCS校验算法? 4. 哪些工业交换机支持镜像包含FCS的原始帧? [引用标识说明] [^1]: MAC帧结构及FCS位置 [^2]: Windows与Linux抓包差异 [^3]: 无线帧类型与FCS
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值