ifconfig 与 ip addr 命令详解 - 学习/实践

article/2025/9/29 11:30:18

1.应用场景

主要用于了解学习,掌握使用IP地址相关知识,

如何查看IP信息,以及各个参数代表的含义

2.学习/操作

1.文档阅读

网络协议概论 | Laravel 学院 - 不定期分享之 ifconfig 与 ip addr 命令详解

2.整理输出

2.1 如何查看机器的 IP 地址

我们在 Linux 系统查看 IP 地址通常有以下两种方式:

1)ifconfig

ifconfig

2)ip addr

ip addr

注:

如果在 Windows 系统上,查看 IP 地址的命令是 ipconfig

Mac

ifconfig

ip addr  -- 需要安装工具集

 

这两个命令返回的都是机器的网卡信息,其中包含了网卡的 IP 地址,有了 IP 地址才能进行网络通信。

2.2 ifconfig 与 ip addr 源起

要了解这两个命令的区别,需要先看看它们的历史起源:

ifconfig 命令归属于 net-tools 工具集。net-tools 起源于 BSD,自 2001 年起,Linux 社区已经停止对其进行维护。

而 ip 命令归属于 iproute2 工具集,iproute2 旨在取代 net-tools,并提供了一些新功能。

一些 Linux 发行版已经停止支持 net-tools,只支持 iproute2,在这些 Linux 版本中,只能使用 ip addr 命令查看 IP 地址,使用 ifconfig 会提示命名不存在。

net-tools 通过 procfs(/proc) 和 ioctl 系统调用去访问和改变内核网络配置,而 iproute2 则通过 netlink 套接字接口与内核通讯。

net-tools 中工具的名字比较杂乱,而 iproute2 则相对整齐和直观,基本是 ip 命令加后面的子命令:

iproute2命令集

2.3 网卡信息详解

了解了两个命令的区别之后,下面我们以 ip addr 命令输出为例对每个字段的含义进行解释。

网卡名称

我们先看最外层,eth0 和 eth1 都是网卡的名称,其中 eth 是以太网英文名 Ethernet 的缩写,表示数据链路是以太网,之所以有两张网卡是因为一张网卡用于内网通信,一张网卡用于外网通信。

lo 全称是 loopback,又称环回接口,往往会被分配到 127.0.0.1 这个地址。这个地址用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。

一般来说,任何主机都至少有上述三个网卡。

然后我们依次看每一行的信息。

网络设备状态标识

首先看第一行信息:

<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

<BROADCAST,MULTICAST,UP,LOWER_UP> 叫作 net_device flags,即网络设备的状态标识。

UP 表示网卡处于启动的状态;BROADCAST 表示这个网卡有广播地址,可以发送广播包;MULTICAST 表示网卡可以发送多播包;LOWER_UP 表示 L1 是启动的,也就是网线是插着的。

mtu 1500 学院君前面介绍数据链路的时候提到过,表示以太网最大传输单元 MTU 为 1500,这是以太网的默认值。

qdisc 全称是 queueing discipline,中文叫排队规则。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的 qdisc(排队规则)把数据包加入队列。这里 lo 网卡配置的值是 noqueue 不使用队列,其它两个网卡配置的值是 fq_codel,对应的英文全名是 Fair Queueing with Controlled Delay,即具有受控延迟的公平队列,这种情况下每个网络流都有一个队列。

state UP 表示该网卡已启用,group default 表示网卡分组,qlen 1000 表示传输队列长度。

MAC 地址

接下来的每个网卡的第二行显示的是该网卡的 MAC 地址:

link/ether 08:00:27:b9:64:24 brd ff:ff:ff:ff:ff:ff

本地环回接口不需要,所以为空。

MAC 地址是一个网卡的物理地址,具体概念我们在链路层已经详细介绍过,使用十六进制表示,用冒号分隔,总共是六个字节。MAC 地址只能再同一个网段内通信,跨网段通信需要借助 IP 地址,所以接下来就是网卡的 IP 地址。

IPv4 地址

首先是 IPv4 地址:

inet 192.168.10.10/24 brd 192.168.10.255 scope global eth1

valid_lft forever preferred_lft forever

192.168.10.10/24 表示IP地址以及网络地址位数. 192.168.10.255 表示广播地址。

在 IP 地址的后面有个 scope,对于 eth1 这张网卡来讲,是 global,说明这张网卡是可以对外通信的,可以接收来自各个地方的包(如果还有 dynamic 表示该 IP 地址是动态分配的)。

对于 lo 来讲,是 host,说明这张网卡仅仅可以供本机相互通信。

valid_lft 表示该 IP(IPv4) 地址的有效使用期限,这里配置为 forever 表示永久有效;preferred_lft 表示该 IP 地址的首选生存期,也是配置为 forever 表示永久有效。

IPv6 地址

最后是 IPv6 地址:

inet6 fe80::a00:27ff:feb9:6424/64 scope link

valid_lft forever preferred_lft forever

IPv6 地址表示的地址区间非常之大,所以不需要区分网络号和主机号,也就不需要子网掩码了,IPv6 地址也是通过十六进制表示,需要注意的是这里 scope 配置为 link 表示只在此设备生效。其它配置和 IPv4 地址一样,不再赘述。

后续补充

...

3.问题/补充

TBD

4.参考

网络协议概论 | Laravel 学院 - 不定期分享之 ifconfig 与 ip addr 命令详解

后续补充

...


http://chatgpt.dhexx.cn/article/J02G25XB.shtml

相关文章

IP addr命令

IP addr命令 我们都知道Windows上查看IP地址是ipconfig, Linux上是ifconfig&#xff0c;但是Linux上还有一个命令叫ip addr可以查看IP地址。 如上图所示命令显示了机器上的所有网卡&#xff0c;大部分网卡都有一个IP地址&#xff0c;也存在特殊情况没有IP地址。这里IP地址是19…

Linux命令ip addr详解

Linux命令ip addr详解 熟悉Linux操作系统的同学对于ip addr命令应该不陌生&#xff0c;知道它是用来查看本地IP地址的&#xff0c;除了IP地址&#xff0c;其它额外的信息有必要了解一下。 roottest:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue s…

python中ipaddr库用法详解

首先安装ipaddr库 pip install ipaddr 判断一个IP地址是否在某个网段内&#xff1a; import ipaddrip ipaddr.IPv4Address("192.168.1.1") ip_net ipaddr.IPv4Network("192.168.1.0/23")if ip in ip_net:print("True") else:print("Fal…

ip addr命令介绍

Windows上查看IP地址是ipconfig命令。 Linux上查看IP地址是ifconfig命令。 Linux上还有一个ip addr命令可以查看IP地址。 博主使用标准版ISO镜像文件安装的CentOS7虚拟机没有ifconfig命令&#xff0c;但有ip addr命令。 其实通过这几个命令查到的IP都是私网IP&#xff0c;…

linux删除ip地址的命令

linux删除ip地址的命令是“ip addr”&#xff0c;该命令用于查看并操作ip地址&#xff1b;想要删除指定ip地址可使用“ip addr del ip地址 dev 接口”语句&#xff0c;清空指定网卡的所有ip可使用“ip addr flush dev 接口”语句。 1、删除指定IP ip addr del ip地址 dev 接口…

ip addr命令解析

概述 ip addr命令的作用是在Linux系统上查询ip地址。 这个系统上的两个接口: 环回&#xff08;lo&#xff09;和网络&#xff08;eth0&#xff09;。 环回接口&#xff0c;常被分配到127.0.0.1&#xff0c;用于本机通信&#xff0c;经过内核处理后直接返回&#xff0c;不会在任…

MQTT协议详解

源视频地址 1.MQTT协议概念: MQTT是基于Publish/Subscribe(发布订阅)模式的物联网通信协议 特点: 简单易实现支持Qos(服务质量)报文小 MQTT协议构建于TCP/IP协议之上 发布订阅模式: 客户端只需要订阅这个主题&#xff0c;当有其他客户端向这个服务端发布消息时&#xff0c;这个…

什么是MQTT,物联网MQTT协议详解

老俊目前正在从事物联网行业&#xff0c;对MQTT有一定的了解&#xff0c;本文为您简述什么是MQTT&#xff0c;以及MQTT怎么使用 什么是MQTT 物联网 (IoT) 和机器对机器 (M2M) 通信对我们与技术交互的方式产生了持久影响。到 2022 年底&#xff0c;全球连接的物联网设备数量增…

物联网之MQTT协议详解基础篇(一)—— MQTT介绍

MQTT: The Standard for IoT Messaging 开场白 大概是这么个背景 比如小米智能家居目前是这么个流程&#xff1a; 物联网设备通过家里的wifi连接到外网服务器 在外网通过米家app控制就可以家里的物联网设备 其中服务器&#xff0c;app&#xff0c;物联网设备是通过MQTT协…

物联网数据传输协议MQTT介绍与应用开发详解

本文首发微信公众号&#xff1a;码上观世界 Part 1 物联网概述 1. 物联网概念 物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术&#xff0c;实时采集任何需要监控、 连接、互动的物体或过程&#xff0c;采集其声、光、热、…

MQTT协议详解及开发教程(一)MQTT协议概述

推荐一款稳定的基于C编写的MQTT Client开源库《cMQTT》 一 概述 MQTT协议目前在物联网技术中应用非常广泛&#xff0c;各种公有云的IOT平台通信基本上都是按照该协议来实现的&#xff0c;这里先简单的做个总结&#xff1a; &#xff08;1&#xff09;MQTT协议框架及内容比…

1.MQTT协议介绍

所写博客来自网课视频、本网站或其他网站&#xff0c;只属于资料整理、用于个人学习&#xff0c;如有侵权行为可联系删除。 1.MQTT协议介绍 1.1 MQTT简介 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一…

MQTT协议通俗讲解

参考 Reference 协议文档 Offical Docs v3.1.1 英文原版 中文翻译版 其他资源 网站 MQTT官方主页 Eclipse Paho 项目主页 测试工具 MQTT Spy&#xff08;基于JDK&#xff09; Chrome插件 MQTTLens&#xff08;需翻墙&#xff09; 基本概念 Basic Conception Session 会话 定义 …

Mqtt通信协议详解

文章目录 1. 简介mqtt2.mqtt协议实现3.Mqtt数据包4. QoS等级5. mqtt传输安全保证5.1 应用层5.2 传输层5.2.1 TLS安全协议 5.3 网络层 1. 简介mqtt MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发…

物联网消息传输协议——mqtt详解

什么是Mqtt mqtt是为物联网场景设计的基于tcp的pub/sub协议&#xff0c; 是基于发布/订阅模式的物联网通信协议 具有简单易用、支持QoS、报文小、轻量、节省带宽、不关心数据具体格式、可以时刻感知设备是否在线等特点 出生背景 本名&#xff1a; Message Queue Telemetry(遥…

MQTT物联网协议详解

MQTT物联网协议详解 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订阅&#xff08;publish/subscribe&#xff09;模式的“轻量级”通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff…

MQTT协议,终于有人讲清楚了

6步&#xff01;教你写一个mqtt调试助手_GREYWALL-CSDN博客点击上方“小麦大叔”&#xff0c;选择“置顶/星标公众号”福利干货&#xff0c;第一时间送达大家好&#xff0c;我是小麦&#xff0c;之前写过一篇MQTT的文章&#xff0c;里面用来测试的mqtt client程序是自己编译的。…

MQTT协议简介及协议原理

文章目录 MQTT协议MQTT协议简介MQTT通信模型MQTT客户端的功能&#xff1a;MQTT客户服务器功能&#xff1a; 消息主题与服务质量MQTT控制报文固定报头可变报头CONNECT报文CONNACK报文 有效载荷 MQTT协议 MQTT协议简介 MQTT协议全称是Message Queuing Telemetry Transport&…

MQTT协议详解,非常易懂

MQTT协议详解一 协议地址&#xff1a;http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html 当然也有PDF版的&#xff0c;百度一下&#xff0c;不过个人感觉不是官网上的字体和排版最舒服。 那么这个协议是用做什么或有什么特色呢&#xff1f;下面是mqtt…

看见协议,浅析TCP、HTTP、MQTT

如果对tcp还不了解的&#xff0c;可以看看计算机网络基础简单了解一下&#xff1b; 如果对tcp的深入感兴趣&#xff0c;看了上一篇还不过瘾的可以看吊打面试官&#xff01;近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题 好了&#xff0c;如果看回来了我们来进入正题…