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

GSoC2013

状态

我们正在收集项目提案。请参见下面的“想法”。

链接

  • Wireshark 的 GSoC 2013 页面

  • GSoC 2013 公告

  • FAQ

  • 日历

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

  • 一般要求

  • 申请指南

想法

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

  • 主题
  • 主题摘要,应完成什么
  • 预期结果摘要
  • 可担任导师的开发者
  • 前置条件
  • 这些语言的专业水平(beg./adv./exp.)
  • 适用的 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 时,他们应看到接口列表,并能够应用捕获过滤器并在这些接口上进行捕获。他们不应必须以 root 身份运行 Wireshark、更改设备权限,或对系统进行其他修改。

导师。Gerald Combs

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

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

文件后端 tvbuff

摘要。Tvbuff(testy, virtual buffers)是 Wireshark 的主要数据结构之一。你在 packet detail 和 packet bytes 视图中看到的一切都由 tvbuff 驱动。这也是 Wireshark 消耗大量内存的原因。tvbuff 的内容通常是磁盘上数据的副本,因此至少在某些情况下,应该可以通过从文件系统读取 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 浏览器应用。

预期结果。一个基于 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 还可以让你在客户端执行统计 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 领域。解剖引擎,文件读取器

数据包编辑器(UI)

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

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

导师。Gerald Combs

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

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

数据包编辑器(CLI)

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

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

导师。Gerald Combs

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

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

itshark(CLI)

摘要。tshark 的交互式版本

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

导师。LuisOntanon

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

Wireshark 领域。Epan,console

讨论。你是在考虑一种“命令行”程序,就像 ed 或 ex 是“命令行”编辑器那样,还是一种“全屏”或“curses”程序,就像 vi 或 emacs 是“全屏”编辑器那样(这可能更像是“Wireshark 的 curses 版本”,而不是“tshark 的交互式版本”),或者两者都是?--GuyHarris

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

Fileshark

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

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

导师。Unknown

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

Wireshark 领域。UI,wiretap,epan。

Imported from https://wiki.wireshark.org/GSoC2013 on 2020-08-11 23:14:26 UTC

相关 Wireshark Wiki 页面

网络分析技术档案