Neuer Host im Netzwerk finden



  • Dravere schrieb:

    Mir kam aber zwischenzeitlich eine Idee. Kann ich grundsätzlich nicht einfach nach DHCP ACK lauschen? Die IP Vergabe sollte in diesem Netzwerk eigentlich mit DHCP ablaufen.

    Im Prinzip ja, nur wird das DHCP ACK bei deinem PC gar nicht erst ankommen, denn das ist kein Broadcast (höchstens bei WLAN hättest du damit eine Chance).

    Das simpelste dürfte sein, dem DHCP-Server zu sagen, dass er dich benachrichtigen soll, wenn ein neuer Host dazukommt. Dann kannst du sicher sein, dass du keine Nachrichten verpasst, und du kannst sogar um absolut sicher zu gehen den DHCP-Server periodisch abfragen, welche Hosts ihm bekannt sind. Das klappt natürlich nur, wenn du auf den DHCP-Server Admin-Zugriff hast.

    Das nächst-einfachste dürfte tatsächlich das Mithören von DHCPDISCOVER-Paketen sein. Die sind broadcast, deswegen haben die anders als die späteren DHCP-Pakete eine Chance, bei deinem PC anzukommen. Dafür kenn ich aber nichts fertiges, außer eben die normalen Paket-Logger wie wireshark und ähnliches. Du müsstest dann das Log auf DHCPDISCOVER-Pakete überwachen und dann noch rausfinden, welche IP der neue Host nun bekommen hat.

    Aber vielleicht gibt es dafür auch etwas fertiges. Ich würde aber wie gesagt erstmal versuchen, mich in den DHCP-Server zu hängen, das sieht für mich nach einer viel einfacheren und saubereren Lösung aus.

    edit: Wenn du weißt, dass Port 22 garantiert offen ist auf dem neuen Host, weißt du dann vielleicht auch, dass der neue Host immer dieselbe MAC-Adresse besitzt? In dem Fall wird er nämlich vom DHCP-Server (sehr wahrscheinlich) immer dieselbe IP-Adresse bekommen, und du kannst einfach periodisch checken, ob jemand auf dieser IP antwortet. Das wär vermutlich die Lösung für ein kleines Heimnetzwerk mit dem geringsten Aufwand, falls du nicht eh schon Admin-Zugang zum DHCP-Server hast.



  • Dravere schrieb:

    Kann man das mit nmap machen?

    Ja

    Wenn ja, wie?

    RTFM



  • Dravere schrieb:

    War ARP nicht dazu da, für IP-Adressen MAC-Adressen zu finden? Ich habe weder IP- noch MAC-Adresse.

    Aber du hast MAC- und IP-Adresse der anderen Teilnehmer. Wenn dann plötzlich vorher unbekannte MAC- oder IP-Adressen auftauchen, hast du deinen neuen Host


  • Administrator

    Christoph schrieb:

    ..., wenn du auf den DHCP-Server Admin-Zugriff hast.

    Hab ich nicht.

    Christoph schrieb:

    Das nächst-einfachste dürfte tatsächlich das Mithören von DHCPDISCOVER-Paketen sein.

    Ich bin nicht mehr gerade sehr frisch auf dem Gebiet, aber war DHCP DISCOVER nicht das, was der Client dem DHCP Server schickt, um eine neue IP zu bekommen? Wenn schon wäre es doch eher DHCP OFFER?

    Christoph schrieb:

    edit: Wenn du weißt, dass Port 22 garantiert offen ist auf dem neuen Host, weißt du dann vielleicht auch, dass der neue Host immer dieselbe MAC-Adresse besitzt?

    Es können leider auch unterschiedliche MAC-Adressen sein. Ich kann zwar die MAC-Adresse herausfinden, da ich das Gerät selber ins Netzwerk stecke. Aber dann müsste ich jeweils Bildschirm, Tastatur, Maus usw. an das Gerät anhängen, nur um die MAC-Adresse oder gleich die IP-Adresse herauszufinden. Das möchte ich eben gerne vermeiden 😉

    zwutz schrieb:

    Aber du hast MAC- und IP-Adresse der anderen Teilnehmer.

    Hab ich das?

    Grüssli



  • Dravere schrieb:

    Christoph schrieb:

    Das nächst-einfachste dürfte tatsächlich das Mithören von DHCPDISCOVER-Paketen sein.

    Ich bin nicht mehr gerade sehr frisch auf dem Gebiet, aber war DHCP DISCOVER nicht das, was der Client dem DHCP Server schickt, um eine neue IP zu bekommen? Wenn schon wäre es doch eher DHCP OFFER?

    Im Prinzip ja, nur kommen DHCP-OFFER-Pakete bei deinem PC niemals an, denn das sind keine broadcast-Pakete. Die gehen zielgerichtet nur an den neuen Host.


  • Administrator

    Christoph schrieb:

    Dravere schrieb:

    Christoph schrieb:

    Das nächst-einfachste dürfte tatsächlich das Mithören von DHCPDISCOVER-Paketen sein.

    Ich bin nicht mehr gerade sehr frisch auf dem Gebiet, aber war DHCP DISCOVER nicht das, was der Client dem DHCP Server schickt, um eine neue IP zu bekommen? Wenn schon wäre es doch eher DHCP OFFER?

    Im Prinzip ja, nur kommen DHCP-OFFER-Pakete bei deinem PC niemals an, denn das sind keine broadcast-Pakete. Die gehen zielgerichtet nur an den neuen Host.

    Wie soll das gehen, wenn der neue Host noch gar keine IP Adresse hat? 😕
    Die neue IP Adresse bekommt er ja erst im DHCP OFFER als Vorschlag. Scheint auch auf Wikipedia anders zu stehen:
    http://en.wikipedia.org/wiki/DHCP#Technical_details
    Dort steht, dass sogar DHCP ACK per Broadcast verschickt wird.

    Grüssli



  • Dravere schrieb:

    Christoph schrieb:

    Im Prinzip ja, nur kommen DHCP-OFFER-Pakete bei deinem PC niemals an, denn das sind keine broadcast-Pakete. Die gehen zielgerichtet nur an den neuen Host.

    Wie soll das gehen, wenn der neue Host noch gar keine IP Adresse hat? 😕

    Ganz einfach: Die IP-Adresse ist irrelevant fürs Routing der Pakete vom DHCP-Server zum DHCP-Client, denn beide befinden sich im selben Subnetz. In dem DHCP-OFFER-Paket steht als Ziel die MAC-Adresse des Clients. Das Netzwerk kann das Paket deswegen direkt zum Client routen.

    Aber du hast mich daran erinnert, dass ich das nie selber nachgeprüft habe. Wär also möglich, dass ich hier falsch liege.


  • Administrator

    Unicast ist für MAC-Adressen doch nur in der Collision Domain vorhanden? Theoretisch wäre es möglich, dass man mit MAC-Adressen in einem Subnetz ein Routing machen könnte, wäre mir aber neu, dass dies auch gemacht wird.

    Aber ich bin ebenfalls kein Experte.

    Ich werde am Montag dies dann mal mit Wireshark ausprobieren. Falls jemand noch weitere Ideen hat, immer her damit 🙂

    Grüssli



  • Ich hab grad an einen Router/DHCP-Server an einen freien Ethernet-Port einen neuen Host angeschlossen und währenddessen auf einem anderen PC, der am selben Router an einem anderen Ethernet-Port hängt, die Pakete mitgeschnitten. Der andere PC hat von dem DHCP-Austausch genau zwei Pakete gesehen: DHCP DISCOVER und DHCP REQUEST. Beide kamen vom neuen Client. Die DHCP-Pakete vom Server sind bei meinem PC nicht angekommen, wurden also vermutlich direkt an den neuen Client geschickt, wie ich vermutet hatte.

    In dem DHCP-REQUEST-Paket steht die neue IP-Adresse des Clients, allerdings weißt du dann noch nicht sicher, ob der DHCP-Server den Request akzeptiert hat.



  • http://www.henkessoft.de/OS_Dev/Bilder/rev936.PNG

    Im Sourcecode von PrettyOS könnt ihr genau sehen, wie DHCP läuft.



  • @Erhard Henkes:
    Die Frage war hier eher, welche DHCP-Pakete als Broadcast durchs gesamte Subnetz geschickt und mitgehört werden können. Meinem Test nach gehen viele Pakete direkt zwischen Server und Client hin- und her, ohne dass andere Teilnehmer die jemals zu sehen bekommen.



  • Wie Du im Code von PrettyOS siehst, werden DHCP DISCOVER und DHCP REQUEST vom Client mit gesetztem Broadcast Flag gesendet. Das hast Du mit deinen Tests auch heraus gefunden.

    Siehe Richtlinie "RFC 2131 - Dynamic Host Configuration Protocol", 3.1



  • Dravere schrieb:

    Ich habe weder IP- noch MAC-Adresse.

    -vv
    interessant. ich würde gerne wissen, was du stattdessen hast.



  • hallo!
    grosszuegigerweise senden systeme nach dem dhcp passiert ist meist ein gratuitous arp. und da steht alles drin, was du wissen wolltest.



  • Dravere schrieb:

    zwutz schrieb:

    Aber du hast MAC- und IP-Adresse der anderen Teilnehmer.

    Hab ich das?

    Grüssli

    arp -a

    Zeigt dir die aktuelle ARP-Tabelle an.



  • mezzo mix schrieb:

    grosszuegigerweise senden systeme nach dem dhcp passiert ist meist ein gratuitous arp. und da steht alles drin, was du wissen wolltest.

    Kann ich nicht bestätigen, mein System (Linux) hat das beim Testen nicht gemacht, oder zumindest kam der gratuitous ARP nicht an bei den restlichen PCs im Netzwerk.



  • Christoph schrieb:

    mezzo mix schrieb:

    grosszuegigerweise senden systeme nach dem dhcp passiert ist meist ein gratuitous arp. und da steht alles drin, was du wissen wolltest.

    Kann ich nicht bestätigen, mein System (Linux) hat das beim Testen nicht gemacht, oder zumindest kam der gratuitous ARP nicht an bei den restlichen PCs im Netzwerk.

    und da muss ich dir recht geben. mein darwin machts, mein linux nicht 😡



  • In PrettyOS machen wir das auch nicht, warum auch?


  • Administrator

    Funktioniert alles nicht, was hier drin bisher präsentiert wurde. Der neue Host ist ein Linux. Somit keine Grosszügigkeit mit dem ARP Paket vorhanden.

    Unter arp -a hat sich nichts verändert, nachdem sich der neue Host angemeldet hatte. Hätte mich ehrlich gesagt auch etwas überrascht. Sind auch bei weitem nicht alle aufgelistet.

    Einzige Lösung: Ich weiss inzwischen in welchem Bereich sich der Host sehr wahrscheinlich eintragen wird. Daher suche ich mit nmap einfach alle IPs in diesem Bereich ab (ca. 200 Stück), welche einen Port 22 offen haben. Danach schliesse ich den Host an und lasse die Suche nochmals laufen. Ist für mich genau genug, aber natürlich weit entfernt vom Idealfall.

    Grüssli



  • du kannst auch einen broadcast-ping in's subnetz machen, dann wird sich der host auch melden.


Anmelden zum Antworten