wireshark针对捕获到的数据,可以:
wireshark可以读取以前保存的文件。方法有二:
作用: 打开要查看的捕获文件
“打开捕获文件”对话框允许您搜索以前捕获的数据包的捕获文件,以便在wireshark中显示。
通过菜单栏【File → Save or File → Save As…】选择将数据报保存到某个文件中。
作用
保存 VS 另存为:
并不是所有的信息都将保存在捕获文件中。比如,大多数文件格式不记录丢弃的数据包的数量
wireshark可以将数据包数据以其本机文件格式(pcapng)和其他协议分析器的文件格式保存,以便其他工具可以读取不会数据
作用:将捕获文件合并到当前加载的文件中(多个捕获文件合并为一个)
有三种方法:
这允许你选择要合并到当前加载的文件中的文件。如果你的当前数据尚未保存,系统会要求你先保存它。
有三种合并方式:
操作1
注意:如果正在捕获流量,那么这个功能是禁用的
操作2
作用:将包含十六进制转储的文本文件导入到新的临时捕获中
支持两种转换输入的方法
wireshark可以理解od -Ax -tx1 -v.
格式的hexdump。换句话来说,每个字节都被单独显示,并被一个空格包围。每一行以一个偏移量开始,描述包中的位置,每个新包以0空为,并且有一个空格将偏移量与下面的字节分开。偏移量是一个十六进制数字(也可以是八进制或者十进制),超过两个十六进制数字。下面是可以可以导入的转储示例:
000000 00 e0 1e a7 05 6f 00 10 ........
000008 5a a0 b9 12 08 00 46 00 ........
000010 03 68 00 00 00 00 0a 2e ........
000018 ee 33 0f 19 08 7f 0f 19 ........
000020 03 80 94 04 00 00 10 01 ........
000028 16 a2 0a 00 03 50 00 0c ........
000030 01 01 0f 19 03 80 11 01 ........
对每行的宽度或字节数没有限制。此外,该行末尾的文本转储将被忽略。字节和十六进制数字可以是大写或小写。偏移量之前的任何文本将被忽略,包括电子邮件转发字符>。字节串行之间的任何文本行都将被忽略。偏移量用于跟踪字节,因此偏移量必须正确。任何只有字节而没有前导偏移量的行将被忽略。偏移量被识别为长度超过两个字符的十六进制数字。任何字节之后的文本将被忽略(例如字符转储)。此文本中的任何十六进制数字也会被忽略。偏移量为0表示开始一个新包,因此一个包含一系列hexdump的文本文件可以转换为一个包含多个包的包捕获。信息包的前面可以有一个时间戳。这些都是根据给出的格式来解释的。如果不是,则第一个包的时间戳是当前时间,导入就会发生。多个包的时间戳各有一纳秒的差异。一般来说,除了这些限制,Wireshark在读取hexdumps方面相当自由,并且已经测试了各种混乱的输出(包括通过电子邮件多次转发,换行受限等)。
还有一些其他的特殊特性需要注意。任何第一个非空白字符为#的行都将作为注释被忽略。任何以#TEXT2PCAP开头的行都是指令,可以在该命令后面插入选项,以便Wireshark处理。目前还没有实现任何指令。在未来,这些可能会被用来对转储和处理方式进行更细粒度的控制,例如时间戳、封装类型等。
752/5000
Wireshark还能够使用GLib的GRegex指定的自定义perl正则表达式扫描输入。使用正则表达式捕捉单个数据包在给定文件wireshark将搜索给定的文件从开始到倒数第二个字符(\ n和最后一个字符将被忽略)的重叠(非空)字符串匹配给定的正则表达式,然后识别领域导入使用命名捕获子组。使用为每个字段提供的格式信息,然后将它们解码并翻译成标准的libpcap文件,并保持包的顺序。
注意,每个命名的捕获子组必须在一个包中匹配一次,但是它们可能在regex中出现多次。
例如如下转储:
> 0:00:00.265620 a130368b000000080060
> 0:00:00.280836 a1216c8b00000000000089086b0b82020407
< 0:00:00.295459 a2010800000000000000000800000000
> 0:00:00.296982 a1303c8b00000008007088286b0bc1ffcbf0f9ff
> 0:00:00.305644 a121718b0000000000008ba86a0b8008
< 0:00:00.319061 a2010900000000000000001000600000
> 0:00:00.330937 a130428b00000008007589186b0bb9ffd9f0fdfa3eb4295e99f3aaffd2f005
> 0:00:00.356037 a121788b0000000000008a18
可以被以下导入:
regex: ^(?<dir>[<>])\s(?<time>\d+:\d\d:\d\d.\d+)\s(?<data>[0-9a-fA-F]+)$
timestamp: %H:%M:%S.%f
dir: in: < out: >
encoding: HEX
此对话框允许您选择要导入的文本文件(包含packetdata的十六进制转储)并设置导入参数。
(1)文件源:确定必须导入哪个输入文件
?
)组已存在是可用?…
)组时可用。设置好所有输入和导入参数后,单击import开始导入。如果您当前的数据之前没有保存,您将被要求先保存它。
如果import按钮没有解锁,请确保所有封装参数都在预期范围内,并且在使用regex模式时填充了所有解锁的字段(占位符文本不是默认使用的)。
完成后,将会有一个新的捕获文件,其中包含从文本文件中导入的帧。
在进行捕获时使用“多个文件”选项(捕获文件和文件格式目录)时,捕获数据分散在多个捕获文件上,称为文件集
由于手工处理一个文件集可能会变得乏味,Wireshark提供了一些功能以方便地处理这些文件集。
Wireshark如何检测文件集的文件?
文件集中的文件名使用Prefix_Number_DateTimeSuffix格式,可能类似于test_00001_20210714183910.pcap。一个文件集的所有文件共享相同的前缀(如“test”)和后缀(如“。pcap”)以及不同的中间部分。
为了找到文件集的文件,Wireshark会扫描当前加载文件所在的目录,并检查是否有与当前加载文件的文件名模式(前缀和后缀)匹配的文件。
这种简单的机制通常工作得很好,但也有其缺点。如果捕获了多个具有相同前缀和后缀的文件集,Wireshark会将它们作为单个文件集进行检测。如果文件被重命名或分散在多个目录中,该机制将无法找到集合中的所有文件。
File→File set子菜单中的以下功能可以方便地使用文件集:
最后一行将包含有关当前使用的目录的信息,在该目录中可以找到文件集中的所有文件。
每次打开/关闭捕获文件时,此对话框的内容都会更新。
wireshark提供了多种导出数据包数据的选项。
作用:
这可以保存特定的数据。对于从捕获文件中删除不相关或者不需要的数据包非常有用
可以将数据包列表、数据包详细信息和数据包字节保存为纯文本、CSV、JSON和其他格式
(1)纯文本
"No.","Time","Source","Destination","Protocol","Length","SSID","Info","Win Size"
"1","0.000000","200.121.1.131","172.16.0.122","TCP","1454","","10554 > 80 [ACK] Seq=1 Ack=1 Win=65535 Len=1400 [TCP segment of a reassembled PDU]","65535"
"2","0.000011","172.16.0.122","200.121.1.131","TCP","54","","[TCP ACKed unseen segment] 80 > 10554 [ACK] Seq=1 Ack=11201 Win=53200 Len=0","53200"
"3","0.025738","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Spurious Retransmission] 10554 > 80 [ACK] Seq=1401 Ack=1 Win=65535 Len=1400 [TCP segment of a reassembled PDU]","65535"
"4","0.025749","172.16.0.122","200.121.1.131","TCP","54","","[TCP Window Update] [TCP ACKed unseen segment] 80 > 10554 [ACK] Seq=1 Ack=11201 Win=63000 Len=0","63000"
"5","0.076967","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Previous segment not captured] [TCP Spurious Retransmission] 10554 > 80 [ACK] Seq=4201 Ack=1 Win=65535 Len=1400 [TCP segment of a reassembled PDU]","65535"
(3)json
{
"_index": "packets-2014-06-22",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.encap_type": "1",
"frame.time": "Jun 22, 2014 13:29:41.834477000 PDT",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1403468981.834477000",
"frame.time_delta": "0.450535000",
"frame.time_delta_displayed": "0.450535000",
"frame.time_relative": "0.450535000",
"frame.number": "2",
"frame.len": "86",
"frame.cap_len": "86",
“将pdu导出到文件…”对话框允许您过滤捕获的协议数据单元(pdu)并将它们导出到文件中。它允许您导出重新组装的pdu,避免不使用TCP的HTTP等较低的协议,以及解密的pdu,不使用HTTP等较低的协议,不使用TLS和TCP。
传输层安全(Transport Layer Security, TLS)加密客户端和服务器之间的通信。它最常见的用途是通过HTTPS浏览网页。
解密TLS通信需要TLS秘密。您可以以存储在“密钥日志文件”中的会话密钥的形式获得它们,或者使用RSA私钥文件。要了解更多细节,请参阅TLS wiki页面。
“File→Export TLS Session Keys…”菜单选项生成一个新的“key log File”,其中包含Wireshark知道的TLS会话秘密。如果您通常使用RSA私钥文件解密TLS会话,则此特性非常有用。RSA私钥非常敏感,因为它可以用来解密其他TLS会话并模拟服务器。会话密钥只能用于解密数据包捕获文件中的会话。然而,会话密钥是在Internet上共享数据的首选机制。
要导出捕获的TLS会话密钥,请执行以下步骤:
作用:
说明:
接下来:
最后:
作用:
作用:
操作1
操作2:设置禁用
不建议这样做
作用: