2020年5月22日星期五

Linux命令(9)ifconfig命令

Linux命令(9)ifconfig命令


目录

  • ifconfig命令
    • 显示网络设备
    • 设置网络设备

ifconfig命令

  • 功能说明:显示或设置网络设备

  • 用法

    • ifconfig [interface] [up|down]
    • ifconfig interface options | address ...
  • 选项

    选项说明
    -a显示所有接口的状态,包括未激活的接口的信息。
    up启动指定的网络设备
    down关闭指定的网络设备

显示网络设备

~]# ifconfig	# 显示当前主机上所有处于活动状态的网络接口的信息~]# ifconfig -a # 显示所有接口的状态,包括未激活的接口的信息

示例:显示当前主机上所有处于活动状态的网络接口的信息

[root@www ~]# ifconfigeth0  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  #关闭混杂模式

混杂模式是我们将实现网络监控必要的一步。启用混杂模式的作用是每个主机在接收报文时,如果目标地址不是自己,就不会接收,启用混杂模式时,如果目标地址不是自己也会接收,这样便于我们在本地抓包,分析网络通信。