จะค้นหาบริการเครือข่ายที่เชื่อมต่ออยู่ในปัจจุบันจากบรรทัดคำสั่งได้อย่างไร


20

ฉันต้องการทราบว่าบริการเครือข่ายใดที่มีอยู่ (เช่นEthernetหรือWi-Fi ) ที่ใช้งานอยู่ในปัจจุบัน ในภาพหน้าจอนี้จากการตั้งค่าเครือข่ายคุณจะเห็นว่าWi-Fiใช้งานอยู่ในปัจจุบัน (จุดสีเขียว):

การตั้งค่าเครือข่าย

ฉันจะรับข้อมูลนั้นจากบรรทัดคำสั่งได้อย่างไร

networksetupคำสั่งช่วยให้ฉันไปรายการบริการเครือข่ายที่มีอยู่:

$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Ethernet
FireWire
Wi-Fi

นอกจากนี้ยังสามารถแสดงรายละเอียดบางอย่างเกี่ยวกับบริการเช่นชื่ออุปกรณ์:

$ networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Ethernet
(Hardware Port: Ethernet, Device: en0)

(2) FireWire
(Hardware Port: FireWire, Device: fw0)

(3) Wi-Fi
(Hardware Port: Wi-Fi, Device: en1)

น่าเสียดายที่ข้อมูลที่บริการใช้งานอยู่ (จุดสีเขียวจากภาพหน้าจอ) ไม่สามารถใช้ได้ในข้อมูลนี้ มีคำสั่งอื่นที่ฉันสามารถใช้รับข้อมูลนี้ได้หรือไม่?

คำตอบ:


7

เพียงแค่ออก

    ifconfig

แสดงรายการอินเตอร์เฟสเครือข่ายทั้งหมดและสถานะ


True - แต่ละระเบียนมีstatusเขตข้อมูลที่มีactiveหรือinactiveเป็นค่า
nwinkler

1
มันจะให้ผลลัพธ์ที่ผิดถ้าคุณแชร์อินเทอร์เน็ต สมมติว่าคุณกำลังแบ่งปันอินเทอร์เน็ตอีเธอร์เน็ตผ่าน wifi สถานะของทั้ง Ethernet และ WiFi จะเป็น "ใช้งาน"
Harshal Chaudhari

3
สิ่งนี้ไม่แสดงให้คุณเห็นว่ากำลังใช้บริการใดอยู่- ทั้ง wifi และอีเธอร์เน็ตจะแสดงว่า 'ใช้งานอยู่' หากคุณเปิดใช้งานและเสียบสายอีเธอร์เน็ตแล้ว
tog22

1
มีประโยชน์มากสำหรับการตรวจสอบว่าการเชื่อมต่อไม่ได้เชื่อมต่อ ตัวอย่างเช่นโดยทั่วไปแล้วอีเธอร์เน็ตของฉันจะเชื่อมต่อที่ทำงานเท่านั้น ดังนั้นฉันจึงสามารถอนุมานได้ว่าฉันอยู่บ้านโดยไม่ได้อยู่ในรายการ ifconfig | grep $(networksetup -listnetworkserviceorder | grep 'Ethernet, Device' | sed -E "s/.*(en[0-9]).*/\1/"). จากนั้นฉันสามารถสลับตำแหน่งตามที่กล่าวมาข้างต้นว่างเปล่าได้
Chris Rymer

นี่แสดงรายการอินเทอร์เฟซเครือข่ายทั้งหมดที่ไม่ใช่บริการเครือข่าย
สาหร่าย

16

ฉันเขียนสคริปต์เพื่อทำงานนี้ให้สำเร็จ:

#!/bin/bash

services=$(networksetup -listnetworkserviceorder | grep 'Hardware Port')

while read line; do
    sname=$(echo $line | awk -F  "(, )|(: )|[)]" '{print $2}')
    sdev=$(echo $line | awk -F  "(, )|(: )|[)]" '{print $4}')
    #echo "Current service: $sname, $sdev, $currentservice"
    if [ -n "$sdev" ]; then
        ifout="$(ifconfig $sdev 2>/dev/null)"
        echo "$ifout" | grep 'status: active' > /dev/null 2>&1
        rc="$?"
        if [ "$rc" -eq 0 ]; then
            currentservice="$sname"
            currentdevice="$sdev"
            currentmac=$(echo "$ifout" | awk '/ether/{print $2}')

            # may have multiple active devices, so echo it here
            echo "$currentservice, $currentdevice, $currentmac"
        fi
    fi
done <<< "$(echo "$services")"

if [ -z "$currentservice" ]; then
    >&2 echo "Could not find current service"
    exit 1
fi

สคริปต์จะรับรายการบริการจากnetworksetupคำสั่งก่อนจากนั้นตรวจสอบว่าแต่ละบริการอยู่ในสถานะใช้งานifconfigหรือไม่

ตั้งชื่อสคริปต์เป็นnetworkservice.shตัวอย่างจากนั้นเรียกใช้งานสคริปต์เพื่อรับบริการเครือข่ายปัจจุบันที่คุณใช้งาน

$ bash networkservice.sh
USB 10/100/1000 LAN, en4, 00:e0:4a:6b:4d:0c
Wi-Fi, en0, 8c:85:90:a0:4b:ec

ฉันต้องไปป์ไลน์แรกtacเพื่อวนซ้ำผ่านอินเทอร์เฟซในลำดับย้อนกลับเพราะฉันมักจะมีการเชื่อมต่อ WiFi รวมถึงอะแดปเตอร์อีเธอร์เน็ต USB (ซึ่งเป็นอุปกรณ์ที่ต้องการในเครือข่าย) ในกรณีนี้ฉันต้องการพิมพ์งานที่ต้องการมากที่สุดที่จะพิมพ์:services=$(networksetup -listnetworkserviceorder | grep 'Hardware Port' | tac)
ghr

@ghr ที่ไม่เข้าท่าใด ๆnetworksetup -listnetworkserviceorderเอาท์พุท "อุปกรณ์ที่ต้องการมากที่สุด" ก่อนแล้ว ...
24499

ดูเหมือนว่าฉันจะปรับเปลี่ยนสคริปต์ด้านบนเล็กน้อยเพื่อให้พิมพ์เฉพาะบริการ 1 รายการแทนที่จะเชื่อมต่อใด ๆ ฉันได้ไปtacเพื่อให้มา (ไม่ใช่ที่ต้องการ) $currentserviceบริการจะไม่เขียนทับ ควรชัดเจนในความคิดเห็นดั้งเดิมนั้น
ghr

5

scutil --dnsคำสั่งช่วยให้คุณมีเครือข่ายเส้นทางข้อมูลทั้งหมดที่คุณจะต้อง map ป้ายติดต่อกับฮาร์ดแวร์เส้นทางเครือข่าย

เล็กน้อยawkและgrepสามารถสวยขึ้นหากคุณต้องการสคริปต์ข้อมูลหรือตัดลง เริ่มต้นด้วยการจับสำหรับ "if_index" ถ้าคุณอยากรู้


นั่นดูมีประโยชน์ - ฉันจะลองเล่นดู!
nwinkler

3

เพียงใส่คนอื่นสะดุดข้ามเช่นนี้ฉันทำรหัสด้านล่างอาจมากกว่าสิ่งที่คุณกำลังมองหา

นี่คือการขยายคำตอบของ PeterVP

สามารถดูได้ที่https://www.kittell.net/code/mac-os-x-get-network-information/

#! / bin / ดวลจุดโทษ

ชัดเจน
sExternalMACALService = "http://dns.kittell.net/macaltext.php?address="

# แสดงรายการพอร์ตเครือข่ายทั้งหมด
NetworkPorts = $ (ifconfig -uv | grep '^ [a-z0-9]' | awk -F: '{พิมพ์ $ 1}')
#echo $ NetworkPorts

# ฟังก์ชั่นแปลง IP Subnet Mask เป็น CIDR
mask2cdr ()
{
# สมมติว่าไม่มี "255" หลังจากไม่ใช่ไบต์ 255 ในหน้ากาก
ท้องถิ่น x = $ {1 ## * 255.}
set - 0 ^^^ 128 ^ 192 ^ 224 ^ 240 ^ 248 ^ 252 ^ 254 ^ $ ((($ {# 1} - $ {# x}) * 2)) $ {x %%. *}
x = $ {1 %% $ 3 *}
echo $ (($ 2 + ($ {# x} / 4)))
}

# รับที่อยู่ IP ระยะไกล / สาธารณะ
remoteip = $ (ขุด + short myip.opendns.com @ resolver1.opendns.com)

# รับชื่อคอมพิวเตอร์
computername = $ (scutil --get ชื่อคอมพิวเตอร์)

# รับหมายเลขซีเรียล
sSerialNumber = $ (system_profiler SPHardwareDataType | grep "หมายเลขซีเรียล (ระบบ)" | awk '{พิมพ์ $ 4}' | cut -d / -f1)
#echo $ sSerialNumber

# รับชื่อระบบปฏิบัติการและเวอร์ชั่น - เริ่มต้น
OSvers1 = $ (sw_vers -productVersion | cut -d. -f1)
OSvers2 = $ (sw_vers -productVersion | cut -d. -f2)
OSvers3 = $ (sw_vers -productVersion | cut -d. -f3)
กรณี $ OSvers2 ใน
8)
OSName = "Mountain Lion"
;;
9)
OSNAME = "Mavericks"
;;
10)
OSNAME = "โยเซมิตี"
;;
11)
OSName = "El Capitan"
;;
12)
OSNAME = "เซีย"
;;
ค่าเริ่มต้น)
OSNAME = "ไม่รู้จัก"
;;
esac
# รับชื่อระบบปฏิบัติการและเวอร์ชั่น - หยุด


echo "$ computername"
echo "--------------"
echo "ระบบปฏิบัติการคอมพิวเตอร์: Mac OS X - $ OSName $ OSvers1. $ OSvers2. $ OSvers3"
echo "ชื่อคอมพิวเตอร์: $ computername"
echo "ชื่อผู้ใช้ปัจจุบัน: $ (whoami)"
echo "หมายเลขซีเรียล: $ sSerialNumber"

หาก [[$ remoteip]]; แล้วก็
echo "ที่อยู่ IP ระยะไกล: $ remoteip \ n"
อื่น
echo "ที่อยู่ IP ระยะไกล: ไม่สามารถระบุ \ n"
Fi

สำหรับ val ใน $ NetworkPorts ทำ # รับสถานะฮาร์ดแวร์ทั้งหมดที่มี
เปิดใช้งาน = $ (ifconfig -uv "$ val" | grep 'สถานะ:' | awk '{พิมพ์ $ 2}')
#echo $ เปิดใช้งาน
label = $ (ifconfig -uv "$ val" | grep 'type' | awk '{พิมพ์ $ 2}')
#echo $ label
#ActiveNetwork = $ (เส้นทางรับค่าเริ่มต้น | ส่วนต่อประสาน grep | awk '{พิมพ์ $ 2}')
ActiveNetworkName = $ (networksetup -listallhardwareports | grep -B 1 "$ label" | awk '/ พอร์ตฮาร์ดแวร์ / {print}' | cut -d "" -f3- | uniq)
#echo $ ActiveNetwork
#echo $ ActiveNetworkName
state = $ (ifconfig -uv "$ val" | grep 'สถานะ:' | awk '{พิมพ์ $ 2}')
#echo $ state
ipaddress = $ (ifconfig -uv "$ val" | grep 'inet' | awk '{พิมพ์ $ 2}')
# echo $ ipaddress

if [[-z $ (ifconfig -uv "$ val" | grep 'อัตราลิงก์:' | awk '{พิมพ์ $ 3, $ 4}' | sed 'N; s / \ n / up /')]]; แล้วก็
networkspeed = "$ (ifconfig -uv" $ val "| grep 'อัตราลิงก์:' | awk '{พิมพ์ $ 3}') ขึ้น / ลง"
อื่น
networkspeed = "$ (ifconfig -uv" $ val "| grep 'อัตราลิงก์:' | awk '{พิมพ์ $ 3, $ 4}' | sed 'N; s / \ n / ขึ้น /') ลง"
Fi

#echo $ networkspeed
macaddress = $ (ifconfig -uv "$ val" | grep 'ether' | awk '{พิมพ์ $ 2}')
#echo $ macaddress
macal = $ (curl -s "$ sExternalMACALService $ macaddress")
#echo $ macal
คุณภาพ = $ (ifconfig -uv "$ val" | grep 'ลิงก์คุณภาพ:' | awk '{พิมพ์ $ 3, $ 4}')
#echo $ quality
netmask = $ (ipconfig getpacket "$ val" | grep 'subnet_mask (ip):' | awk '{พิมพ์ $ 3}')
#echo $ netmask
เราเตอร์ = $ (ipconfig getpacket "$ val" | grep 'เราเตอร์ (ip_mult):' | sed 's /.* เราเตอร์ (ip_mult): {\ ([^}] * \)} * / \ 1 /')
#echo $ เราเตอร์
DHCPActive = $ (networksetup -getinfo "Wi-Fi" | grep DHCP)
#echo $ DHCPActive
dnsserver = $ (networksetup -getdnsservers "$ ActiveNetworkName" | awk '{พิมพ์ $ 1, $ 2}' | sed 'N; s / \ n //')
#echo $ dnsserver

หาก ["$ เปิดใช้งาน" = 'ใช้งานอยู่']; แล้วก็
#echo "พอร์ตเครือข่ายเปิดใช้งานอยู่"
ถ้า [[$ ipaddress]]; แล้วก็
echo "$ ActiveNetworkName ($ val)"
echo "--------------"
# นี่เป็นพอร์ตเชื่อมโยง WiFi หรือไม่ ถ้าเป็นเช่นนั้นเราต้องการชื่อเครือข่าย
if ["$ label" = "Wi-Fi"]; แล้วก็
WiFiName = $ (/ ระบบ / ห้องสมุด / PrivateFrameworks / Apple80211.framework / รุ่น / A / ทรัพยากร / สนามบิน -I | grep '\ sSSID:' | sed 's /.*: //')
#echo $ WiFiName
echo "ชื่อเครือข่าย: $ WiFiName"
Fi

echo "ที่อยู่ IP: $ ipaddress"
echo "Subnet Mask: $ netmask"
echo "เราเตอร์: $ เราเตอร์"
echo "IP CIDR: $ ipaddress / $ (mask2cdr $ netmask)"

ถ้า [[-z $ dnsserver]]; แล้วก็
ถ้า [[$ DHCPActive]]; แล้วก็
echo "เซิร์ฟเวอร์ DNS: ตั้งค่าด้วย DHCP"
อื่น
echo "เซิร์ฟเวอร์ DNS: ไม่ทราบ"
Fi
อื่น
echo "เซิร์ฟเวอร์ DNS: $ dnsserver"
Fi

echo "ที่อยู่ MAC: $ ​​macaddress ($ macal)"
echo "ความเร็วเครือข่าย: $ networkspeed"
echo "คุณภาพลิงก์: $ quality"
echo ""
Fi

# อย่าแสดงพอร์ตที่ไม่ได้ใช้งาน
Fi

เสร็จแล้ว

ในสคริปต์ของฉันฉันได้แทนที่การสืบค้นสาธารณะด้วย: set public (dig +short myip.opendns.com @resolver1.opendns.com) เหตุผลของฉันคือเซิร์ฟเวอร์ DNS (เช่น opendns) มีโอกาสน้อยลงกว่าเว็บไซต์และเร็วกว่า และฉันก็ลบคำสั่งการนอนหลับ ไม่จำเป็นต้องรอการตอบกลับ dns-server เวลาดำเนินการสำหรับสคริปต์ของฉัน 177 ms คุณใช้เวลา 5.237 วินาที แต่แน่นอนกว่านั้น ยังคงแตกต่างกันมาก
PeterVP

ข้อเสนอแนะที่ดี
David Kittell

2

ฉันจะไม่แกล้งทำเป็นมีคำตอบสำหรับคำถามนี้เรียง แต่นี่อาจเป็นประโยชน์

คุณสามารถถามได้ว่าปัจจุบันจะกำหนดเส้นทางแพ็คเก็ตไปยังบางสิ่งได้อย่างไร:

$ route get example.com | grep interface
interface: en8

จากนั้นคุณสามารถถามได้ว่า "บริการเครือข่าย" กำลังจัดการส่วนต่อประสานนั้น:

$ networksetup -listnetworkserviceorder | grep en8
(Hardware Port: Broadcom NetXtreme Gigabit Ethernet Controller, Device: en8)

แต่จริงๆแล้วฉันสงสัยว่า "บริการเครือข่าย" เป็นแบบหนึ่งต่อหนึ่งกับพอร์ตฮาร์ดแวร์ และอินเทอร์เฟซบางตัวเช่น tun0 นั้นไม่มี "บริการเครือข่าย" อย่างน้อยบางครั้งพวกเขาก็ไม่ทำ


1

นำมาจากการค้นหารายละเอียดประวัติการเชื่อมต่อ Wi-Fi จากบรรทัดคำสั่งของ Mac OS X | OSX ทุกวัน :

สำหรับ Mac OS X เวอร์ชั่นใหม่ OS X Yosemite 10.10 และใหม่กว่าให้ใช้รายการต่อไปนี้:

defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences |grep LastConnected -A 7

กดปุ่มย้อนกลับแล้วคุณจะเห็นรายการรายละเอียดการเชื่อมต่อเครือข่ายไร้สายที่ครอบคลุมทันที

คุณได้รับข้อมูลจำนวนมากเกี่ยวกับประวัติของการเชื่อมต่อรวมถึงรายละเอียดของการเชื่อมต่อปัจจุบัน

ไม่สมบูรณ์แบบ แต่คุณจะได้รับข้อมูลที่คุณกำลังมองหา - และข้อมูลเพิ่มเติมอีกมากมาย!


1

นี่คือสคริปเชลล์ที่ฉันเขียน:

function netinfo -d "get network information"

  # Get public ip address
  set public (dig +short myip.opendns.com @resolver1.opendns.com)
  set hostname (uname -n)

  if test -z "$public" # We got an empty string, meaning:
    set public "No Internet connection available"
  end

  echo ''
  echo "    Public IP: $public"
  echo "     Hostname: $hostname"
  echo ''

  # Get all available hardware ports
  set ports (ifconfig -uv | grep '^[a-z0-9]' | awk -F : '{print $1}')

  # Get for all available hardware ports their status
  for val in $ports
    set activated (ifconfig -uv $val | grep 'status: ' | awk '{print $2}')

    # We want information about active network ports...
    if test $activated = 'active' ^/dev/null
      set ipaddress (ifconfig -uv $val | grep 'inet ' | awk '{print $2}')

      # and of these, the ones with an IP-address assigned to it
      if test -n "$ipaddress" ^/dev/null

        # Do we have an IP address?
        # Then give us the information
        set label (ifconfig -uv $val | grep 'type' | awk '{print $2}')
        set macaddress (ifconfig -uv $val | grep 'ether ' | awk '{print $2}')
        set quality (ifconfig -uv $val | grep 'link quality:' | awk '{print $3, $4}')
        set netmask (ipconfig getpacket $val | grep 'subnet_mask (ip):' | awk '{print $3}')
        set router (ipconfig getpacket $val | grep 'router (ip_mult):' | sed 's/.*router (ip_mult): {\([^}]*\)}.*/\1/')
        set dnsserver (ipconfig getpacket $val | grep 'domain_name_server (ip_mult):' | sed 's/.*domain_name_server (ip_mult): {\([^}]*\)}.*/\1/')

        # Header for the network interfaces
        echo -n $label ; echo -n ' ('; echo -n $val ; echo ')'
        echo "--------------"

        # Is this a WiFi associated port? If so, then we want the network name
        switch $label
          case Wi-Fi
            # Get WiFi network name
            set wifi_name (/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I | grep '\sSSID:' | sed 's/.*: //')
            echo " Network Name: $wifi_name"
            # Networkspeed for Wi-Fi
            set networkspeed (/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I | grep lastTxRate: | sed 's/.*: //' | sed 's/$/ Mbps/')
          case '*'
            # Networkspeed  for other ports
            set networkspeed (ifconfig -uv $val | grep 'link rate:' | awk '{print $3, $4}')
        end

        echo "   IP-address: $ipaddress"
        echo "  Subnet Mask: $netmask"
        echo "       Router: $router"
        echo "   DNS Server: $dnsserver"
        echo "  MAC-address: $macaddress"
        echo "Network Speed: $networkspeed"
        echo " Link quality: $quality"
        echo ''
      end

      # Don't display the inactive ports.
    else if test $activated = 'inactive' ^/dev/null
    end
  end
end

มันแสดงให้เห็นถึงการเชื่อมต่อเครือข่ายที่ใช้งานทั้งหมดและข้อมูลที่เกี่ยวข้อง

แสดงความคิดเห็นในสิ่งที่คุณไม่ต้องการ / ต้องการ


1
อาจจะง่ายกว่าในการกำหนดecho_italicฟังก์ชั่นของเชลล์แทนการตัดคำเหล่านี้ทั้งหมดechoในset_colorสาย
nohillside

set_colorคำสั่งทั้งหมดสามารถลบออกได้ พวกมันแค่ 'ตกแต่ง'
PeterVP

1
ลบset_colorคำสั่งและวางตัวแปรภายในคำสั่ง echo
PeterVP

0

ไม่แน่ใจว่าสิ่งนี้จะเป็นประโยชน์กับทุกคนหรือไม่ แต่เมื่อฉันแก้ไขปัญหาด้วยคำถามเดียวกันฉันจึงไปหาวิธีแก้ไขปัญหานี้:

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 */
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.