ifconfig命令
-
功能说明:显示或设置网络设备
-
用法
- ifconfig [interface] [up|down]
- ifconfig interface options | address ...
-
选项
选项 说明 -a 显示所有接口的状态,包括未激活的接口的信息。 up 启动指定的网络设备 down 关闭指定的网络设备
显示网络设备
~]# ifconfig # 显示当前主机上所有处于活动状态的网络接口的信息
~]# ifconfig -a # 显示所有接口的状态,包括未激活的接口的信息
示例:显示当前主机上所有处于活动状态的网络接口的信息
[root@www ~]# ifconfig
eth0 Link encap:Ethernet HWaddr F8:0F:41:03:97:29
inet addr:192.168.3.254 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::fa0f:41ff:fe03:9729/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:85770 errors:0 dropped:0 overruns:0 frame:0
TX packets:127036 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12605281 (12.0 MiB) TX bytes:109423481 (104.3 MiB)
Interrupt:16
eth1 Link encap:Ethernet HWaddr 50:78:4C:71:41:18
inet addr:192.168.2.254 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::5278:4cff:fe71:4118/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:132706 errors:0 dropped:0 overruns:0 frame:0
TX packets:84836 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:112099485 (106.9 MiB) TX bytes:12463939 (11.8 MiB)
Interrupt:20 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:168 errors:0 dropped:0 overruns:0 frame:0
TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10056 (9.8 KiB) TX bytes:10056 (9.8 KiB)
关于上述信息的一些说明,以eth0为例
-
第一行
- eth0:表示第一块网卡
- Link encap:连接的类型,Ethernet表示以太网
- HWaddr:网卡的硬件地址,也称MAC地址
-
第二行
- inet addr:IPv4地址
- Bcast:广播地址,(broadcast)
- Mask:子网掩码,(netmask)
-
第三行
- inet6 addr:IPv6地址
- Scope:作用域
-
第四行
- UP:表示网卡处于活动状态
- BROADCAST:表示该接口支持广播功能
- RUNNING:表示接口处于活动状态
- MULTICAST:表示支持多播(组播)功能
- MTU:表示网卡的最大传输单元不能超过1500个字节
- Metric:度量值
-
第五行
- RX:表示接收
- packets:表示网卡激活后,接收报文的数量。以字节为单位,并进行换算
- errors:表示接收错误的数量
- dropped:表示接收丢包的数量
- overruns:表示溢出的数量
- frame:表示帧,帧错误表示收到帧后CRC错误。造成这种情况的原因可能是电缆损坏,或者机器或交换机上的接口损坏。
-
第六行
- TX:表示发送
- TX packets:表示发送的数量。以字节为单位,并进行换算
- TX errors:表示发送的错误数量
- dropped:表示发送中丢包的数量
- overruns:表示溢出的数量
- carrier:载波,它的值越高,表示网络性能下降
- collisions:冲突数据包的数量,它的值应该为0或至少一个小数,如果数值过大表示网络中有相当多的数据包在相互干扰
- txqueuelen:表示传输队列长度
注意:正常情况下errors、dropped、overruns、frame、carrier它们的值都应该为0,如果大于0则有可以是网络接口或电缆损坏。
设置网络设备
ifconfig interface IP/NETMASK [up|down]
ifconfig interface IP netmask MASK [up|down]
示例2:修改eth1的网卡接口地址为192.168.2.22
方法1:
[root@www ~]# ifconfig eth1 192.168.2.22/24
方法2:
[root@www ~]# ifconfig eth1 192.168.2.22 netmask 255.255.255.0
注意:基于命令行进行的配置仅在当前系统有效,重启系统则无效。编辑配置文件才能永久有效。
示例3:启用或关闭混杂模式
[root@www ~]# ifconfig eth0 promisc #启用混杂模式
[root@www ~]# ifconfig eth0 -promisc #关闭混杂模式
混杂模式是我们将实现网络监控必要的一步。启用混杂模式的作用是每个主机在接收报文时,如果目标地址不是自己,就不会接收,启用混杂模式时,如果目标地址不是自己也会接收,这样便于我们在本地抓包,分析网络通信。