Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

GSoC2013

状态

我们正在收集项目提案。见下方“想法”。

链接

  • Wireshark 的 GSoC 2013 页面

  • GSoC 2013 公告

  • FAQ

  • 日历

Nmap SoC 页面为学生提供了一些不错的指南,包括:

  • 一般要求

  • 申请指南

想法

http://www.wireshark.org/lists/wireshark-dev/201302/msg00199.html 中所讨论,请使用以下模板。提案应按标题字母顺序排序。

  • 主题
  • 主题摘要,应完成什么
  • 预期结果摘要
  • 可担任导师的开发者
  • 前置条件
  • 这些语言的专业水平(初级/高级/专家)
  • 适用的 Wireshark 领域
  • 所需的 Wireshark 专业水平
  • 对已经熟悉代码的开发者估计所需时间

请尽可能提供更多信息。

任意捕获源

摘要。Wireshark 使用一个名为 dumpcap 的外部程序执行数据包捕获。Dumpcap 仅支持通过 libpcap/WinPcap 或 stdin 进行捕获。如果能够从其他来源捕获数据将非常有用,例如通过 SSH 从远程 tcpdump 实例或 dumpcap 数据捕获,或者从非 libpcap 的捕获源(例如 KisBee)捕获。

预期结果。用户应能够将自定义捕获源添加到接口列表。用户应能够像配置本地接口一样配置它们(例如设置 snapshot length 或 capture filter),并且它们在其他方面应像普通接口一样工作。

导师。Gerald Combs

前置条件。Dumpcap 用 C 编写,修改它需要中级 C 水平。捕获源可能应使用一种或多种常见脚本语言编写,例如 Bash、Python 或 Ruby,以便为社区提供可工作的示例。

Wireshark 领域。捕获,UI

另见。Bug 8585 - Add support for arbitrary capture sources

捕获权限

摘要。你不应该以 root 身份运行 Wireshark。永远不要。Linux、OS X,有时还有 Windows,在捕获网络流量时会要求你具有 root 权限。我们在这方面已经取得了一些进展,但还没有完全到位。在此项目中,学生应提出一种在 Linux 和 OS X 上捕获数据包的方法,该方法要求用户进行最少交互,同时不牺牲安全性。

预期结果。当普通用户运行 Wireshark 时,应看到接口列表,并能够应用 capture filter 并在这些接口上捕获。他们不应需要以 root 身份运行 Wireshark、修改设备权限,或对系统进行其他修改。

导师。Gerald Combs

前置条件。中级 C,Linux(Polkit)和 OS X(Authorization Services)上的权限分离概念。

Wireshark 领域。Dumpcap,UI,权限分离

文件后备 tvbuff

摘要。Tvbuffs(testy, virtual buffers)是 Wireshark 的主要数据结构之一。你在 packet detail 和 packet bytes 视图中看到的一切都由 tvbuffs 驱动。这也是 Wireshark 消耗大量内存的原因。tvbuffs 的内容通常是驻留在磁盘上的数据副本,因此至少在某些情况下,应可以通过从文件系统读取 tvbuff 数据而不是将数据复制到内存中来减少内存消耗。

预期结果。Wireshark 应以很少或没有性能损失为代价消耗更少内存。

导师。Gerald Combs

前置条件。中级 C

Wireshark 领域。解析核心,内存管理

另见。https://www.wireshark.org/lists/wireshark-dev/200910/msg00149.html 此功能的进一步讨论

进程信息

摘要。大多数数据包来自用户和进程,也发往用户和进程。它们是谁,又是什么?大多数主流操作系统都有基于事件和/或轮询的机制来收集这些信息并将其与数据包关联起来,但到目前为止还没有人为 Wireshark 添加这方面的支持。

预期结果。与每个数据包关联的应用程序和用户应显示在 packet detail 中。进程信息应在 Linux、OS X 和 Windows 上可用。如果你能将 stack trace 与数据包关联起来,世界上的一小部分人会对你赞不绝口。

导师。Gerald Combs

前置条件。中级 C

Wireshark 领域。Dumpcap

另见。Hone,2001 年的原始提案,Procflow,Bug1184 - *Shark should support associating TCP and UDP packets with processes

JSONshark

摘要。一个双重项目:基于 JSON 消息的 epan(Wireshark 的解析核心)接口,以及一个用于控制它的 Javascript Browser App。

预期结果。一个基于 Web 的 shark。

导师。LuisOntanon

前置条件。中级 C,JavaScript

Wireshark 领域。EPAN,UI

新的导出对象

摘要。Wireshark 可以导出嵌入在 HTTP、SMB 和 DICOM 流中的对象,但还有许多其他协议我们不支持,例如 FTP 和 SMTP。

预期结果。用户应能够从 FTP、SMTP 和其他协议流中提取文件。

导师。Alexis La Goutte

前置条件。中级 C

Wireshark 领域。EPAN,UI

QtShark

摘要。Wireshark 目前使用 GTK 工具包。到 Qt 的初始移植(又称 QtShark)已经开始,但还有大量工作要做。也有许多机会可以将 Wireshark 的用户界面提升到新的层次。如果你对更好地实现 Wireshark 当前功能之一有想法,或有很棒的新功能想法,这里就是提出它的地方。

预期结果。Wireshark 的新 UI。

导师。Alexis La Goutte

前置条件。中级 C/C++,Qt API,UX

Wireshark 领域。UI

Android 版 Wireshark

摘要。将 Wireshark 移植到 Android。这包括将当前基于桌面的数据包分析方法转换为基于触控的工作流。

预期结果。数据包。在平板上。

导师。Gerald Combs

前置条件。中级 C/C++。

Wireshark 领域。UI/UX,Qt

另见。上面的 JSONshark,Android PCAP,Ubertooth for Android,Necessitas (Qt for Android)

讨论。

  • 我认为实现“平板上的数据包”的最佳方式是通过 Web 浏览器(见 JSONshark)。-- Luis

  • 我认为这些用例不同,而且二者都有效。JSONshark 会将捕获源与显示分离,这与我们当前架构相比是一个根本性转变。例如,这会让家庭用户更容易看到其路由器上正在发生什么。Android 移植则会让你可以在手机或平板上运行 Wireshark,而且多亏 Mike Kershaw,你现在可以使用 RTL 8187 适配器进行本地 802.11 捕获。-- Gerald

  • JSONshark 还可以让你在客户端执行 statistics taps,而仅在服务器上完成解析。不过,它将捕获源与显示分离,但没有将捕获源与解析分离;若要分离它们,你需要某种远程捕获协议,例如 rpcap。对于家庭用户场景,你认为需要在路由器上安装什么?-- Guy

  • Java 也是这个项目的前置条件,对吧?-- G94

时序信息图

摘要。Chrome、Fiddler 和其他工具已经普及了时序信息显示的使用。Wireshark 中缺少这类分析,但我们可以提供比其他产品深入得多的视图。例如,Wireshark 可以同时显示 ARP 以及其他工具当前显示的 HTTP 和 DNS 事务。我们还可以显示其他协议(例如 SMB)的时序信息。

预期结果。显示界面应展示会话列表,并以图形方式渲染时序信息。

导师。Gerald Combs

前置条件。中级 C/C++,Qt

Wireshark 领域。UI/UX,数据可视化

另见。Chrome Developer Tools 中的 “Network” 显示。

讨论。也许可以为此利用当前的 conversation list 代码。

改进 Fuzzing

摘要。花一个夏天来破坏 Wireshark!Wireshark 的自动化构建系统每天全天运行 fuzz tests。它帮助我们发现了许多严重 bug。然而,测试环境比较朴素且低效,也没有反映当前 fuzzing 的最新水平。

预期结果。Fuzz tests 应更高效,并具有更完整的覆盖率。

导师。Gerald Combs

前置条件。高级 C,脚本语言(Bash,可能还有其他),安全

Wireshark 领域。解析引擎,文件读取器

Packet Editor (UI)

摘要。能够编辑数据包内容并将编辑后的数据包保存回磁盘会很有用。对此已有初步支持,但要完整实现还有大量工作要做。Wireshark 的独特之处在于,它应能够超越简单的十六进制编辑,并基于协议字段修改数据包。

预期结果。用户应能够轻松且自然地以交互方式编辑数据包。

导师。Gerald Combs

前置条件。中级 C/C++,Qt 或 GTK API。

Wireshark 领域。解析引擎,文件格式

Packet Editor (CLI)

摘要。除了上面的交互式编辑之外,如果增强 editcap 的编辑能力,使用户能够在给定捕获文件的所有数据包中任意插入、修改和移除数据,也会很有用。例如,重写 sequence numbers,或通过替换地址、移除或覆盖敏感数据来匿名化数据包。

预期结果。用户应能够大规模修改数据包内容。

导师。Gerald Combs

前置条件。中级 C/C++。

Wireshark 领域。解析引擎,文件格式

itshark (CLI)

摘要。tshark 的交互式版本

预期结果。用户应能够捕获并打开文件,然后按需过滤数据包,并可视化摘要以及单个数据包的协议树。

导师。LuisOntanon

前置条件。中级 C/C++。

Wireshark 领域。Epan,控制台

讨论。你想的是一种“命令行”程序,类似 ed 或 ex 这种“命令行”编辑器,还是一种“全屏”或“curses”程序,类似 vi 或 emacs 这种“全屏”编辑器(这可能更像是“Wireshark 的 curses 版本”,而不是“tshark 的交互式版本”),还是二者兼有?--GuyHarris

我一开始想的是类似 ed 的东西,这样之后可以将其守护进程化。curses 适配也会很好,尤其适合将其嵌入到路由器和类似设备中。--LuisOntanon

Fileshark

摘要。Wireshark 会打开并让你探索 MP3、PNG 和其他非网络捕获文件,但这不是它的主要用途。可以创建一个 Wireshark 的分支,专注于文件格式而不是网络流量,让用户查看图像、可执行对象、office 文档、PDF 和其他文件的内部结构。

预期结果。一个可用于文件探索的 Wireshark 姊妹可执行文件或项目。

导师。未知

前置条件。中级 C/C++,Qt API。

Wireshark 领域。UI,wiretap,epan。

导入自 https://wiki.wireshark.org/GSoC2013 ,时间为 2020-08-11 23:14:26 UTC

相关 Wireshark Wiki 页面

网络分析技术档案