linux系统arp绑定,Linux下查看arp静态绑定地址

首先,做两个对比试验:root@janbe root]# arp -a

? (192.168.8.241) at 00:15:58:A2:13: D0 [ether] on eth0

? (192.168.8.1) at 00:15:C5:E1: D1:58 [ether] on eth0

[root@janbe bin]# arp -s 192.168.8.1 00:15:C5:E1: D1:58

[root@janbe bin]# arp -a

? (192.168.8.241) at 00:15:58:A2:13: D0 [ether] on eth0

? (192.168.8.1) at 00:15:C5:E1: D1:58 [ether] PERM on eth0

发现没有?多了一个PERM!!

或者

[root@janbe bin]# cat /proc/net/arp

IP address    HW type     Flags    HW address          Mask     Device

192.168.8.241 0x1       0x2        00:15:58:A2:13: D0     *        eth0

192.168.8.1    0x1       0x6       00:15:C5:E1: D1:58     *        eth0

[root@janbe bin]# arp -s 192.168.8.241 00:15:58:A2:13: D0

[root@janbe bin]# cat /proc/net/arp

IP address    HW type     Flags    HW address          Mask     Device

192.168.8.241 0x1       0x6       00:15:58:A2:13: D0     *        eth0

192.168.8.1    0x1       0x6       00:15:C5:E1: D1:58     *        eth0发现没有?Flags改变了! 所以我们可以用两种方法找到arp的静态绑定地址:#arp -a | grep PERM   或者#cat /proc/net/arp | grep 0x6 但建议用后者比较快。

利用静态ARP表进行控制

我们知道,ARP(Address Resolution Protocol,地址转换协议)被当作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。

不 妨设想一下,如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结 果是A与B根本不能进行通信。Linux可以通过arp命令控制ARP转换,即IP到MAC的转换。因此,也能利用这一功能对用户MAC地址进行匹配。下 面我们就来看看arp命令的用法。

输入arp将显示当前所有ARP转换记录,类似于这样:

Address HWtype HWaddress Flags Mask Iface

www.myhome.net ether 00:06:29:57:16:F5 C eth0

218.200.80.177 ether 00:01:30:F4:32:40 C eth1

ntc9.myhome.net ether 00:02:1E:F1:92:C2 C eth0

192.168.1.25 ether 00:02:1E:F1:92:C2 C eth0

由此可以看到,当前系统保留的IP地址与MAC地址一一对应,并指明了硬件类型(Hwtype)和通信所使用的接口(Iface)。不过这些都是动态生成的,无需手工干预。我们要做的恰恰是手工干预这一过程。

我 们需要用到arp命令的另一重要功能,就是手工更改这一对应关系。此外,该命令还可以读取文本文件中的ARP记录,其默认文件是/etc/ethers。 也就是说,当输入ARP-f的时候,系统就会读取/etc/ethers这个文件,并以其中的项目取代系统当前的ARP记录。假设/etc/ethers 文件内容如下:

192.168.1.25 00:02:01:50:bb:53

然后执行命令arp -f。

这时,我们查看系统ARP表,会发现无论192.168.0.25原来对应的MAC地址是什么,都会被新的所取代:

Address HWtype HWaddress Flags Mask Iface

www.myhome.net ether 00:06:29:57:16:F5 C eth0

218.200.80.177 ether 00:01:30:F4:32:40 C eth1

ntc9.myhome.net ether 00:02:1E:F1:92:C2 C eth0

192.168.1.25 ether 00:02:01:50:bb:53 C eth0

此 时,本机发往192.168.1.25的数据包目标MAC地址将由原来的00:02:1E:F1:92:C2改为00:02:01:50:bb:53。显 然,如果192.168.1.25所在网卡的MAC地址并非00:02:01:50:bb:53,数据包就无法到达正确的目的地,那么它们也就无法通信 了。这样也达到了识别非法用户的目的。

当然,控制MAC地址的方法还不止这些,例如可以利用交换机的端口管理功能识别用户。根据交换 机的原理,它是直接将数据发送到相应端口,那么就必须保有一个数据库,包含所有端口所连网卡的MAC地址,由此可见,控制每个端口使用的MAC地址理论上 是完全可行的。大部分中高端交换机如3Com SuperStack系列等,都具有这种功能。具体操作与交换机型号有关,这里就不赘述。

最 后,提醒一下,MAC地址控制并非绝对保险。正如这个世界上没有绝对解不开的密码一样,所谓安全都是相对于特定的环境而言。现在,很多网卡都支持MAC地 址的软件修改,Linux和Windows本身也都有办法修改这一物理地址。不过由于这种方式相对稳定,摒弃了繁琐的客户端设置,对用户完全透明,而且具 备很强的可操作性,所以在某种程度上说是安全的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值