GoogleHacking 发表于 2024-5-27 10:25

一个CTF流量分析题,求解



过滤之后就是这样了。发现了h264视频编码,但是不知道怎么还原这个编码,求大佬指点。
附件:https://wwo.lanzn.com/iIyEb1zvjr9i

周易 发表于 2024-5-27 15:20

本帖最后由 周易 于 2024-5-27 16:17 编辑

按顺序提取UDP数据报,合并使用`ffplay`播放即可。

```py
import os
import pyshark
import struct

cap = pyshark.FileCapture("sdp-video.pcapng")
buf = []
for i in cap:
    if hasattr(i, "udp"):
      payload = bytes(map(lambda x: int(x, 16), i.udp.payload.split(":")))
      (idx,) = struct.unpack(">H", payload)
      buf.append((idx, payload))
buf.sort()
with open("sdp-video.264", "wb") as f:
    for idx, payload in buf:
      f.write(payload)
os.system("ffplay sdp-video.264")
```

GoogleHacking 发表于 2024-5-27 15:42

周易 发表于 2024-5-27 15:20
提取UDP数据报,合并使用`ffplay`播放即可。

```py


这个代码里的wb啥意思

GoogleHacking 发表于 2024-5-27 15:47

周易 发表于 2024-5-27 15:20
提取UDP数据报,合并使用`ffplay`播放即可。

```py


这个代码我没跑出来,我下载pyshark库了,但是没法直接跑,给我报错了https://s21.ax1x.com/2024/05/27/pk1CzqO.png

周易 发表于 2024-5-27 15:52

本帖最后由 周易 于 2024-5-27 16:09 编辑

GoogleHacking 发表于 2024-5-27 15:47
这个代码我没跑出来,我下载pyshark库了,但是没法直接跑,给我报错了
示例代码,仅供参考。事实上,你还需要考虑手工处理序列顺序问题。`pyshark`只是一种选择,你还可以尝试`scapy`。

安装方式(https://www.52pojie.cn/forum.php?mod=redirect&goto=findpost&ptid=1868292&pid=48904163)这里你问过也被回答过。

周易 发表于 2024-5-27 16:31

代码和解释已经编辑更新了,请刷新后查看。以防万一,把你之前另外一个提问的答案重新强调一下。但是:人不能,至少不应该每次原地重复。

Q1:如何解决流量题目?
A1:建议使用Ubuntu系统,配合Python编程。

Q2:如何安装`pyshark`?
A2:需要首先安装`tshark`,然后安装`pyshark`。

```sh
apt install tshark
pip install pyshark
```

Q3:本题中如何安装`ffplay`?
A3:安装`ffmpeg`即可。

```sh
apt install ffmpeg
```

Q4:本题答案是什么?
A4:我没有仔细看视频,大致如下。

```
flag{ef051f0cd551650c8b6c9eac7b5ad861}
```
页: [1]
查看完整版本: 一个CTF流量分析题,求解