MacOS – ifconfig shows multiple network interfaces

command lineifconfigmacosnetwork-interfacenetworking

When I run ifconfigon my Macbook air 2018 with MacOS Mojave 10.14.6 I get this:

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
XHC20: flags=0<> mtu 0
XHC0: flags=0<> mtu 0
VHC128: flags=0<> mtu 0
en3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether xx:xx:xx:xx:xx:xx 
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx%en3 prefixlen 64 scopeid 0x7 
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (100baseTX <full-duplex>)
    status: active
ap1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
    ether xx:xx:xx:xx:xx:xx 
    media: autoselect
    status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether xx:xx:xx:xx:xx:xx 
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx%en0 prefixlen 64 secured scopeid 0x9 
    inet xxx.xxx.x.x netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether xx:xx:xx:xx:xx:xx 
    media: autoselect
    status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
    ether xx:xx:xx:xx:xx:xx 
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx%awdl0 prefixlen 64 scopeid 0xb 
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether xx:xx:xx:xx:xx:xx 
    media: autoselect <full-duplex>
    status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether xx:xx:xx:xx:xx:xx 
    media: autoselect <full-duplex>
    status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether xx:xx:xx:xx:xx:xx 
    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 12 priority 0 path cost 0
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 13 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: <unknown type>
    status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx%utun0 prefixlen 64 scopeid 0xf 
    nd6 options=201<PERFORMNUD,DAD>
ipsec0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1400
    inet xx.x.x.xxx --> xx.x.x.xxx netmask 0xff000000 

I'm not very good at networking stuff but this seems strange to me due to the fact that I never saw this many network interfaces on my old macbook air.

Question: Is this normal or could this be something bad? What can I do about it if it is something bad?

All the "x"s were not there originally, I changed the addresses to them instead

Best Answer

That looks pretty normal.

  • lo0 is the loopback virtual interface.
  • en0 is your built-in Wi-Fi.
  • en1 and en2 are your Thunderbolt ports. macOS supports IP over Thunderbolt this way.
  • bridge0 is a virtual interface that bridges your two IP over Thunderbolt interfaces together.
  • en3 is likely an external Ethernet dongle in your scenario.
  • awdl0 is Apple Wireless Direct Link. It's an Apple-proprietary, incompatible equivalent to Wi-Fi Aware or Wi-Fi Direct. It's how AirDrop and AirPlay and Handoff and a few other things work.
  • p2p0 Is like an earlier version of AWDL. When AirDrop first came out and was Mac-only, it used this. iOS never used this and used AWDL instead. Now both platforms prefer AWDL but the older mac-only Apple Peer to Peer wireless protocol still exists for backwards compatibility with older Macs running ancient versions of macOS.
  • utun0 is a tunnel virtual interface used for VPN connections.
  • ipsec0 is also a VPN-related virtual interface.
  • gif0 is a virtual "generic interface" used for certain IPv6-in-IPv4 tunneling situations.
  • stf0 is a virtual interface for an obsolete IPv4/IPv6 transition mechanism known as 6to4 that is still in use by a few people.
  • The *HC* interfaces are for using a packet sniffer to capture USB traffic instead of network traffic.

Please note that the exact meanings of en0-enX vary from model to model. The lowest numbers go to built-in Ethernet ports first (in any exist) then to built-in Wi-Fi, then to built-in Thunderbolt ports, if any. After that comes add-on Ethernet-like interfaces (such as USB Ethernet dongles, Thunderbolt Ethernet dongles, and USB Wi-Fi dongles) in the order they were seen by the system.