gpt4 book ai didi

linux - 使用 IPTABLES 的 MAC 地址字节计数器

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:42:03 25 4
gpt4 key购买 nike

假设我是Server,我想查看特定MAC地址的下载和上传带宽。带有上传监控链。我用这个:
iptables -N clientA_upload 然后 iptables -A FORWARD -m mac --mac-source 00:11:22:33:44:55:66 和它工作得很好。
- 但是当涉及到下载链时。我使用 iptables -A FORWARD -m mac --mac-destination 00:11:22:33:44:55:66 并且 iptables 不支持 mac-destination。请帮帮我

P/s: 我只想通过MAC地址来监控。不是ip地址。因为在安卓操作系统中。它不支持使用 IP 地址进行字节计数。所以请帮忙!!!

最佳答案

对于缺少的 --mac-destination 技巧是将 iptables --mac-sourceCONNMARK 结合起来:

  • 首先使用--mac-source来匹配来自您感兴趣的mac地址的数据包。
  • 使用CONNMARK来标记整个连接,即两个方向(!)和
  • 现在检查带有连接标记的另一个方向的数据包。


# lan interface
if_lan=eth0

# packets going to mac address will pass through this:
iptables -t mangle -N clientA_download

# mark connections involving mac address:
iptables -t mangle -A PREROUTING -i $if_lan -m state --state NEW -m mac --mac-source 00:11:22:33:44:55 -j CONNMARK --set-mark 1234

# match packets going to mac address:
iptables -t mangle -A POSTROUTING -o $if_lan -m connmark --mark 1234 -j clientA_download


最初我认为这只适用于来自 lan 的 tcp 连接,但鉴于 --state NEW 的定义,它应该适用于 tcp 和 udp (!)

对于计数器,另请参阅 ipset,这对这个非常有用。

Policy Routing on Linux based on Sender MAC Address是这个答案的灵感来源。

关于linux - 使用 IPTABLES 的 MAC 地址字节计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15731364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com