IP Adresse / username(root) abfragen!!!
IP Adresse / username(root) abfragen!!!
Hallo
ich hab zwei kleine Probleme!!!
Leider hab ich nichts zu dem Thema gefuunden.
Ich suche funktionen mit den man die eingene IP-Adresse und den angemeldeten Benutzter (bzw. ob man als root angemeldet ist) auslesen kann.
Vieleicht weis ja eines etwas dazu.
Vielen dank
ich hab zwei kleine Probleme!!!
Leider hab ich nichts zu dem Thema gefuunden.
Ich suche funktionen mit den man die eingene IP-Adresse und den angemeldeten Benutzter (bzw. ob man als root angemeldet ist) auslesen kann.
Vieleicht weis ja eines etwas dazu.
Vielen dank
Da du keine Programmiersprache angibst, nehme ich mal bash-Skript an.
Angemeldeter Benutzer, z.B.
UID 0 ist root.
IP-Adresse.
Angemeldeter Benutzer, z.B.
Code: Alles auswählen
whoami
echo $UID
IP-Adresse.
Code: Alles auswählen
ifconfig
MfG GoKi
:wq
:wq
...und die IP im Internet, hinter einem Router:
http://wiki.debianforum.de/AktuelleIPAd ... rausfinden
Gruß fuzzy
PS:
es würde auch mit wget gehen, Du kannst Dir, bei Bedarf noch mehr anpassen:
http://wiki.debianforum.de/AktuelleIPAd ... rausfinden
Gruß fuzzy
PS:
es würde auch mit wget gehen, Du kannst Dir, bei Bedarf noch mehr anpassen:
Code: Alles auswählen
wget -qO- http://www.showmyip.de | grep IP:
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Den user bzw. die userid bekommst du mit
Code: Alles auswählen
#include <unistd.h>
#include <sys/types.h>
uid_t getuid(void);
uid_t geteuid(void); // effektive userid
Hallo
ich weis das man in einen PC/server mehrer Ethernetkarten einbauen kann und noch vielmehr IP-Adressen vergeben kann!!!
Mein PC hat momentan eine Ethernetkarte und eine IP-Adresse, diese möchte ich wissen.
Wenn wir schon dabei sind, wie kann man alle IP-Adressen auslesen vielleicht brauch ich auch mal diese Option.
Gruß
ju
ich weis das man in einen PC/server mehrer Ethernetkarten einbauen kann und noch vielmehr IP-Adressen vergeben kann!!!
Mein PC hat momentan eine Ethernetkarte und eine IP-Adresse, diese möchte ich wissen.
Wenn wir schon dabei sind, wie kann man alle IP-Adressen auslesen vielleicht brauch ich auch mal diese Option.
Gruß
ju
Hallo
oh schade "nepos", ich hätte gemeint das du für mich mindestens eine Lösung hast.
Hat sich auf jedenfall so angeört!!!
Gruß
juschold
oh schade "nepos", ich hätte gemeint das du für mich mindestens eine Lösung hast.
Hat sich auf jedenfall so angeört!!!
nepos hat geschrieben:Welche IP denn? Du hast eventuell eine, die vom Internet sichtbar ist und dann beliebig viele - je nach Aufbau deines Netzes - andere IPs.
Unser Server hier hat z.b. 3 IP-Adressen in verschiedenen Netzen. Welche willst du nun haben?
Gruß
juschold
Hilft dir weiter?
Code: Alles auswählen
man getipnodebyname
Re: IP Adresse / username(root) abfragen!!!
Bei diesem Thema müßtest du eigentlich eher zuviel als zuwenig gefunden haben. Dafür gibt es ja unzählige Lösungsansätze:juschold hat geschrieben: Leider hab ich nichts zu dem Thema gefuunden.
Ich suche funktionen mit den man die eingene IP-Adresse ... auslesen kann.
über den Host Namen:
Code: Alles auswählen
root@gms4:~# cat gethostip.c
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
struct hostent *phe;
char** p;
if (argc<2) exit(1);
phe = gethostbyname(argv[1]);
if (phe == NULL) exit(2);
if ( phe->h_addrtype != AF_INET ) exit(3);
p = phe->h_addr_list;
if ( p == NULL ) exit(3);
while ( *p ) {
printf("%s: %s\n", argv[1],inet_ntoa(*(struct in_addr*)(*p)));
p++;
}
}
root@gms4:~# gcc -o gethostip gethostip.c
root@gms4:~# ./gethostip gms4
gms4: 192.168.100.123
Code: Alles auswählen
root@gms4:~# cat getifip.c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <netinet/in.h>
int main(int argc, char *argv[])
{
int d;
struct ifreq ir;
struct sockaddr *psa;
if ( argc !=2 ) exit(1);
if ( (d = socket(PF_INET,SOCK_STREAM,0)) == -1) exit(2);
strncpy(ir.ifr_name,argv[1],IFNAMSIZ);
if (ioctl(d,SIOCGIFADDR,&ir) == -1) exit(3);
psa = (struct sockaddr *)&(ir.ifr_addr);
printf("%s: %s\n", ir.ifr_name, (char*)inet_ntoa(((struct sockaddr_in*) psa)->sin_addr)
);
return 0;
}
root@gms4:~# gcc -o getifip getifip.c
root@gms4:~# ./getifip eth0
eth0: 192.168.100.123
Gruß
gms
- Sid Burn
- Beiträge: 47
- Registriert: 16.11.2006 15:18:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /universe/earth/europe/germany/nrw/essen
-
Kontaktdaten:
Wieso mehrere Ethernetkarten?juschold hat geschrieben:Hallo
ich weis das man in einen PC/server mehrer Ethernetkarten einbauen kann und noch vielmehr IP-Adressen vergeben kann!!!
Du kannst auch einer einzigen Ethernetkarte 5, 10 oder 5000 IP Adressen zuweisen, so wie du Lustig bist.
Sowas kommt z.B. bei Firewall Systemen vor. Dort antwortet der Paket Filter für ein ganzes Netz und gibt Sie danach den anderen Host weiter. Wenn du mal mit Virtuellen Server gearbeitet hast wirst du sicherlich auch kennen das das Gast System jeweils eine eigene IP haben kann. Diese IPs müssen letztendlich auch auf das Host System abgebildet werden. Wenn du VLANs hast kannst du z.B. ein Trunk Port auf einen Switch bereit stellen und den Rechner dann in allen VLANs mit einer unterschiedlichen IP zur VErfügung stellen. Alles mit einer Ethernetkarte.
Die Frage welche IP du also genau haben möchtest ist volkommen berechtigt.