ping -m选项有什么用?我读了ping手册页但我无法理解。在谷歌搜索后,我看到如果使用-m选项,则将SO_MARK选项添加到套接字。那么,这个选项的用途是什么?我们什么时候应该使用它?
提前致谢。
答案 0 :(得分:0)
选项-m仅存在于OSX计算机上。
它允许您为传出数据包设置IP生存时间。如果未指定,则内核使用net.inet.ip.ttl MIB变量的值。
TTL值定义路由器之间可以执行的跳数。
答案 1 :(得分:0)
在Linux上,SO_MARK用于标记传出的数据包:
SO_MARK (since Linux 2.6.25) Set the mark for each packet sent through this socket (similar to the netfilter MARK target but socket-based). Changing the mark can be used for mark-based routing without netfilter or for packet filtering. Setting this option requires the CAP_NET_ADMIN capability.
因此,如果您使用该选项ping:
$ping -m 10 <host>
然后可以使用<host>
上的iptables过滤:
$iptables -A INPUT -m mark --mark 0xa -j ACCEPT
或直接使用getsockopt()
的代码。
它可以用于各种原因,例如路由决策或网络调试。