IP Config

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich benötige eine kleine Hilfe. Ich schreibe gerade ein Command Line Tool, was mir die IP Adressen vom Host Rechner anzeigen soll (aber nicht 127.0.0.1).
    Unter XCode bzw. in der Developer Docu von Apple finde ich aber keine angaben , wie man das macht. Ich benötige hier ein Extraprogramm, und nicht irgendwie ifconfig oder
    änliches.

    Hat jemand was zur Hand,wie ich das ganze programmieren könnte ?(

    Danke im voraus :!:
    Mac Pro Intel Xeon 2x2.8GHz , 8GB Ram , 2.000 GB HD , MacOS X 10.9
    PowerBook TI 867MHz , 1GB Ram , 40 GB HD , MacOS X 10.4
  • MainframeOSX schrieb:

    Ich benötige eine kleine Hilfe. Ich schreibe gerade ein Command Line Tool, was mir die IP Adressen vom Host Rechner anzeigen soll (aber nicht 127.0.0.1).
    Unter XCode bzw. in der Developer Docu von Apple finde ich aber keine angaben , wie man das macht. Ich benötige hier ein Extraprogramm, und nicht irgendwie ifconfig oder
    änliches.

    Hat jemand was zur Hand,wie ich das ganze programmieren könnte ?(

    Danke im voraus :!:

    Welche denn? Ein Rechner kann beliebig viele IP Addressen haben.
    C++
  • Mit "route get ip-adresse" kann man sich Informationen holen über welches Interface eine Verbindung geleitet wird. Dann fragt man mit "ifconfig interface-name" einfach nach den Infos zu diesem Interface und sucht sich dort die IP-Adresse raus. Das geht in einer Zeile etwa so:

    Quellcode

    1. ifconfig $(route get 8.8.8.8 | grep interface | awk '{print $2;}') | grep inet | awk '{print $2;}'


    8.8.8.8 ist die Adresse eines Google-DNS-Servers und wird hier einfach beispielhaft für eine gültige IP-Adresse aus dem "Internet-Bereich" genommen.

    Ähnlich kann man sich auch Name und IP-Adresse des Gateways raussuchen:

    Quellcode

    1. nslookup $(route get 8.8.8.8 | grep gateway | awk '{print $2;}') | tail -n +4

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von system ()

  • zerm schrieb:

    Da gibt es theoretisch auch unendlich viele

    Nein, das ist Quatsch, schon allein, weil es nur endlich viele IP-Adressen gibt.

    Natürlich kann ein Rechner mehrere Gateways haben, etwa zu verschiedenen Teilnetzen im großen Firmennetz, aber sowas kommt bei einem Privatanwender zu hause eigentlich nie vor und selbst wenn es mehrere Gateways gibt, kann man doch einfach das erstbeste nehmen über das der Datenverkehr ins Internet fließen kann.

    Ärgerlicher ist eher der Fall, wenn ein Rechner gar kein Gateway benutzt. Natürlich muss ein Rechner auch überhaupt keine Netzwerkkarte oder ähnliches haben und man hätte dann nur die Adresse 127.0.0.1.

    Naja, für solche Fälle listet man sich einfach alle Adressen auf und muss dann selbst schauen, was man macht:

    Quellcode

    1. ifconfig | grep inet | grep -v inet6 | awk '{print $2;}'


    Etwa kann man dann beliebige Adresse rausfiltern:

    Quellcode

    1. ifconfig | grep inet | grep -v inet6 | awk '{print $2;}' | grep -v 127.0.0.1


    Eine andere gute Alternative mag vielleicht auch so etwas wie whatismyip.com sein. Dann fragt man einfach eine Internetseite von welcher Adresse man denn seine Abfrage geschickt hat. Etwa so:

    Quellcode

    1. wget -q -O - "http://www.whatismyip.com/automation/n09230945.asp"

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von system ()