ifconfig 使用总结

ifconfig 输出内容含义

Linux下一般利用ifconfig获取网络接口设备信息,其输入如下所示:

~ # ifconfig  -a
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP RUNNING NOARP  MTU:16  Metric:1
          RX packets:5028 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:40224 (39.2 KiB)  TX bytes:0 (0.0 B)

can1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

dummy0    Link encap:Ethernet  HWaddr 72:C7:2C:C5:03:52
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 00:01:02:A4:71:28
          inet addr:192.168.11.251  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::201:2ff:fea4:7128/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:799 errors:0 dropped:0 overruns:0 frame:0
          TX packets:175 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:56695 (55.3 KiB)  TX bytes:17999 (17.5 KiB)
          Memory:ffe4e0000-ffe4e0fff

eth1      Link encap:Ethernet  HWaddr 00:01:02:A4:73:28
          inet addr:192.168.1.251  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::201:2ff:fea4:7328/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76 (76.0 B)  TX bytes:1530 (1.4 KiB)
          Memory:ffe4e2000-ffe4e2fff

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:42 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5148 (5.0 KiB)  TX bytes:5148 (5.0 KiB)

~ #

以eth0为例进行说明:

eth0:网卡的代号。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

HWaddr :表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)

第二行:网卡的IP地址、广播地址、子网掩码

inet addr:ipv4地址。表示网卡的IP地址。
Bcast:广播地址。
Mask:子网掩码

第三行:ipv6相关

inet6 addr:ipv6地址。

第四行

UP:代表网卡开启状态;如果是关闭状态则不显示UP
RUNNING:有说法是代表网卡的网线被接上,自己测试验证发现使用ifconfig eth0 down后,UP和RUNNING均不显示;使用ifconfig eth0 up后,UP和RUNNING均显示;
MULTICAST:支持组播
BROADCAST:支持广播
MTU:1500  网络接口的最大传输单元(Maximum Transmission Unit ):1500字节。是包或帧的最大长度,一般以字节记。(参考文献1)
Metric:1 与路由相关的参数 

第五、六行:网络从启动到目前为止数据包接收、发送数据包情况统计。

packets:数据包数量
RX errors: 表示总的收包的错误数量,这包括 too-long-frames 错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。
RX dropped: 表示数据包已经进入了 Ring Buffer,但是由于内存不够等系统原因,导致在拷贝到内存的过程中被丢弃。
RX overruns: 表示了fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ请求之前的那块 buffer。很明显,overruns 的增大意味着数据包没到 Ring Buffer 就被网卡物理层给丢弃了,而 CPU 无法即使的处理中断是造成 Ring Buffer 满的原因之一,上面那台有问题的机器就是因为 interruprs分布的不均匀(都压在 core0),没有做 affinity 而造成的丢包。
RX frame: 表示 misaligned 的 frames。
对于 TX 的来说,出现上述 counter 增大的原因主要包括 aborted transmission, errors due to carrirer, fifo error, heartbeat erros 以及 windown error。
除了packets,其他都表示有问题,暂时还没有研究太深,查了网上的说法,基本来着同一个出处。
参考文献3-5。	

第七行:

collisions:表示数据包冲突的情况,如果次数太多,表示网络不太好。
txqueuelen:传输数据的缓冲区的存储长度。

第八行:接收、发送数据字节数统计信息。

RX bytes:接收总字节数。
TX bytes:发送总字节数。

第九行:网卡硬件的内存地址

参考资料:

参考文献1:MTU
参考文献2:Metric
参考文献3:如何理解ifconfig中的errors/dropped/fifo/frame统计指标
参考文献4:ifconfig 下面的一些字段(errors, dropped, overruns)
参考文献5:网络丢包相关(二)
参考文献6:linux命令ifconfig
参考文献7:ifconfig命令查看网卡配置与网络状态信息
参考文献8:ifconfig命令详解

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux中,ifconfig命令已经被弃用,而是使用ip命令来管理网络接口。下面是一些常见的ip命令用法: 1. 查看网络接口信息: ``` ip address show ``` 2. 启用或禁用网络接口: ``` ip link set eth0 up ip link set eth0 down ``` 3. 设置网络接口IP地址: ``` ip address add 192.168.1.100/24 dev eth0 ``` 4. 删除网络接口IP地址: ``` ip address del 192.168.1.100/24 dev eth0 ``` 5. 添加或删除路由: ``` ip route add default via 192.168.1.1 ip route del default via 192.168.1.1 ``` 希望这些命令能帮助你管理Linux网络接口。 ### 回答2: 在某些情况下,Linux系统可能无法使用ifconfig命令是因为以下几个可能的原因: 1. 系统缺少ifconfig命令:在某些Linux发行版中,ifconfig命令可能没有默认安装,如果无法使用ifconfig,可以尝试使用其他命令替代,如ip命令。 2. 系统配置不正确:如果系统中缺少必要的网络驱动程序或配置不正确,ifconfig命令可能无法正常工作。可以尝试重新配置网络设置或安装适当的驱动程序以解决问题。 3. 用户权限不足:如果当前用户没有足够的权限运行ifconfig命令,则无法使用该命令。可以尝试使用sudo命令以管理员权限运行命令。 4. PATH环境变量设置错误:如果系统的PATH环境变量没有正确配置,可能无法正确找到ifconfig命令的位置。可以检查PATH变量的设置,并确保包含ifconfig命令所在的目录。 5. 网络接口未激活:在某些情况下,网络接口可能处于非激活状态,导致ifconfig命令无法使用。可以使用ifconfig命令的另一个选项,如ifconfig -a,来查看所有网络接口的状态,并尝试激活相关的接口。 总之,无法使用ifconfig命令可能是由于多种原因导致的,需要根据具体情况进行排查和解决。 ### 回答3: 在Linux操作系统中,我们无法使用ifconfig命令的常见原因可能是以下几种: 1. 系统无ifconfig命令:可能是因为我们所使用Linux发行版中没有默认安装ifconfig命令。在某些新的Linux发行版中,ifconfig命令已被标记为弃用,而使用ip命令替代。因此,你可以尝试使用ip命令来代替ifconfig命令。 2. ifconfig命令不在环境变量中:在某些情况下,即使系统中存在ifconfig命令,我们也可能无法直接使用该命令。这可能是因为我们的系统环境变量没有配置正确,没有包含ifconfig命令所在的目录。解决此问题的方法是将ifconfig命令所在的目录添加到系统的环境变量中,或者直接指定ifconfig命令的完整路径。 3. 缺少必要的权限:有时,我们可能没有足够的权限来运行ifconfig命令。ifconfig命令通常需要root或sudo权限才能运行。如果我们当前的用户没有足够的权限,我们可以尝试切换到root用户或使用sudo命令来运行ifconfig命令。 总结起来,如果Linux无法使用ifconfig命令,可能是因为系统中不存在该命令、环境变量配置不正确或缺少必要的权限。我们可以通过安装命令、配置环境变量或获得足够权限来解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值