为什么大多数数据包嗅探器在执行时都需要 sudo?

网络工程 包分析
2022-03-01 04:37:10

我只是想知道为什么大多数数据包嗅探器都需要sudo

我猜他们可能在低级区域工作以嗅探数据包,但我想知道他们机制的确切原因,这就是需要sudo.

谢谢!

2个回答

出于显而易见的原因,数据包捕获需要提升权限。(你想让任何白痴都能看到所有流量吗?)程序通常需要能够将界面置于混杂模式。它需要访问“原始”套接字。两者都是特权功能。

对于 Stack Exchange 的系统管理员部分(可能是超级用户)来说,这是一个更好的问题。

但是,在 Linux 上,您真正需要的是CAP_NET_ADMIN以及CAP_NET_RAW哪些是功能系统的一部分。这些可以在不以 root 身份运行的情况下提供给用户/程序;但以 root 身份运行它们通常是最简单的方法。

您可以通过搜索这些功能——CAP_NET_ADMIN / CAP_NET_RAW 找到更多相关信息。