我只是想知道为什么大多数数据包嗅探器都需要sudo?
我猜他们可能在低级区域工作以嗅探数据包,但我想知道他们机制的确切原因,这就是需要sudo.
谢谢!
我只是想知道为什么大多数数据包嗅探器都需要sudo?
我猜他们可能在低级区域工作以嗅探数据包,但我想知道他们机制的确切原因,这就是需要sudo.
谢谢!
出于显而易见的原因,数据包捕获需要提升权限。(你想让任何白痴都能看到所有流量吗?)程序通常需要能够将界面置于混杂模式。它需要访问“原始”套接字。两者都是特权功能。
对于 Stack Exchange 的系统管理员部分(可能是超级用户)来说,这是一个更好的问题。
但是,在 Linux 上,您真正需要的是CAP_NET_ADMIN以及CAP_NET_RAW哪些是功能系统的一部分。这些可以在不以 root 身份运行的情况下提供给用户/程序;但以 root 身份运行它们通常是最简单的方法。
您可以通过搜索这些功能——CAP_NET_ADMIN / CAP_NET_RAW 找到更多相关信息。