用ChatGPT解析Wireshark抓取的数据包样例

用Wireshark抓取的数据包,常用于网络故障排查、分析和应用程序通信协议开发。其抓取的分组数据结果为底层数据,看起来比较困难,现在通过chatGPT大模型,可以将原始抓包信息数据提交给AI进行解析,本文即是进行尝试的样例 。

一、报文抓取

1、使用免费开源的网络数据包分析工具Wireshark ,即可在windows环境下对网络报文进行抓取。下载链接可见官网https://www.wireshark.org/download.html

用ChatGPT解析Wireshark抓取的数据包样例_第1张图片

 2、安装过程比较简单,基本上就是一路回车即可,在此不作多述。

3、安装完成后启动软件,会自动识别到本机所有网络连接,选择要抓包的网口即可开始抓包,本示例主机有3块网卡,分别是“以太网”,“以太网2”,“以太网3”,通过右侧波形图可以看到各个网口是否有实时报文包,本文选择“以太网”为目标网口。

用ChatGPT解析Wireshark抓取的数据包样例_第2张图片

二、报文分析

1、选中网口后,Wireshark即开始实时抓包,如需进行特定网络访问操作分析,可以另启windows应用完成相应操作,点击图标停止按钮,可以停抓包。

用ChatGPT解析Wireshark抓取的数据包样例_第3张图片

 2、点击文件-导出分组解析结果为纯文件,用于chatGPT分析。用ChatGPT解析Wireshark抓取的数据包样例_第4张图片

三、实际测试分析样例 

“No.  Time  Source Destination   Protocol Length Info”行为每个Frame的起始,可进行单帧分析和关联帧联合分析

1、以抓取的首帧arp请求包为例:

No.     Time           Source                Destination           Protocol Length Info
      1 0.000000       HuaweiTe_7d:01:b9     Broadcast             ARP      60     Who has 192.168.17.120? Tell 192.168.17.34

Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface \Device\NPF_{74A2B4BF-7A0E-43E7-B1EB-3619B8D11F3A}, id 0
Ethernet II, Src: HuaweiTe_7d:01:b9 (a0:08:6f:7d:01:b9), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    Destination: Broadcast (ff:ff:ff:ff:ff:ff)
    Source: HuaweiTe_7d:01:b9 (a0:08:6f:7d:01:b9)
    Type: ARP (0x0806)
    Padding: 000000000000000000000000000000000000
Address Resolution Protocol (request)

 以“请用中文逐行讲解以下抓包信息:”加报文发送给ChatGPT,解析结果如下:

这是一条本地网络的ARP请求报文,主要内容如下:

  • 源MAC地址为 a0:08:6f:7d:01:b9, 代表发送方的物理地址是华为公司的设备
  • 目的MAC地址为 ff:ff:ff:ff:ff:ff,代表该报文是广播类型,被该网络内所有的设备可以接收到
  • ARP协议的类型值为0x0806
  • 发送ARP请求的目的是想要获取IP地址为192.168.17.120的设备的物理地址,查询报文中写道 "Who has 192.168.17.120? Tell 192.168.17.34", 发送方的IP地址是192.168.17.34, 目标IP地址为192.168.17.120
  • 该ARP报文总长度为60个字节,包含ARP协议的头部和尾部填充的0字节。

 2、以帧4ack包为例:

No. Time Source Destination Protocol Length Info
4 0.079535 192.168.17.234 192.169.64.122 TCP 54 53721 → 54850 [ACK] Seq=1 Ack=155 Win=63177 Len=0

Frame 4: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface \Device\NPF_{74A2B4BF-7A0E-43E7-B1EB-3619B8D11F3A}, id 0
Ethernet II, Src: VMware_ab:6c:c1 (00:50:56:ab:6c:c1), Dst: Cisco_9f:f8:96 (00:00:0c:9f:f8:96)
Destination: Cisco_9f:f8:96 (00:00:0c:9f:f8:96)
Source: VMware_ab:6c:c1 (00:50:56:ab:6c:c1)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.17.234, Dst: 192.169.64.122
Transmission Control Protocol, Src Port: 53721, Dst Port: 54850, Seq: 1, Ack: 155, Len: 0
Source Port: 53721
Destination Port: 54850
[Stream index: 0]
[Conversation completeness: Incomplete (12)]
[TCP Segment Len: 0]
Sequence Number: 1 (relative sequence number)
Sequence Number (raw): 1353275564
[Next Sequence Number: 1 (relative sequence number)]
Acknowledgment Number: 155 (relative ack number)
Acknowledgment number (raw): 2622441566
0101 .... = Header Length: 20 bytes (5)
Flags: 0x010 (ACK)
Window: 63177
[Calculated window size: 63177]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x681e [unverified]
[Checksum Status: Unverified]
Urgent Pointer: 0
[Timestamps]
[SEQ/ACK analysis]

ChatGPT解析结果如下: 

这是一份抓包信息,下面会对每一行进行解释:

No.:数据包的序号。

Time:数据包捕获时的时间。

Source:发送数据包的设备IP地址。

Destination:接收数据包的设备IP地址。

Protocol:发送数据包时所使用的协议。

Length:数据包的长度。

Info:一些关于数据包的具体信息。

该数据包的解释:

No.4:该数据包的序号是4。

Time:数据包捕获时间为0.079535秒。

Source:发送该数据包的设备IP地址为192.168.17.234。

Destination:接收该数据包的设备IP地址为192.169.64.122。

Protocol:数据包使用了TCP协议。

Length:数据包的长度是54个字节。

Info:数据包的信息是53721 → 54850 [ACK] Seq=1 Ack=155 Win=63177 Len=0。

Frame 4:此数据包是第4帧。

Ethernet II:该数据包是以太网类型。

Src:发送该数据包的MAC地址是00:50:56:ab:6c:c1。

Dst:接收该数据包的MAC地址是00:00:0c:9f:f8:96。

Type:IP协议类型为IPv4。

Internet Protocol Version 4:该数据包使用了IPv4协议版本。

Src:发送该数据包的IP地址是192.168.17.234。

Dst:接收该数据包的IP地址是192.169.64.122。

Transmission Control Protocol:该数据包使用了TCP协议。

Src Port:发送数据包使用了源端口53721。

Dst Port:接收数据包使用了目的端口54850。

Seq:本数据包所包含的数据的序列号是1。

Ack:确认号是155。

Len:数据包所包含数据的长度是0。

Flags:本数据包是TCP中的ACK确认包。

Window:接收者允许发送者发送的最大数据量是63177字节。

Urgent Pointer:紧急指针的数值为0。

Checksum:校验和的数值是0x681e。

[Timestamps]:该数据包包含时间戳。

 3、以帧6STP包为例:

用ChatGPT解析Wireshark抓取的数据包样例_第5张图片

 4、再来一个DNS请求来回包的样例:

帧381,dns查询请求:

No. Time Source Destination Protocol Length Info
381 2.845347 192.168.17.234 192.168.48.22 DNS 72 Standard query 0xc145 A adu.g-fox.cn

Frame 381: 72 bytes on wire (576 bits), 72 bytes captured (576 bits) on interface \Device\NPF_{74A2B4BF-7A0E-43E7-B1EB-3619B8D11F3A}, id 0
Ethernet II, Src: VMware_ab:6c:c1 (00:50:56:ab:6c:c1), Dst: Cisco_9f:f8:96 (00:00:0c:9f:f8:96)
Destination: Cisco_9f:f8:96 (00:00:0c:9f:f8:96)
Source: VMware_ab:6c:c1 (00:50:56:ab:6c:c1)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.17.234, Dst: 192.168.48.22
User Datagram Protocol, Src Port: 64488, Dst Port: 53
Domain Name System (query)
Transaction ID: 0xc145
Flags: 0x0100 Standard query
0... .... .... .... = Response: Message is a query
.000 0... .... .... = Opcode: Standard query (0)
.... ..0. .... .... = Truncated: Message is not truncated
.... ...1 .... .... = Recursion desired: Do query recursively
.... .... .0.. .... = Z: reserved (0)
.... .... ...0 .... = Non-authenticated data: Unacceptable
Questions: 1
Answer RRs: 0
Authority RRs: 0
Additional RRs: 0
Queries
adu.g-fox.cn: type A, class IN
[Response In: 382]

 ChatGPT解析结果如下: 

这是一条抓包信息,表示从源IP地址192.168.17.234发送一个标准查询请求到目的IP地址192.168.48.22的DNS服务器,查询的域名为adu.g-fox.cn,查询请求使用的是A记录,查询的类是IN。查询的协议是DNS,UDP协议下源端口为64488,目的端口为53。总共有72字节的数据,属于标准查询类型,返回的响应信息在下一条抓包信息中。 

帧382,dns查询请求回包: 

No.     Time           Source                Destination           Protocol Length Info
    382 2.845800       192.168.48.22          192.168.17.234         DNS      72     Standard query response 0xc145 Server failure A adu.g-fox.cn

Frame 382: 72 bytes on wire (576 bits), 72 bytes captured (576 bits) on interface \Device\NPF_{74A2B4BF-7A0E-43E7-B1EB-3619B8D11F3A}, id 0
Ethernet II, Src: Cisco_71:52:43 (00:de:fb:71:52:43), Dst: VMware_ab:6c:c1 (00:50:56:ab:6c:c1)
    Destination: VMware_ab:6c:c1 (00:50:56:ab:6c:c1)
    Source: Cisco_71:52:43 (00:de:fb:71:52:43)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.48.22, Dst: 192.168.17.234
User Datagram Protocol, Src Port: 53, Dst Port: 64488
Domain Name System (response)
    Transaction ID: 0xc145
    Flags: 0x8102 Standard query response, Server failure
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .0.. .... .... = Authoritative: Server is not an authority for domain
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...1 .... .... = Recursion desired: Do query recursively
        .... .... 0... .... = Recursion available: Server can't do recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
        .... .... ...0 .... = Non-authenticated data: Unacceptable
        .... .... .... 0010 = Reply code: Server failure (2)
    Questions: 1
    Answer RRs: 0
    Authority RRs: 0
    Additional RRs: 0
    Queries
        adu.g-fox.cn: type A, class IN
    [Request In: 381]
    [Time: 0.000453000 seconds] 

  ChatGPT解析结果如下: 

这是一个抓包信息,通过抓包工具捕获网络数据包得到的。以下是具体内容的逐行解释:

No. :数据包的序号,382表示这是捕获到的第382个数据包。

Time :网络数据包捕获的时间,2.845800表示距离抓包工具开启后的时间为2.845800秒。

Source :源地址,192.168.48.22 表示数据包来自本地网络地址为192.168.48.22的设备。

Destination :目的地址,192.168.17.234 表示数据包要发送到本地网络地址为192.168.17.234的设备。

Protocol :网络协议,DNS表示使用的是域名系统协议。

Length :数据包的长度,72字节。

Info :数据包的详细信息,Standard query response 0xc145 Server failure A adu.g-fox.cn 表示这是一个标准查询响应,但服务器出现故障,查询的域名为 adu.g-fox.cn。

Ethernet II :数据链路层,表示数据在局域网中的传输。

Src: Cisco_71:52:43 :源地址的MAC地址,00:de:fb:71:52:43 表示 MAC 地址是 00:de:fb:71:52:43 的设备。

Dst: VMware_ab:6c:c1 :目的地址的 MAC 地址,00:50:56:ab:6c:c1 表示 MAC 地址是 00:50:56:ab:6c:c1 的设备。

Internet Protocol Version 4 :网络层,表示数据在互联网上的传输。

Src: 192.168.48.22 :源地址,表示数据包来自本地网络地址为 192.168.48.22 的设备。

Dst: 192.168.17.234 :目的地址,表示数据包要发送到本地网络地址为 192.168.17.234 的设备。

User Datagram Protocol :传输层,负责应用程序之间的通信。

Src Port: 53 :源端口号,53 表示使用的是 DNS 协议。

Dst Port: 64488 :目的端口号,64488 表示接收该数据包的应用程序端口号。

Domain Name System (response) :表示这是一个 DNS 响应消息。

Transaction ID: 0xc145 :事务 ID。

Flags: 0x8102 Standard query response, Server failure:标记:0x8102,表示此响应是一个标准查询响应,但是服务器有错误的发生;

Questions: 1 :问题部分:查询的域名为 adu.g-fox.cn,查询的类型是 A 记录,类别为 IN。

Answer RRs: 0 :响应部分:已返回答案资源记录数,本例中为 0。

Authority RRs: 0 :响应部分:已返回权威资源记录数,本例中为 0。

Additional RRs: 0 :响应部分:附加的资源记录数,本例中为 0。

[Request In: 381] :请求部分:指出该响应消息是响应哪一个请求的。

[Time: 0.000453000 seconds] :从请求消息到返回响应消息的时间。本例中,0.000453000 seconds 表示请求到响应的时间间隔为 0.000453000 秒。

 结果一目了然,感觉是不是很爽。

你可能感兴趣的:(linux,运维,AI,wireshark,测试工具,人工智能)