ARP 欺骗检测/预防在这里似乎很流行。除了端口窃取等其他技术,我想知道以下是否可以防止它:
每当我的 Linux 工作站获得网络连接时,我可以自动添加一个静态 ARP 条目,该条目使用当时获得的默认网关的 MAC 地址指定。(据推测,网关 NIC 不只是在事后更改它们的 MAC。)
实现为类似于以下脚本的东西,可以放入/etc/network/if-{up,down}.d
基于 Debian 的 GNU/Linux(或/etc/NetworkManager/dispatcher.d
任何使用的地方):
#!/bin/sh
# If not Debian, account for NetworkManager's dispatcher.d
IFACE="${IFACE:-$1}" MODE="${MODE:-$2}"
# Support eth/wlan/wwan interfaces
case "$IFACE" in en*|eth*|wl*|ww*) ;; *) exit 0; esac
neighbors="/run/ifup.$(basename "$0").$IFACE"
case "$MODE" in
start|*up*)
sleep 6
arp -an -i "$IFACE" | cut -d' ' -f 2,4 | tr -d '()' > "$neighbors"
while read host hwaddr; do arp -s $host $hwaddr; done < "$neighbors"
;;
stop|*down*)
[ ! -f "$neighbors" ] && exit 0
while read host _hwaddr; do arp -d $host; done < "$neighbors"
rm "$neighbors"
;;
esac
我想在建立连接后立即存在竞争条件,但除此之外,如果没有别的,为了保护默认网关的 MAC,像这样的轻量级的东西会工作并且工作得很好,可以设置并忘记它吗?会不会影响wifi漫游?还有其他考虑吗?