如何对比两个网络数据包的差异

问题描述

如何对比分析同一个客户端发送或者接受到的正常和异常的网络数据包,辅助定位问题。

问题分析

我们可以使用Tcpdump工具进行抓包抓包,然后使用 Wirshrak 进行 TCP 流过滤,最后可以使用 Beyond Compare 进行网络数据包分析。

解决方案

1.使用tcpdump工具捕获所需要的网络数据包,抓包命令根据业务实际情况自行调整。

2.使用Wireshark工具,导出正常的TCP流文件和异常的TCP流文件文件,具体操作步骤如下:

File -> Export -> as "Plain Text" file:

- Check "Selected packet only"

- Check "Packet summary line"

- Check "Packet details: All expanded"

```

`

3.导出的文件的文件使用图形化工具进行对比分析例如:gnu diff, WinMerge or gvimdiff,本示例中使用的工具是Beyond Compare,步骤如下:

````undefined

1.新建会话,选择文本对比,添加步骤2中导入进来的两个文件

2.选择会话,点击文本比较报告,点击生成HTML报告,最后在浏览器中查看

```

`

4.浏览器中对比IOS网络模型每一层的数据异常,具体报告示例如下图

![图片](https://lf3-volc-editor.volccdn.com/obj/volcfe/sop-public/upload_ad8bdaf40d7efe2f95827d13cf7c09ee.png)

# 参考文档:

[1][https://stackoverflow.com/questions/7586585/comparing-two-wireshark-capture-files](https://stackoverflow.com/questions/7586585/comparing-two-wireshark-capture-files)

**如果您有其他问题,欢迎您联系火山引擎**[技术支持服务](https://console.volcengine.com/ticket/createTicketV2/)