具体是在openwrt上实现,因为360防蹭网,你懂的.
原理是不响应非网关MAC地址的ARP询问,这样就不会被扫描出来。
opkg update
opkg install arptables
然后往规则里加一条,(eth0处自行根据实际修改为对应接口,XX:XX:XX:XX:XX:XX为网关mac地址)
arptables -A INPUT -i eth0 --src-mac ! XX:XX:XX:XX:XX:XX -j DROP
功能到此完成。至于以上的命令重启后失效及换不同网关的时候,各位自行保存或另作智能处理了。
(进一步)
以上可以屏蔽掉别人的主动查询,但是阻止不了我向别人查询,而且套用上面的命令格式也不行(OUTPUT不能与-i同用),
后来又找到资料:arptables隐身(下方附上),针对IP设置,规则为:
#192.168.11.1为网关
arptables -A INPUT -s 192.168.11.1 -j ACCEPT
arptables -A OUTPUT -d 192.168.11.1 -j ACCEPT
#10.1.1.0/24为我自己的内网
arptables -A INPUT -s 10.1.1.0/24 -j ACCEPT
arptables -A OUTPUT -d 10.1.1.0/24 -j ACCEPT
arptables -P INPUT DROP
arptables -P OUTPUT DROP
这样就可以禁止自己向非网关的地址发ARP数据。
附:arptables隐身
arptables隐身有2种方式:
1、限制INPUT当聋子
arptables -A INPUT -s 192.168.0.1 -j ACCEPT
arptables -P INPUT DROP
这样只接收路由器192.168.0.1的ARP包,系统是没有办法和其他主机联系了,ARP表永远都只有一项。其他人发来的ARP REQUEST听不到,所以也没法回应,就是十聋九哑。但是如果PING别人的时候发出一个ARP REQUEST,自己还是会暴露在对方的ARP表里,因为只是聋了,主动还是能说话的。
2、限制OUTPUT当哑巴
arptables -A OUTPUT -d 192.168.0.1 -j ACCEPT
arptables -P OUTPUT DROP
这种方式因为能收到别人的ARP REQUEST,所以ARP表还是可能有很多项内容的,但是无法发送ARP REQUST和REPLY,所以别人的ARP表里不会知道你的MAC地址,相对比较安全。当然也可以使用静态ARP项绑定一下,然后禁止所有的ARP包。