Schnittstellen IP ermitteln per skript
Schnittstellen IP ermitteln per skript
Tag zusammen,
kennt jemand ein Skript, das die IP von Schnittstellen wie ppp0 ermitteln kann?
Das selbst zu programmieren, indem auf eine http-Ressource zugegriffen wird, kann ich selbst. Ich hätte die IP aber gerne vom lokalen Rechner aus ermittelt.
Gruß!
Jelzin
kennt jemand ein Skript, das die IP von Schnittstellen wie ppp0 ermitteln kann?
Das selbst zu programmieren, indem auf eine http-Ressource zugegriffen wird, kann ich selbst. Ich hätte die IP aber gerne vom lokalen Rechner aus ermittelt.
Gruß!
Jelzin
-
- Beiträge: 100
- Registriert: 17.12.2007 11:44:18
- Wohnort: SWEDEN
Hallo,
ich bin ja nicht der Script-Papst, aber meinst Du so etwas:
?
Gruß
Oliver
ich bin ja nicht der Script-Papst, aber meinst Du so etwas:
Code: Alles auswählen
ifconfig ppp0 | grep Adresse | awk '{ print $2 }'
Gruß
Oliver
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Nein, er meint sowas:Und wenn man dann doch von außen ran will, macht man das so:![Razz :-P](./images/smilies/icon_razz.gif)
jhr
Code: Alles auswählen
ifconfig ppp0 | grep "inet Adresse" | cut -d ":" -f2 | cut -d " " -f1
Code: Alles auswählen
lynx --dump www.wieistmeineip.de | grep "^[0-9]"
![Razz :-P](./images/smilies/icon_razz.gif)
jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
Alle hier mit deutscher locale unterwegsjhr-online hat geschrieben:Nein, er meint sowas:Code: Alles auswählen
ifconfig ppp0 | grep "inet Adresse" | cut -d ":" -f2 | cut -d " " -f1
![Surprised :o](./images/smilies/icon_surprised.gif)
MfG GoKi
:wq
:wq
Dankeeeee! Das war'sjhr-online hat geschrieben:Nein, er meint sowas:Code: Alles auswählen
ifconfig ppp0 | grep "inet Adresse" | cut -d ":" -f2 | cut -d " " -f1
![Smile :)](./images/smilies/icon_smile.gif)
/Edit: Jetzt steh ich vor dem nächsten Problem. Wie kann ich die Ausgabe in eine Variable umleiten?
Code: Alles auswählen
IP=ifconfig ppp0 | grep "inet Adresse" | cut -d ":" -f2 | cut -d " "
Code: Alles auswählen
echo $IP
![Crying or Very sad :cry:](./images/smilies/icon_cry.gif)
Zuletzt geändert von Jelzin am 28.12.2007 18:06:11, insgesamt 1-mal geändert.
Ja sicher ![Wink ;-)](./images/smilies/icon_wink.gif)
![Wink ;-)](./images/smilies/icon_wink.gif)
Code: Alles auswählen
daniel@daniel-laptop:~$ ifconfig eth2
eth2 Protokoll:Ethernet Hardware Adresse 00:0E:35:5C:F4:BF
inet Adresse:192.168.1.30 Bcast:192.168.1.255 Maske:255.255.255.0
inet6 Adresse: fe80::20e:35ff:fe5c:f4bf/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3345 errors:0 dropped:0 overruns:0 frame:0
TX packets:2694 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:1924992 (1.8 MiB) TX bytes:431801 (421.6 KiB)
Interrupt:4 Basisadresse:0x4000 Speicher:ff9ee000-ff9eefff
Oh, yeah!
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Mit Backticks...jhr
Code: Alles auswählen
IP=`ifconfig eth2 | grep "inet Adresse" | cut -d ":" -f2 | cut -d " " -f1`; echo $IP
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
...auch wenn der Teil schon gelöst ist, mag ich awk viel lieber als cut:
Gruß fuzzy
Code: Alles auswählen
/sbin/ifconfig ppp0 | awk -F ":|B" '/inet .*B/ {print$2}'
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Und um was aussagekräftiges zu bekommen, hab ich das in ein Script gepackt:Das mitaufgerufen, braucht der eine etwa 50 Sekunden, der andere 29. Und wer's nachmacht, lacht mich gleich aus, weil sein PC das in 10 Sekunden schafft ![Smile :)](./images/smilies/icon_smile.gif)
jhr
Code: Alles auswählen
for i in `seq 1 10000`;
do
ifconfig...
done
Code: Alles auswählen
time ./script
![Smile :)](./images/smilies/icon_smile.gif)
jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
Stimmt, mit konnte man sowas machen. Wäre ich aber nicht mehr drauf gekommen.
Danke.
...vielleicht gibt es ja noch ne schnellere Variante![Wink ;-)](./images/smilies/icon_wink.gif)
Code: Alles auswählen
time
Danke.
...vielleicht gibt es ja noch ne schnellere Variante
![Wink ;-)](./images/smilies/icon_wink.gif)
Oh, yeah!
Stimmt, dass geht noch schneller ![Wink ;-)](./images/smilies/icon_wink.gif)
...aber habe irgendwie noch Probleme dass Ganze mit sed zu lösen. Irgendwie scheint mein Ausdruck nicht zu stimmen, da immer alles von ifconfig zurück kommt (oder perl)...
![Wink ;-)](./images/smilies/icon_wink.gif)
Code: Alles auswählen
daniel@daniel-laptop:~$ export IP=192.168.1.30
daniel@daniel-laptop:~$ echo $IP
192.168.1.30
daniel@daniel-laptop:~$ time echo $IP
192.168.1.30
real 0m0.000s
user 0m0.000s
sys 0m0.000s
daniel@daniel-laptop:~$
Oh, yeah!
Duff hat geschrieben: ...aber habe irgendwie noch Probleme dass Ganze mit sed zu lösen. Irgendwie scheint mein Ausdruck nicht zu stimmen, da immer alles von ifconfig zurück kommt (oder perl)...
Code: Alles auswählen
/sbin/ifconfig ppp0 | sed -n '/inet [aA]/s/[^:]*:\(.*\)B.*/\1/p'
Code: Alles auswählen
/sbin/ifconfig ppp0 | sed '/inet .*B/!d;s/[^:]*://;s/B.*//'