最近老遇到无耻的Windows用户抢我Linux的IP地址,不甚烦恼,研究了一下午,终于解决了此问题。与大家分享一下。
假定的网关是192.168.5.1,掩码24位。而192.168.5.5已经被某Windows用户使用。
我的Linux在愉快的开机,结果在运行到 network 脚本的时候报错,说这个IP已经被别人使用,网络启动失败!Linux真是太谦让了!
现在的目标就是把这个IP抢回来,最坏的结果也至少保证“我用不了你也别想用”。
所以我就写了个脚本:
Shell代码
#!/bin/sh
while true;
do
ifconfig eth0 192.168.5.5/24 up
route add default gw 192.168.5.1
sleep 1
done
#arping -Uq -s192.168.5.5 -Ieth0 192.168.5.1 &
这样,只要我运行这个脚本,即使Windows的机器正在使用192.168.5.5,这个IP也会被我的Linux强制抢过来。
Linux被arp攻击解决办法
很多时候,我们的WEB服务器被挂马,上服务器检查发现代码又正常,这种情况是arp挂马,是同网段机器伪装网关的arp攻击,通过下面方法可以查出哪台机器有问题:
1、使用 tcpdump 抓包
tcpdump -qne arp
通过上面抓包,可以看到和网关相同MAC的IP就是有问题的机器
因为 arp 伪装装成网关,所以给通过网关的数据修改了,所以网页内容异常,所以其中一定有二台机器有问题。
只能让机房处理一下有问题的机器,要不在网关上绑定你的 MAC 的 ip 也行。
关键命令:
arping -U -I 发送包的网卡接口 -s 源ip 目的ip
实例:
假设你的eth0接口对应的ip为192.168.1.1,网关为192.168.1.254你就可以使用
arping -U -I eth0 -s 192.168.1.1 192.168.1.254