ไม่แน่ใจว่าสิ่งนี้จะเป็นประโยชน์กับทุกคนหรือไม่ แต่เมื่อฉันแก้ไขปัญหาด้วยคำถามเดียวกันฉันจึงไปหาวิธีแก้ไขปัญหานี้:
ifconfig | grep flags=8863 | grep -v bridge
ผลลัพธ์จะมีลักษณะเช่นนี้และแสดงเฉพาะพอร์ตอีเธอร์เน็ตและ wifi ที่ใช้งานอยู่:
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
หากคุณต้องการดูที่อยู่ IPv4 ที่กำหนดเช่นกัน:
ifconfig | grep 'flags=8863\|inet ' | grep -v 'bridge\|127.0.0.1'
ซึ่งผลิตอะไรเช่นนี้
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.147 netmask 0xffffff00 broadcast 192.168.2.255
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.244 netmask 0xffffff00 broadcast 192.168.2.255
ทางเลือกอื่น:
scutil --nwi
ซึ่งแสดงอุปกรณ์เครือข่ายออนไลน์บรรทัดสุดท้ายแสดงอินเทอร์เฟซเครือข่ายที่ใช้งานอยู่ในปัจจุบัน:
Network information
IPv4 network interface information
en0 : flags : 0x5 (IPv4,DNS)
address : 192.168.2.147
reach : 0x00000002 (Reachable)
en1 : flags : 0x5 (IPv4,DNS)
address : 192.168.2.244
reach : 0x00000002 (Reachable)
REACH : flags 0x00000002 (Reachable)
IPv6 network interface information
No IPv6 states found
REACH : flags 0x00000000 (Not Reachable)
Network interfaces: en0 en1
การประมวลผลเพิ่มเติมนั้นขึ้นอยู่กับคุณ :-)
บันทึก:
โปรดทราบว่าฉันไม่ใช่ผู้เชี่ยวชาญในธง (8863) คุณสามารถค้นหารายละเอียดการตั้งค่าสถานะในไฟล์ส่วนหัวif.h - Spotlight คือเพื่อนของคุณในการค้นหา "if.h" ฉันพบของฉันที่นี่:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/net/if.h
ซึ่งจะแสดงให้คุณเห็นสิ่งที่ธงหมายถึง (โปรดจำไว้ว่า: เลขฐานสิบหก);
#define IFF_UP 0x1 /* interface is up */
#define IFF_BROADCAST 0x2 /* broadcast address valid */
#define IFF_DEBUG 0x4 /* turn on debugging */
#define IFF_LOOPBACK 0x8 /* is a loopback net */
#define IFF_POINTOPOINT 0x10 /* interface is point-to-point link */
#define IFF_NOTRAILERS 0x20 /* obsolete: avoid use of trailers */
#define IFF_RUNNING 0x40 /* resources allocated */
#define IFF_NOARP 0x80 /* no address resolution protocol */
#define IFF_PROMISC 0x100 /* receive all packets */
#define IFF_ALLMULTI 0x200 /* receive all multicast packets */
#define IFF_OACTIVE 0x400 /* transmission in progress */
#define IFF_SIMPLEX 0x800 /* can't hear own transmissions */
#define IFF_LINK0 0x1000 /* per link layer defined bit */
#define IFF_LINK1 0x2000 /* per link layer defined bit */
#define IFF_LINK2 0x4000 /* per link layer defined bit */
#define IFF_ALTPHYS IFF_LINK2 /* use alternate physical connection */
#define IFF_MULTICAST 0x8000 /* supports multicast */
status
เขตข้อมูลที่มีactive
หรือinactive
เป็นค่า