<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://game.etao.net/w/index.php?action=history&amp;feed=atom&amp;title=PCAP%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D</id>
	<title>PCAP文件修复 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://game.etao.net/w/index.php?action=history&amp;feed=atom&amp;title=PCAP%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D"/>
	<link rel="alternate" type="text/html" href="https://game.etao.net/w/index.php?title=PCAP%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D&amp;action=history"/>
	<updated>2026-05-06T08:12:07Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://game.etao.net/w/index.php?title=PCAP%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D&amp;diff=252&amp;oldid=prev</id>
		<title>127.0.0.1：​创建页面，内容为“{{Ctf_Wiki}} &lt;span id=&quot;pcap-文件修复&quot;&gt;&lt;/span&gt; = PCAP 文件修复 =  &lt;span id=&quot;pcap文件结构&quot;&gt;&lt;/span&gt; == PCAP文件结构 ==  一般来说,对于 &lt;code&gt;PCAP&lt;/code&gt; 文件格式考察较少，且通常都能借助于现成的工具如 &lt;code&gt;pcapfix&lt;/code&gt; 直接修复，这里大致介绍下几个常见的块，详细可以翻看[http://www.tcpdump.org/pcap/pcap.html Here]。  * Tools ** [https://f00l.de/hacking/pcapfix.php PcapFix Online] ** [https://git…”</title>
		<link rel="alternate" type="text/html" href="https://game.etao.net/w/index.php?title=PCAP%E6%96%87%E4%BB%B6%E4%BF%AE%E5%A4%8D&amp;diff=252&amp;oldid=prev"/>
		<updated>2023-07-03T03:52:19Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{Ctf_Wiki}} &amp;lt;span id=&amp;quot;pcap-文件修复&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; = PCAP 文件修复 =  &amp;lt;span id=&amp;quot;pcap文件结构&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; == PCAP文件结构 ==  一般来说,对于 &amp;lt;code&amp;gt;PCAP&amp;lt;/code&amp;gt; 文件格式考察较少，且通常都能借助于现成的工具如 &amp;lt;code&amp;gt;pcapfix&amp;lt;/code&amp;gt; 直接修复，这里大致介绍下几个常见的块，详细可以翻看[http://www.tcpdump.org/pcap/pcap.html Here]。  * Tools ** [https://f00l.de/hacking/pcapfix.php PcapFix Online] ** [https://git…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Ctf_Wiki}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;pcap-文件修复&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= PCAP 文件修复 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pcap文件结构&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== PCAP文件结构 ==&lt;br /&gt;
&lt;br /&gt;
一般来说,对于 &amp;lt;code&amp;gt;PCAP&amp;lt;/code&amp;gt; 文件格式考察较少，且通常都能借助于现成的工具如 &amp;lt;code&amp;gt;pcapfix&amp;lt;/code&amp;gt; 直接修复，这里大致介绍下几个常见的块，详细可以翻看[http://www.tcpdump.org/pcap/pcap.html Here]。&lt;br /&gt;
&lt;br /&gt;
* Tools&lt;br /&gt;
** [https://f00l.de/hacking/pcapfix.php PcapFix Online]&lt;br /&gt;
** [https://github.com/Rup0rt/pcapfix/tree/devel PcapFix]&lt;br /&gt;
&lt;br /&gt;
一般文件结构&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;    0                   1                   2                   3   &lt;br /&gt;
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                          Block Type                           |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                      Block Total Length                       |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   /                          Block Body                           /&lt;br /&gt;
   /          /* variable length, aligned to 32 bits */            /&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                      Block Total Length                       |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
目前所定义的常见块类型有&lt;br /&gt;
&lt;br /&gt;
# Section Header Block: it defines the most important characteristics of the capture file.&lt;br /&gt;
# Interface Description Block: it defines the most important characteristics of the interface(s) used for capturing traffic.&lt;br /&gt;
# Packet Block: it contains a single captured packet, or a portion of it.&lt;br /&gt;
# Simple Packet Block: it contains a single captured packet, or a portion of it, with only a minimal set of information about it.&lt;br /&gt;
# Name Resolution Block: it defines the mapping from numeric addresses present in the packet dump and the canonical name counterpart.&lt;br /&gt;
# Capture Statistics Block: it defines how to store some statistical data (e.g. packet dropped, etc) which can be useful to undestand the conditions in which the capture has been made.&lt;br /&gt;
&lt;br /&gt;
== 常见块 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;section-header-block文件头&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Section Header BlocK(文件头) ===&lt;br /&gt;
&lt;br /&gt;
必须存在,意味着文件的开始&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;    0                   1                   2                   3   &lt;br /&gt;
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                Byte-Order Magic (0x1A2B3C4D)                  |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |   Major Version(主版本号)   |    Minor Version(次版本号)        |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                                                               |&lt;br /&gt;
   |                          Section Length                       |&lt;br /&gt;
   |                                                               |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   /                                                               /&lt;br /&gt;
   /                      Options (variable)                       /&lt;br /&gt;
   /                                                               /&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;interface-description-block接口描述&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Interface Description Block(接口描述) ===&lt;br /&gt;
&lt;br /&gt;
必须存在,描述接口特性&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;    0                   1                   2                   3   &lt;br /&gt;
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |           LinkType            |           Reserved            |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                  SnapLen(每个数据包最大字节数)                  |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   /                                                               /&lt;br /&gt;
   /                      Options (variable)                       /&lt;br /&gt;
   /                                                               /&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;packet-block数据块&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Packet Block(数据块) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    0                   1                   2                   3   &lt;br /&gt;
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |         Interface ID          |          Drops Count          |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                     Timestamp (High)   标准的Unix格式          |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                        Timestamp (Low)                        |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                         Captured Len                          |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   |                          Packet Len                           |&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   /                          Packet Data                          /&lt;br /&gt;
   /          /* variable length, aligned to 32 bits */            /&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
   /                      Options (variable)                       /&lt;br /&gt;
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== 例题 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;题目：第一届“百度杯”信息安全攻防总决赛 线上选拔赛：find the flag&lt;br /&gt;
&lt;br /&gt;
WP：https://www.cnblogs.com/ECJTUACM-873284962/p/9884447.html&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
首先我们拿到这样一道流量包的题目，题目名称为 &amp;lt;code&amp;gt;find the flag&amp;lt;/code&amp;gt; 。这里面给了很多提示信息，要我们去找到 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;第一步，搜索 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 字样&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
我们先去搜索看看流量包里面有没有 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 。我们使用 &amp;lt;code&amp;gt;strings&amp;lt;/code&amp;gt; 命令去找一下流量包， &amp;lt;code&amp;gt;Windows&amp;lt;/code&amp;gt; 的朋友可以用 &amp;lt;code&amp;gt;notepad++&amp;lt;/code&amp;gt; 的搜索功能去寻找。&lt;br /&gt;
&lt;br /&gt;
搜索命令如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;strings findtheflag.cap | grep flag&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
搜索结果如下：&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/strings-to-flag.png|strings-to-flag]]&lt;br /&gt;
&lt;br /&gt;
我们发现搜出了一大堆的东西，我们通过管道去过滤出 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 信息，似乎没有发现我们所需要找的答案。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;第二步，流量包修复&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
我们用 &amp;lt;code&amp;gt;wireshark&amp;lt;/code&amp;gt; 打开这个流量包&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/wireshark-to-error.png|wireshark-to-error]]&lt;br /&gt;
&lt;br /&gt;
我们发现这个流量包出现了异常现象，我们可以修复一下这个流量包。&lt;br /&gt;
&lt;br /&gt;
这里我们用到一个在线工具：http://f00l.de/hacking/pcapfix.php&lt;br /&gt;
&lt;br /&gt;
这个工具可以帮助我们快速地将其流量包修复为 &amp;lt;code&amp;gt;pcap&amp;lt;/code&amp;gt; 包。&lt;br /&gt;
&lt;br /&gt;
我们对其进行在线修复。&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/repaire-to-pcap.png|repaire-to-pcap]]&lt;br /&gt;
&lt;br /&gt;
修复完毕后点击 &amp;lt;code&amp;gt;Get your repaired PCAP-file here.&amp;lt;/code&amp;gt; 即可下载流量包，然后我们用 &amp;lt;code&amp;gt;wireshark&amp;lt;/code&amp;gt; 打开。&lt;br /&gt;
&lt;br /&gt;
既然还是要找 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; ，我们可以先看看这个流量包。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;第三步，追踪TCP流&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
我们追踪一下TCP流，看看有没有什么突破？&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/wireshark-to-stream.png|wireshark-to-stream]]&lt;br /&gt;
&lt;br /&gt;
我们通过追踪 &amp;lt;code&amp;gt;TCP&amp;lt;/code&amp;gt; 流，可以看到一些版本信息， &amp;lt;code&amp;gt;cookie&amp;lt;/code&amp;gt; 等等，我们还是发现了一些很有意思的东西。&lt;br /&gt;
&lt;br /&gt;
从 &amp;lt;code&amp;gt;tcp.stream eq 29&amp;lt;/code&amp;gt; 到 &amp;lt;code&amp;gt;tcp.stream eq 41&amp;lt;/code&amp;gt; 只显示了 &amp;lt;code&amp;gt;where is the flag?&amp;lt;/code&amp;gt; 这个字样，难道这是出题人在告诉我们 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 在这里嘛？&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;第四步，查找分组字节流&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
我们追踪到 &amp;lt;code&amp;gt;tcp.stream eq 29&amp;lt;/code&amp;gt; 的时候，在 &amp;lt;code&amp;gt;Identification&amp;lt;/code&amp;gt; 信息中看到了 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 中的 &amp;lt;code&amp;gt;lf&amp;lt;/code&amp;gt; 字样，我们可以继续追踪下一个流，在 &amp;lt;code&amp;gt;tcp.stream eq 30&amp;lt;/code&amp;gt; 的 &amp;lt;code&amp;gt;Identification&amp;lt;/code&amp;gt; 信息中看到了 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 中的 &amp;lt;code&amp;gt;ga&amp;lt;/code&amp;gt; 字样，我们发现将两个包中 &amp;lt;code&amp;gt;Identification&amp;lt;/code&amp;gt; 信息对应的字段从右至左组合，恰好就是 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; ！于是我们可以大胆地猜测， &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 肯定是藏在这里面。&lt;br /&gt;
&lt;br /&gt;
我们直接通过搜索-&amp;amp;gt;字符串搜索-&amp;amp;gt;分组字节流-&amp;amp;gt;搜索关键字 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 即可，按照同样的方式连接后面相连数据包的 &amp;lt;code&amp;gt;Identification&amp;lt;/code&amp;gt; 信息对应的字段，即可找到最终的flag！&lt;br /&gt;
&lt;br /&gt;
下面是搜索的截图：&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-01.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-02.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-03.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-04.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-05.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-06.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-07.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-08.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-09.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-10.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-11.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
[[File:./figure/find-the-flag-12.png|find-the-flag]]&lt;br /&gt;
&lt;br /&gt;
所以最终的 &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; 为：&amp;#039;&amp;#039;&amp;#039;flag{aha!_you_found_it!}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&lt;br /&gt;
* http://www.tcpdump.org/pcap/pcap.html&lt;br /&gt;
* https://zhuanlan.zhihu.com/p/27470338&lt;br /&gt;
* https://www.cnblogs.com/ECJTUACM-873284962/p/9884447.html&lt;/div&gt;</summary>
		<author><name>127.0.0.1</name></author>
	</entry>
</feed>