14.5 配置网络接口
ifconfig
在14.1节中,介绍了如何用ifconfig
来获得网络接口的状态。不过,ifconfig
命令更为强大的功能是能够配置网络接口。
说明 用
ifconfig
能对配置进行相当多的修改,但这里只能演示一小部分(更多的细节,可以参见man ifconfig
)。
要将eth0
上的以太网卡的IP地址修改为192.168.0.125,可以运行以下命令(几乎所有与ifconfig
相关的命令,都需要以root用户来运行):
# ifconfig eth0 192.168.0.125
为了运行某种类型的网络数据包嗅探工具(如强大的Ethereal),需要首先将网卡设置为混杂(promiscuous)模式。在默认情况下,eth0
只监听发送给它的特定数据包,但为了嗅探网络上传递的所有数据包,就需要让网卡监听所有数据包,这就是混杂模式,如下所示:
# ifconfig eth0 promisc
设置好混杂模式后,运行ifconfig
命令,就能看到这个网卡正在监听它能接收到的所有数据包。看到第四行的PROMISC了吗?
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:02:8A:36:48:8A
inet addr:192.168.0.143 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::202:8aff:fe36:488a/64 Scope:Link
UP BROADCAST PROMISC MULTICAST MTU:1500 Metric:1
[Results truncated for length]
在使用完Ethereal后,不要忘记关闭混杂模式。
# ifconfig eth0 -promisc
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:02:8A:36:48:8A
inet addr:192.168.0.143 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::202:8aff:fe36:488a/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
甚至还能够修改[或“欺骗(spoff)”]网络设备的硬件MAC地址。某些ISP可能会把因特网服务链接到特定的计算机上,为了避开这种企图,通常就需要使用MAC“欺骗”。修改MAC地址时要小心,因为万一出错,就可能与其他网络设备发生冲突,引发问题。如果决定修改MAC地址,首先一定要用ifconfig
获得设备的默认MAC地址,以便以后可以把默认的MAC地址再修改回来(顺便说一下,这里的ifconfig
命令显示的MAC地址完全是虚构的,所以也没打算再使用该地址)。
# ifconfig eth0 hw ether 00:14:CC:00:1A:00
ifconfig
命令是使用网络接口的基石,务必要理解它的工作原理,这样才能最大限度地利用它提供的全部功能。