Name des WLAN-Interface per bash finden?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 07.10.2024 19:45:58

Servus zusammen,

ich möchte in einem bash-Script (welches wechselweise auf einem PC oder auf einem Raspberry PI läuft) den Namen des WLAN-Ports herausfinden.

Wie komme ich da am besten dran? Ich habe dazu im Netz nicht viel gefunden - die letzte Info war von 2006 und empfahl den Befehl "route" und dann
route -n | grep ^0.0.0.0 | awk '{print $8}' (kam hier aus dem Forum) ==> funktioniert aber nicht bei mir.

Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat und später dann als Wireless Access Point konfiguriert wird.

Das Interface wird in "ip a" angezeigt. Beginnen bei Debian auf x86 die WLAN-Interfaces immer mit "wlx"??? Danach könnte ich ja dann die "ip a" ausgabe filtern. Beim raspberry ist das einfach: Da heisst das Interface immer (noch) wlan0 etc.

Gibt es andere Möglichkeiten, an den Interface-namen in einem Script heranzukommen?

Danke im Voraus, Trav

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Name des WLAN-Interface per bash finden?

Beitrag von heisenberg » 07.10.2024 20:59:39

Ungefähr so ...

iwconfig 2>&1 | awk '/ESSID/ {print $1}'

Das sollte Dir alle WLAN-Schnittstellen anzeigen.

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Name des WLAN-Interface per bash finden?

Beitrag von MSfree » 07.10.2024 22:00:56

Hier ist ein Fragment aus einem meiner Shellskripte:

Code: Alles auswählen

IFLIST=`ls /sys/class/net`
for IFNAME in $IFLIST
do
  if [ -d /sys/class/net/$IFNAME/phy80211 ]
  then
    WLAN=$IFNAME
  else
  if [ $IFNAME != "lo" ]
  then
    ETHER=$IFNAME
  fi
fi
done
Im Prinzip werden die Verzeichnisse unter /sys/class/net durchsucht und geschaut, ob da eine Datei namens phy80211 vorhanden ist. Wenn ja, ist es WLAN, wenn nicht, ist es Ethernet oder lo.

mat6937
Beiträge: 3372
Registriert: 09.12.2014 10:44:00

Re: Name des WLAN-Interface per bash finden?

Beitrag von mat6937 » 07.10.2024 22:19:21

Traveller42 hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 19:45:58
Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat ...
Du könntest auch mit z. B.:

Code: Alles auswählen

systemctl status sys-subsystem-net-devices-*.device | grep Device:
anzeigen und filtern.
Debian 12.8 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce

tobo
Beiträge: 2346
Registriert: 10.12.2008 10:51:41

Re: Name des WLAN-Interface per bash finden?

Beitrag von tobo » 07.10.2024 22:58:23

Oder so:

Code: Alles auswählen

# iw dev | grep -oP "Interface \K.+"

Benutzeravatar
thunder11
Beiträge: 2188
Registriert: 19.04.2023 09:08:30

Re: Name des WLAN-Interface per bash finden?

Beitrag von thunder11 » 07.10.2024 23:18:06

oder ganz schnöde:

Code: Alles auswählen

inxi -Nnixxx

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 19:56:42

heisenberg hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 20:59:39
Ungefähr so ...

iwconfig 2>&1 | awk '/ESSID/ {print $1}'

Das sollte Dir alle WLAN-Schnittstellen anzeigen.
Funktioniert bei mir leider nicht. Danke trotzdem

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 19:57:23

MSfree hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 22:00:56
Hier ist ein Fragment aus einem meiner Shellskripte:

Code: Alles auswählen

IFLIST=`ls /sys/class/net`
for IFNAME in $IFLIST
do
  if [ -d /sys/class/net/$IFNAME/phy80211 ]
  then
    WLAN=$IFNAME
  else
  if [ $IFNAME != "lo" ]
  then
    ETHER=$IFNAME
  fi
fi
done
Im Prinzip werden die Verzeichnisse unter /sys/class/net durchsucht und geschaut, ob da eine Datei namens phy80211 vorhanden ist. Wenn ja, ist es WLAN, wenn nicht, ist es Ethernet oder lo.
Funktioniert bei mir leider nicht. Danke dennoch.

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 19:58:16

mat6937 hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 22:19:21
Traveller42 hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 19:45:58
Ich sollte erwähnen, dass zum Ausführungszeitraum des Scripts der WLAN-Port keine Verbindung hat ...
Du könntest auch mit z. B.:

Code: Alles auswählen

systemctl status sys-subsystem-net-devices-*.device | grep Device:
anzeigen und filtern.
Funktioniert! DANKE

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 19:59:06

tobo hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 22:58:23
Oder so:

Code: Alles auswählen

# iw dev | grep -oP "Interface \K.+"
iw ist in der Grundausstattung meiner Debian 12.7 nicht vorhanden. Danke dennoch.

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 19:59:38

thunder11 hat geschrieben: ↑ zum Beitrag ↑
07.10.2024 23:18:06
oder ganz schnöde:

Code: Alles auswählen

inxi -Nnixxx
inxi ist in der Grundausstattung meiner Debian 12.7 nicht vorhanden. Danke dennoch

Traveller42
Beiträge: 47
Registriert: 08.05.2021 22:43:21

Re: Name des WLAN-Interface per bash finden?

Beitrag von Traveller42 » 14.10.2024 20:00:54

Ich danke allen Antwortenden für ihre Hilfe.

Ich werde die Lösung mit dem systemctl nehmen, da ich das in den Bordmitteln habe und nichts zusätzlich installieren muss. Ist in meinem Projekt wichtig.

Antworten