Ping 大小限制 - FreeBSD

Ping 大小限制 - FreeBSD

在 FreeBSD ping 的手册页中:

 -s packetsize
         Specify the number of data bytes to be sent.  The default is 56,
         which translates into 64 ICMP data bytes when combined with the 8
         bytes of ICMP header data.  Only the super-user may specify val-
         ues more than default.  This option cannot be used with ping
         sweeps.

有人知道我如何让非超级用户发送大于 56 的 ping 吗?我可以增加默认大小,或者以某种方式允许非 root 用户使用 -s 吗?我知道这会带来安全隐患,因为这可能会允许用户发起 ping 泛滥,所以如果我可以将其限制为仅允许单个(无 shell)用户,那就更好了。

答案1

考虑使用 sudo,例如:

coryj  ALL = NOPASSWD: /bin/ping

这应该让用户coryj运行/bin/ping警告:使用他喜欢的任何参数,而不仅仅是-s),无需密码。

请注意此行为的安全隐患;请参阅sudo(8)和 的手册页sudoers(5)

答案2

您可以修改源代码并更改行为。您可以使默认大小更大,它位于98的行ping.c中。或者,您可以通过将行替换为 来/usr/src/sbin/ping/禁用此功能。更改后,运行。446if (0) {make install

我很想知道为什么需要一个普通用户来发送大型 ICMP 消息。

相关内容