看看如何使用tcpdump + Wireshark来分析TCP数据包。可以说TCP分组的分析是编程网络的基础。通过TCP包分析,可以有效地解决网络编程中的许多问题。
我知道网络整合正在进行的节目,想了很久,不知道从哪里开始的工作条件,最近有项目需求,你有一对设备的被抓,既分析数据通信是否正确。
使用现有设备,我们为功能测试实现了以下网络拓扑图。选择捕获服务器之间的通信数据:10.88.65.206和客户端:10.88.65.128。
网络编程(1)TCP数据包分析。
以下开始介绍数据包捕获分析过程:
首先进入测试环境,服务器端,IP地址为:10.88.65.206,操作系统为:CentOS6.6。在客户端,IP地址为10.88.65.128,操作系统为:CentOS6.6。捕获工具:tcpdump,附带CentOS桌面操作系统。 TCP协议分析工具:Wireshark。
客户端和服务器之间的长连接是获得这对设备之间的通信数据。通过restart命令重新启动客户端设备,让客户端重新连接到服务器并发送数据。在重新启动客户端之前,在服务器端执行package capture命令:
Tcpdump tcp -i port eth0 3366 -s 0 -w test.cap
注意:简要说明此命令,在服务器的eth0网络端口的端口3366上获取完整的tcp包,并将数据写入test.cap文件。客户端和服务器将发送业务数据。至于什么业务数据,它取决于您的实际业务。
一旦客户端正确启动并恢复服务器服务数据,数据包捕获就会停止。从服务器下载test.cap包文件进行分析(您可以使用WinSCP,xftp和其他工具进行下载)。
如果您的计算机上安装了Wireshark,则无需重复安装。如果您的计算机上没有安装Wireshark,则需要安装它。安装完成后,您可以双击打开test.cap文件。开幕后的结果如下:
网络编程(1)TCP数据包分析。
与服务器通信的多个设备,为了快速查看这对设备之间的数据包,可以添加过滤器。网络编程(1)TCP数据包分析。
过滤后,我们可以看到其余数据是两个设备之间的数据。这更有利于我们的数据分析。
我们可以逐个查看数据,直到找到需要验证的数据。找到验证数据后,我们可以点击数据查看数据是否正确。图中灰色部分是我们测试中发送的商业数据。这里的数据都是十六进制字符串,您还可以将业务数据转换为十六进制字符串,以与此数据进行比较以验证其准确性。
网络编程(1)TCP数据包分析。
在获得先前的十六进制数据之后,我们可以通过项验证数据的校正。如果您是自定义协议,则可以将自定义协议与发送的实际数据进行比较。