专栏首页C/C++基础Linux 命令(108)—— ifconfig 命令

Linux 命令(108)—— ifconfig 命令

1.命令简介

ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。

2.命令格式

ifconfig [-v] [-a] [-s] [INTERFACE]
ifconfig [-v] INTERFACE [aftype] OPTIONS | ADDRESS ...

不跟任何选项和参数单独执行 ifconfig 命令将显示当前活动接口的状态。如果给定一个接口参数,则它仅显示给定接口的状态。如果只给一个选项 -a,它将显示所有接口的状态,包括那些关闭的接口。其他情况,用于配置一个接口。

3.选项说明

-a
	显示所有接口的状态,包括那些关闭的接口
-s
	显示接口简短状态列表,类似于 netstat -i
-v
	冗余模式,遇到错误将报告错误信息
INTERFACE
	接口的名称。这通常是一个驱动程序名,后面跟着一个单元号,例如用于第一个以太网接口的 eth0
up
	此标志将导致激活接口。如果将地址分配给接口,则会隐式激活接口
down
	此标志用于关闭接口的驱动程序
[-]arp
	启用或关闭接口使用 ARP 协议
[-]promisc
	启用或禁用接口的混杂模式。如果选中,网络上的所有数据包都将由接口接收
[-]allmulti
	启用或禁用所有多播模式。如果选中,则接口将接收网络上的所有多播数据包
mtu N
	设置接口的最大传输单元
dstaddr ADDR
	为点对点链路(如 PPP)设置远程 IP 地址。关键字 dstaddr 现在已经过时了,使用 pointopoint 关键字代替
netmask ADDR
	设置接口的 IP 网络掩码。此值默认为通常的 A、B 或 C 类网络掩码(从接口 IP 地址派生),但可以设置为任何值
add ADDR/PREFIX_LEN
	向接口添加 IPv6 地址
del ADDR/PREFIX_LEN
	从接口中删除 IPv6 地址
tunnel ::aa.bb.cc.dd
	创建一个新的SIT(IPv6-in-IPv4)设备,通过隧道到达给定的目的地
irq ADDR
	设置此设备使用的中断行。并非所有设备都可以动态更改其 IRQ 设置
io_addr ADDR
	为该设备设置 I/O 空间中的起始地址
mem_start ADDR
	设置此设备使用的共享内存的起始地址。只有少数几个设备需要这个
media TYPE
	设置设备要使用的物理端口或介质类型。典型的类型值有10base2(细以太网)、10baseT(双绞线 10Mbps 以太网)、AUI(外部收发器)等。特殊的媒体类型可以使用 auto 来告诉驱动程序进行自动感知。注意,并非所有设备都可以更改此设置
[-]broadcast [ADDR]
	如果给定地址参数,则为该接口设置协议广播地址。否则设置(或清除)接口的 IFF_BROADCAST标志
[-]pointopoint [ADDR]
	这个关键字启用了接口的点对点模式,这意味着它是两台机器之间的直接连接,没有其他人监听它。如果给了地址参数,就像过时的 dstaddr 关键字一样,设置另一端的协议地址。否则设置或清除接口的 IFF_POINTOPOINT 标志
hw CLASS ADDR
	如果设备驱动程序支持此操作,则设置此接口的物理地址。CLASS 为硬件类型名称,ADDR 为物理地址。目前支持的硬件类包括 ether (Ethernet)、ax25 (AMPR AX.25)、ARCnet 和 netrom (AMPR NET/ROM)
multicast
	在接口上设置多播标志。一般不需要显示设置,因为驱动程序本身会设置正确的标志
ADDRESS
	接口的 IP 地址
txqueuelen LENGTH
	设置设备的传输队列的长度。对于具有高延迟(调制解调器链路,ISDN)的较慢设备,将其设置为小值是有用的,以防止快速批量传输过多地干扰诸如 telnet 之类的交互通信

4.常用示例

(1)查看处于激活状态的网络接口信息。

ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:1E:51  
          inet addr:10.160.7.81  Bcast:10.160.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0
          TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3607197869 (3.3 GiB)  TX bytes:6115042 (5.8 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:56103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5079451 (4.8 MiB)  TX bytes:5079451 (4.8 MiB)

eth0 表示第一块网卡。

第一行 Link encap:Ethernet 表示连接类型为以太网,HWaddr 00:16:3E:00:1E:51 为网卡的物理地址; 第二行 inet addr:10.160.7.81 为网卡的 IPv4 地址,Bcast:10.160.15.255 为广播地址,Mask:255.255.240.0 为子网掩码; 第三行 UP(代表网卡开启状态),BROADCAST(支持广播),RUNNING(代表网卡的网线被接上),MULTICAST(支持组播),MTU:1500(最大传输单元 1500 字节),Metric:1 表示网卡路由数据包优先级,数值越低,优先级越高; 第四、五行:接收、发送数据包情况统计; 第七行:接收、发送数据字节数统计信息。

lo 是表示主机的回环地址,这个一般是用来测试一个网络程序,只能在本机上访问,局域网或外网的主机无法访问该地址。

(2)查看所有网络接口信息,不论其是否激活。

ifconfig -a

(3)查看指定网络接口信息。

ifconfig eth0

(4)启动和关闭指定网卡。

# 启动网卡
ifconfig eth0 up
# 关闭网卡
ifconfig eth0 down

(5)修改 MAC 地址。

ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
ifconfig eth0 up

(6)配置 IP 地址。

# 给 eth0 网卡配置 IP 地址
ifconfig eth0 192.168.1.56

# 给 eth0 网卡配置 IP 地址并加上子网掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 

# 给 eth0 网卡配置 IP 地址,加上子网掩码,加上广播地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

(7)启用和关闭 ARP 协议。

# 开启网卡 eth0 的 arp 协议
ifconfig eth0 arp
# 关闭网卡 eth0 的 arp 协议
ifconfig eth0 -arp

(8)设置最大传输单元。

# 设置能通过的最大数据包大小为 1500 bytes
ifconfig eth0 mtu 1500

(9)


参考文献

[1] ifconfig(8) manual [2]【Linux】一步一步学Linux——ifconfig命令(151) [3] Linux 命令大全.ifconfig命令 [4] Ifconfig Command - Explained in Detail

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算机基础知识

    攻击过程如下: 1. 攻击者通过MIM(比如arp欺骗等)劫持server与客户端浏览器之间的http包; 2. 攻击者生成一对伪造的RSA密钥: fa...

    Dabelv
  • Linux 命令(105)—— service 命令

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    Dabelv
  • MySQL问题集锦

    (1)SELECT子句是必选的,其它子句如WHERE子句、GROUP BY子句等是可选的。

    Dabelv
  • Feign-请求不同注册中心的服务

    FeignClient 使用url配置,使用placeHolder,注入url的值

    用户2146693
  • EasyNVR硬件盒子自我维护----进入系统进行自我维护

    该方案在之前的博文中有过说明,本篇博文将具体介绍一下,0基础如何在拿到盒子的时候实现设备的现场接入和自我维护。

    EasyNVR
  • 学习Java基础知识,打通面试关~十二接口与抽象类

    用户2196435
  • 网页摄像头直播、网页微信直播技术解决方案:EasyNVR与EasyDSS流媒体服务器配合使用,应用于不同的安防直播场景

    近期遇到好多客户咨询关于实现微信直播、或者是将直播页面集成进入自己项目中的具体方法,实际大部分的场景中,EasyNVR独立使用就可以了,如果涉及到比较复杂的情况...

    EasyNVR
  • 在单机上快速、精确的100000类别的检测

    今天带来的这篇推送,估计您有读过或试验过,但是为了让更多的科研学者知道这么“牛”的内容知识,接下来就开始说说今天的主题——1000000类的快速精确检测。 注:...

    计算机视觉研究院
  • 编程、生活与梦想

    前言 对平平淡淡的生活总会有点不满,对未知又有点畏惧,相信是大多数人的内心。 一个运维的朋友离职,准备寻找新的机会,因为孩子要上小学,不得不考虑户口问题;...

    落影
  • 干货 | 携程高可用架构的演变和迭代——应用开发者视角

    作者简介 周源,携程技术中心基础业务研发部高级研发经理,从事软件开发10余年。2012年加入携程,先后参与支付、营销、客服、用户中心的设计和研发。 前言 携程的...

    携程技术

扫码关注云+社区

领取腾讯云代金券