1.ifconfig
ifconfig
(interface configuration)是一个用于查看和配置网络接口的命令,常见于Linux和Unix系统。它用于显示网络接口的状态、配置IP地址、启用/禁用接口等。
ifconfig命令将列出所有活动的网络接口,包括它们的IP地址、MAC地址、子网掩码等信息。
// 查看特定网络接口的信息
ifconfig eth0
可以通过该命令启停某个网络接口、设置ip、广播地址等等。也可以使用:
ip addr show
1.1 例子
具体实例:
基本信息:
eth1
:网络接口的名称,通常ethX
代表有线以太网接口。Link encap:Ethernet
:表示该接口使用的是以太网封装协议。HWaddr 6c:92:bf:0d:xx::xx
:表示该接口的MAC地址(硬件地址),用于在局域网(LAN)中唯一标识该设备。
ip信息:
inet addr:17x.xx.xx.xx
:表示该接口的IPv4地址。Bcast:17x.xx.xx.255
:表示该接口的广播地址,数据包可以发送到该地址,所有同一子网的设备都能接收到它。Mask:255.255.255.0
:表示子网掩码,这个子网掩码表示17x.xx.xx.0/24
网段。inet6 addr: fe80::6e92:bfff:xxxx:xxxx/64
:这是一个IPv6地址,fe80::/64
是链路本地地址(Link-Local Address),仅用于同一局域网通信,不能被路由到Internet。Scope:Link
:表示该 IPv6 地址仅在本地链路范围内有效,不能用于外网通信。
网络状态信息:
UP
:表示接口已启用,可以正常工作。BROADCAST
:表示接口支持广播(Broadcast),可以向整个子网发送数据包。RUNNING
:表示该接口正在运行,通常表示它已连接到网络。MULTICAST
:表示该接口支持组播(Multicast),用于一对多的通信(例如视频流)。MTU:1500
:表示最大传输单元(MTU),即每个数据包的最大大小(单位:字节)。1500是以太网的默认MTU值。Metric:1
:这个字段通常用于路由计算,较小的值表示更优先的路由路径。
接收RX数据统计:
RX packets:14307588411
:该接口接收到的数据包数量(1430亿个数据包)。errors:0
:接收时发生的错误数量(这里是0
,表示没有错误)。dropped:270
:表示丢弃的接收数据包数量(可能由于缓冲区溢出或流量控制)。overruns:1100
:表示硬件缓冲区溢出次数,可能是由于数据包到达过快,系统来不及处理。frame:0
:表示帧错误的数量,通常由于物理层问题(如噪声或损坏的网线)。RX bytes:6323062245759 (6.3 TB)
:该接口接收到的数据总量(6.3TB)。
发送TX数据统计(transmit):
TX packets:15545562879
:该接口发送的数据包数量(1554亿个数据包)。errors:0
:发送时发生的错误数量(这里是0
,表示没有错误)。dropped:0
:表示丢弃的发送数据包数量(一般是由于队列溢出)。overruns:0
:表示发送缓冲区溢出次数。carrier:0
:表示载波错误,可能由于网络接口或线路问题导致(这里是0
,表示没有问题)。TX bytes:7926220123607 (7.9 TB)
:该接口发送的数据总量(7.9TB)。
额外信息:
collisions:0
:指示网络冲突次数。在现代交换式以太网中通常为0
,因为交换机避免了冲突。txqueuelen:1000
:表示发送队列长度,即在网络流量高峰时,可以缓存的最大数据包数。Memory:df100000-df11ffff
:表示该网卡使用的物理内存地址范围,通常用于DMA(直接内存访问)。
2.hostname
hostname
命令用于查看或设置系统的主机名(hostname)。在 Linux 和 macOS 上,主机名是计算机在网络中的标识名称,可以用于本地解析或远程访问。
3./etc/hosts文件
/etc/hosts
文件是 Linux 和 macOS 系统中的本地主机名解析文件,它用于将IP 地址映射到主机名,类似于一个本地 DNS(域名解析系统)。当系统尝试解析主机名时,它会优先查找 /etc/hosts
,然后才查询 DNS 服务器。基本格式:
<IP地址> <主机名> [别名]
IP地址
:要解析的目标 IP。主机名
:该 IP 对应的主机名(FQDN, Fully Qualified Domain Name)。别名
(可选):主机名的简写或额外名称。
例子:
127.0.0.1 localhost
127.0.1.1 my-computer
192.168.1.100 webserver.example.com webserver
10.0.0.1 db.example.com db
-
127.0.0.1 localhost
- 本机回环地址(Loopback Address),用于指向自己。
localhost
是默认名称,通常不会修改。
-
127.0.1.1 my-computer
- 有些 Linux 发行版(如 Ubuntu)会为本机提供一个额外的
127.0.1.1
绑定到当前主机名(my-computer
)。
- 有些 Linux 发行版(如 Ubuntu)会为本机提供一个额外的
-
192.168.1.100 webserver.example.com webserver
- 指定
webserver.example.com
解析为192.168.1.100
。 - 还可以用
webserver
作为别名,即输入ping webserver
也能解析到192.168.1.100
。
- 指定
-
10.0.0.1 db.example.com db
db.example.com
解析为10.0.0.1
,同时db
也可作为简写。
3.1 解析主机名顺序
系统解析主机名时,一般按以下顺序:
- 查询
/etc/hosts
→ 直接找到匹配项后返回 IP,不继续查询 DNS。 - 查询 DNS 服务器(
/etc/resolv.conf
中的配置)。 - 查询本地缓存(部分系统会缓存 DNS 解析结果)。