Aktive Netzwerkschnittstelle abfragen

Author: Dimitrios Anogiatis (Stand der EN Seite vom 17.03.2024)

Diese Funktion liefert Ihnen die aktive Netzwerkschnittstelle (z.B. eth0 oder wlan0 usw.).

Sie kann in Shell-Funktionen oder jeder internen Funktion verwendet werden, die auf diese Informationen angewiesen ist.

    PUBLIC FUNCTION getActiveNetworkInterface() AS String
    DIM tmpNIF AS String[]
    DIM tmpActive, tmpString AS String
    DIM iterator AS Integer
    DIM tmpFile AS File
    
    'get the interface directories
    tmpNIF = Dir("/sys/class/net")
    
    'check each folder's oper file to see if the interface is up and running
    FOR iterator = 0 TO tmpNIF.Count - 1
     tmpString = "/sys/class/net" &/ tmpNIF [iterator]&/ "operstate"
    
     'check the operational state of each interface
    
    tmpFile = OPEN tmpString FOR INPUT
      WHILE NOT Eof(tmpFile)
        LINE INPUT #tmpFile, tmpActive
      WEND
     CLOSE #tmpFile
    
      'if it's reported as up then return it's name
      IF tmpActive = "up" THEN RETURN tmpNIF[iterator]
    NEXT
    END