在MacOS系统上,执行 ifconfig 命令。
所输出的 lo0 gif0 stf0 en1 en2 fw0 p2p0 awdl0 bridge0 到底表示什么?
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether 78:4f:43:77:59:a2
inet6 fe80::8db:16b3:4028:d13c%en0 prefixlen 64 secured scopeid 0x5
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:41:84:02:dc:01
media: autoselect <full-duplex>
status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:41:84:02:dc:00
media: autoselect <full-duplex>
status: inactive
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:41:84:02:dc:05
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether 82:41:84:02:dc:04
media: autoselect <full-duplex>
status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 82:41:84:02:dc:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x0
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 7 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 9 priority 0 path cost 0
member: en3 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 6 priority 0 path cost 0
member: en4 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 8 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
options=400<CHANNEL_IO>
ether 0a:4f:43:77:59:a2
media: autoselect
status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
options=400<CHANNEL_IO>
ether 02:e0:77:f0:58:0c
inet6 fe80::e0:77ff:fef0:580c%awdl0 prefixlen 64 scopeid 0xc
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether 02:e0:77:f0:58:0c
inet6 fe80::e0:77ff:fef0:580c%llw0 prefixlen 64 scopeid 0xd
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::3bca:f772:ff73:db0e%utun0 prefixlen 64 scopeid 0xf
nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::34b3:90a7:1d8c:1396%utun1 prefixlen 64 scopeid 0x10
nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::98ec:588f:c80b:bad%utun2 prefixlen 64 scopeid 0x11
nd6 options=201<PERFORMNUD,DAD>
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:00:11:22
inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x4
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
- stf0 = 6to4 tunnel interface
- fw0 = Firewire
- vmnet8 = Virtual Interface
- vmnet1 = Virtual Interface
UP代表网卡开启
RUNNING 代表这个网卡是处于网络连接状态
MULTICAST:代表这个网卡是支持组播的
BROADCAST:有广播地址,支持发广播包
mtu 1500:代表这个网卡最大的单元传输为1500字节
inet 192.168.8.247 netmask 0xffffff00 broadcast 192.168.8.255:这里不多说都知道
inet6 fe80::10b6:81e9:32b2:aa9f%en7 prefixlen 64 secured scopeid 0xa:这里不多说都知道
media: autoselect—— 网络媒介类型 (可手动指定)
status: active—— 激活状态
RX packets 网卡接收数据包的的信息
RX errors 网卡接收数据时错误的信息
TX packets 169114 bytes 12443628 (11.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
TX packets 网卡发送数据包的信息
TX errors 网卡发送数据是错误的信息
lo
lo 表示主机的回环地址(loopback) 或 本地主机(localhost)
一般用来测试一个网络程序,但又不想让局域网或外网用户能够查看,只能在此台主机上运行和查看所用的网络接口。
比如把 http服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
# lo: loopback 本机回环地址
# flag=8049 网络设备状态标识
# UP:网卡处于启动状态
# LOOPBACK:IP数据包回送到本机上,通常用于测试网络配置和本地程序之间通信用
# RUNNING:代表网卡的网线被接上
# MULTICAS:网卡支持发送多播、组播包
# mtu:最大传输单元(这里设置的16384是否以太网设置的?)
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAS> mtu 16384
# 参数? 可以设置值
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
# ipv4地址 127.0.0.1 子网掩码 255.0.0.0
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
# ipv6地址
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif = Software Network Interface
通用 IP-in-IP隧道(RFC2893)
git = software network interface 网络接口
没明白 gif 怎么成为跟Software Network Interface的缩写的,完全不沾边啊
# POINTOPOINT: 允许2台机器点对点直连
# MULTICAS:网卡可以发送多播包
# mtu:最大传输单元(这里设置的1280是否以太网设置的?)
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf
6to4连接(RFC3056)
six to four --> stf
# stf 6to4 tunnel interface 配置隧道
stf0: flags=0<> mtu 1280
en(Ethernet 以太网)
en0 --> Ethernet 0 --> 以太网0
到底是什么?
eth0 表示序号为0的网卡,也就是第一块网卡,
其中HWaddr表示网卡的物理地址
那为什么 en0 en1 en2 en3 en4 这么多网卡?
运行命令行,可查看具体接口是做什么操作的
networksetup -listallhardwareports
具体结果
Hardware Port: Wi-Fi
Device: en0
Ethernet Address: f4:5c:89:ba:7c:f7
Hardware Port: iPhone USB
Device: en5
Ethernet Address: 72:f0:87:7a:ab:48
Hardware Port: Bluetooth PAN
Device: en3
Ethernet Address: f4:5c:89:ba:7c:f8
Hardware Port: Thunderbolt 1
Device: en1
Ethernet Address: 82:13:15:bc:5a:80
Hardware Port: Thunderbolt 2
Device: en2
Ethernet Address: 82:13:15:bc:5a:81
Hardware Port: Thunderbolt Bridge
Device: bridge0
Ethernet Address: 82:13:15:bc:5a:80
VLAN Configurations
===================
原来是Wi-Fi,蓝牙,thunderbolt
以太网或802.11接口
en0
# en0: 以太网0
# flags=8863:网络状态标识
# BROADCAST:有广播地址,支持发广播包
# SMART:
# RUNNING:代表网卡的网线被接上
# MULTICAS:网卡可以发送多播包
# mtu: 最大传输单元
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether c4:b3:01:ce:06:11
# ipv4地址 子网掩码 广播地址
inet 192.168.1.11 netmask 0xffffff00 broadcast 192.168.1.255
# 网络媒介类型 (可手动指定)
media: autoselect
# 激活状态
status: active
en1、en2
# en1: 以太网1 雷电口1
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 4a:00:07:5c:bd:00
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 4a:00:07:5c:bd:01
media: autoselect <full-duplex>
status: inactive
XHC20
# XHC20
XHC20: flags=0<> mtu 0
fw
IP over FireWire(IEEE-1394), macOS特有
p2p
Point-to-Point 协议
# p2p0:Point-to-Point 协议
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 06:b3:01:ce:06:11
# 网络媒介类型
media: autoselect
# 闲置的
status: inactive
awdl
airdrop peer to peer(一种mesh network), apple airdrop设备特有
# awdl0: airdrop peer to peer(一种mesh network),apple airdrop设备特有
# Apple: 无线直接链接
# PROMISC: 允许混杂的模式(全部的数据会被接口接收)
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
ether a6:04:50:c4:66:92
inet6 fe80::a404:50ff:fec4:6692%awdl0 prefixlen 64 scopeid 0x7
nd6 options=201<PERFORMNUD,DAD>
# 网络媒介类型
media: autoselect
# 激活状态
status: active
bridge
第2层桥接
# 具体google下桥接知识
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 4a:00:07:5c:bd:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 8 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 9 priority 0 path cost 0
media: <unknown type>
status: inactive
vlan
虚拟局域网络 在iOS设备(支持cellular)上还能看到
pdp_ip
蜂窝数据连接