- 論壇徽章:
- 36
|
本帖最后由 Godbach 于 2016-09-02 21:53 編輯
回復(fù) 1# linuxlearning4R
這個(gè) mac 匹配的就是 源 IP,應(yīng)該是匹配 dst mac 沒有太大意義吧。
kernel 中的 xt_mac.c 的核心代碼如下,也說明是 source mac
28 static bool mac_mt(const struct sk_buff *skb, struct xt_action_param *par)
29 {
30 const struct xt_mac_info *info = par->matchinfo;
31 bool ret;
32
33 if (skb->dev == NULL || skb->dev->type != ARPHRD_ETHER)
34 return false;
35 if (skb_mac_header(skb) < skb->head)
36 return false;
37 if (skb_mac_header(skb) + ETH_HLEN > skb->data)
38 return false;
39 ret = ether_addr_equal(eth_hdr(skb)->h_source, info->srcaddr);
40 ret ^= info->invert;
41 return ret;
42 }
|
|