每个人都说 Ubuntu 是开源的,但是当我在 Wireshark 上监控它时,我发现它使用来自微软的专有 SMB 协议共享文件夹。
所以我想问:
我错了吗?我看到的这个 SMB 协议是开源的吗?
如果不是,那么 Ubuntu 使用的是人们无法检查的代码,对吗?
如果我错了,请纠正我,谢谢。
答案1
在 Ubuntu 上,SMB 的实现方式如下:桑巴,它是免费软件,因此是开源的。
答案2
作为一名 IT 专业人士,我可以在这里为您提供一些指导。
仅仅因为某个协议主要由 Microsoft 或其他公司使用,并不一定意味着它是专有的。市面上有大量的协议,它们曾经都是专有的。Samba (SMB) 只是其中一种协议,用过的被专有,但后来被广泛扩展和理解,并且已经创建了开源实现。该协议本身不再是专有的。但关键是,你不必担心关于该流量。从您发帖后的评论来看,您或多或少关心这些是否与您看到的是不同的原型,并且只是因为您共享两台计算机并且没有安装 Samba。协议专有性已在上面解释,但“为什么会看到它”的第二部分将在下面解释。
仅仅因为您没有安装支持 SMB 的软件,并不意味着网络上的其他地方没有安装该软件。tshark
使用 Wireshark 嗅探网络流量时libpcap
,你会看到系统在网络连接上看到的任何数据包,无论这些数据包是否直接发送给你。这就是“嗅探网络流量”,接入网络并检查连接中实际传输的流量,以更好地了解网络状态。
在 IT 安全领域,我们在受雇时经常会做这种事情,以查看是否有任何可疑的事情发生 - 我会定期前往客户所在地并接入他们的网络,查看是否有任何奇怪的事情发生,通常只有当特定的计算机或类似的东西出现问题时才会发生,但看到你的计算机不知道如何处理的流量并不罕见,因为你没有为它安装软件。
例如。我有一台 Linux 电脑。我所有的系统都是 Linux。当我访问基于 Windows 的客户端网络时,我会看到各种 Windows 独有的流量,这些流量并非所有权不一定,但只是我的计算机不关心或不生成的通信。这并不意味着有什么问题,我只是在观察通过网络电缆传输的内容以及我的系统会看到的内容,这就是监控网络流量的全部意义所在。它有助于识别“奇怪”的东西,这可以解释为什么有些东西不起作用,但也有助于识别什么是合法的给定网络上的预期流量。
此外,如果 Wireshark 能够读取数据包并解码后让您了解数据包包含的内容或正在执行的操作,那么它不一定是专有协议。它可能只是有详尽的文档记录,但在大多数情况下它可能不是专有的。
如果您很懒,请看 TL;DR:是否安装了 Samba 并不重要,如果 SMB 协议数据包通过网络传输,并且您的计算机看到该数据包并且您在 Wireshark 中看到它,这并不意味着它是恶意流量或其他什么。它只是您的数据包嗅探器指示它看到的通过连接传输的单个数据包是恶意流量。这就是流量嗅探/监控的工作原理。如果您没有运行软件或服务来处理数据包,或者数据包是发往广播地址而不是您的计算机,那么它将无法对您的计算机执行任何操作。(通常如此。例外情况太多,无法在此解释,并且需要几周的培训才能为您提供基本的想法和信息。)