Eine einfache Möglichkeit, dies für mich zu tun, war:
IP=$(ifconfig eth0 | grep -w inet | cut -d" " -f10) # device IP, e.g. 11.1.1.43
IP_RANGE=$(echo $IP | cut -d"." -f1-3).0/24 # subnet 11.1.1.0/24
Ersetzen Sie natürlich eth0
wobei die rechte Schnittstelle durch ifconfig
angezeigt wird .
Ein besserer Ansatz ist:
ifconfig eth0 | awk '/netmask/{split($4,a,":"); print a[1]}'
Sie können eth0 durch jede andere gewünschte Schnittstelle ersetzen
Es gibt mehrere Möglichkeiten, dies zu erreichen:
zuerst:Um die Maske im Format 255.255.255.0 zu drucken, können Sie dies verwenden:
/sbin/ifconfig wlan0 | awk '/Mask:/{ print $4;} '
Zweitens:Wir können den ip-Befehl verwenden, um die Maske im Format 192.168.1.1/24
zu erhaltenip -o -f inet addr show | awk '/scope global/ {print $4}'