Forum: PC-Programmierung Tool zum Auffinden eines LAN Teilnehmers (mittels MAC)


von Jürgen W. (lovos)


Lesenswert?

Hier in der Firma werden Embedded Systeme mit LAN-Anschluss entwickelt.
Die Adressen werden per DHCP vergeben.
Da ich nicht staendig ins Labor rennen will, um die aktuelle IP-Adresse 
eines Test-Geraetes zu erfahren (sie wechseln leider oft), wuerde ich 
ein Tool schreiben.
RARP ist nicht implementiert.
Aber ich kann 254 ARP-Anfragen losschicken und dann meldet sich der 
Teilnehmer falls er online ist.

Frage: ist es legitim, alle 254 ARP-Requests auf einmal loszuschicken, 
oder sollte man Pausen einlegen?
Es handelt sich um das Firmen-Netz, ich will da keine Schwierigkeiten 
bekommen.

von Vlad T. (vlad_tepesch)


Lesenswert?

wenn du mich fragst, haben Testgeräte und in Entwicklung befindliche 
Geräte nichts am Produktivnetz der Firma verloren.
Hierfür sollte ein serparates Netz aufgebaut werden.

von Frank K. (fchk)


Lesenswert?

Alle DHCP Server erlauben es, statische Zuordnungen zu vergeben, d.h. 
das Gerät bekommt immer dieselbe Adresse. Das wäre der sinnvollere Weg.

fchk

von keine Ahnung (Gast)


Lesenswert?

Schoss mir nur gerade durchs Hirn:
Wäre es umgekehrt nicht einfacher: Testgerät pingt beim Hochfahren eine 
feste IP, sinnigerweise deinen Arbeitsrechner. Anschließend kannst du in 
den Arp Tables deines Rechners schauen, hinter welcher IP sich das 
Testgerät versteckt.
Oder halt direkt auf dem vergebenden dhcp Server schauen, falls Zugang 
besteht?

von Jürgen W. (lovos)


Lesenswert?

@Vlad Tepesch (vlad_tepesch)

>wenn du mich fragst, haben Testgeräte und in Entwicklung befindliche
>Geräte nichts am Produktivnetz der Firma verloren.

Voll Deiner Meinung.
Aber ich bin nicht die IT Abteilung und hab da nichts zu melden, sondern 
ein kleiner Softwerker.

@Frank K. (fchk)
>Alle DHCP Server erlauben es, statische Zuordnungen zu vergeben, d.h.
>das Gerät bekommt immer dieselbe Adresse. Das wäre der sinnvollere Weg.

Das ist mir bekannt. Aber es handelt sich um ein 192.168.x Netz mit nur 
maximal 254 Hosts. Da geht es sehr knapp zu und statische Zuordnungen 
ade.
Auf der anderen Seite kann ich alle moeglichen Adressen erreichen per 
ARP.
An einem 10.10.x.x Netz waere das nicht moeglich.


Nochmal: Ich bin kein Systemadministrator. Dieser Thread bezieht sich 
NICHT auf das Einrichten von Netzwerken.
Bitte keine Beitraege ob das sinnvoll ist oder nicht, wie meine Firma 
das handhabt.
Ich will ein Tool. Ich habe eines schon geschrieben, das alle Adressen 
sequentiell ueberprueft. Das ist zwar besser als ins Labor zu rennen, 
aber ich wuerde es gerne noch schneller machen.

von Jürgen W. (lovos)


Lesenswert?

> Wäre es umgekehrt nicht einfacher: Testgerät pingt beim Hochfahren eine
> feste IP

Nee, das ist Freigabe-Software, nicht im Entwicklungsstadium.

von Rolf Magnus (Gast)


Lesenswert?

Jürgen G. schrieb:
> Frage: ist es legitim, alle 254 ARP-Requests auf einmal loszuschicken,
> oder sollte man Pausen einlegen?
> Es handelt sich um das Firmen-Netz, ich will da keine Schwierigkeiten
> bekommen.

Dann wäre die beste Anlaufstelle für diese Frage der Administrator.

von Jürgen W. (lovos)


Lesenswert?

Der ARP-Frame ist 60 Bytes lang. 254 davon halte ich fuer eine 
Kleinigkeit. Ich bin mir 80% sicher, dass ich 254 ARPs hintereinander 
hinausschiessen kann ohne irgendein Netzwerkproblem hervorzurufen. 99% 
sicher, wenn ich dazwischen eine Pause von 50ms halte.
Aber ich bin halt kein Netzwerkspezialist.

von david (Gast)


Lesenswert?

Da die ARP Lösung funktioniert gehen ich davon aus das du im gleichen 
Subnetz bist.
Erzeuge ein Ping Packet mit Destination MAC von deinem Testgerät und 
irgendeiner Dst IP (nicht relevat da kein Routing). Das Antwortpacket 
wird vorausichtlich die Korrekten IP vom Testgerät enthalten.

Noch einfacher, mach einen statischen ARP Eintrag und sprich diese IP 
an.

Gruss
David

von Andreas F. (aferber)


Lesenswert?

david schrieb:
> Erzeuge ein Ping Packet mit Destination MAC von deinem Testgerät und
> irgendeiner Dst IP (nicht relevat da kein Routing).

Aber sicher ist die Ziel-IP relevant. Wenn der IP-Stack des Gerätes 
ordentlich arbeitet, wird er nur auf Pakete antworten, die an seine 
eigene IP (und ggf. noch die Broadcast-Adresse) gerichtet sind. Pakete 
mit anderer Ziel-IP werden verworfen (oder, falls es sich um einen 
Router handelt, geforwardet), auch wenn sie auf Layer 2 (MAC) an ihn 
adressiert sind.

Jürgen G. schrieb:
> Frage: ist es legitim, alle 254 ARP-Requests auf einmal loszuschicken,
> oder sollte man Pausen einlegen?

Das sind ein paar kB, mehr nicht, auf einem 100Mbps-Netz geht das in ca. 
2ms über die Bühne. Kein Problem. Und wenn du besonders nett sein 
willst, schickst du deine ARP-Anfragen nicht wie sonst üblich als 
Broadcast durchs Netz, sondern direkt als Unicast an die bekannte 
MAC-Adresse.

Selbst ein /16 ist so prinzipiell noch in ein paar Sekunden scanbar. 
Allerdings sollte man sich da ggf. dann doch ein wenig bremsen, da es 
sonst Probleme wegen Broadcast-Limits in Switchen geben könnte (bei 
Unicast aber auch wieder nicht).

Am einfachsten ist es aber, wenn dein Gerät auf Broadcast-Pings 
antwortet. Dann kannst du die IP einfach mittels arping von 
http://www.habets.pp.se/synscan/programs.php?prog=arping rausfinden:
1
# arping -c 2 00:24:1d:14:d4:46
2
ARPING 00:24:1d:14:d4:46
3
60 bytes from 192.168.23.4 (00:24:1d:14:d4:46): icmp_seq=0 time=243.187 usec
4
60 bytes from 192.168.23.4 (00:24:1d:14:d4:46): icmp_seq=1 time=159.025 usec
5
6
--- 00:24:1d:14:d4:46 statistics ---
7
2 packets transmitted, 2 packets received,   0% unanswered

Andreas

von Andreas F. (aferber)


Lesenswert?

Andreas Ferber schrieb:
> Und wenn du besonders nett sein
> willst, schickst du deine ARP-Anfragen nicht wie sonst üblich als
> Broadcast durchs Netz, sondern direkt als Unicast an die bekannte
> MAC-Adresse.

Ergänzung: machen kannst du so einen Unicast-ARP-Scan von einem 
Linux/BSD aus mit arp-scan (http://www.nta-monitor.com/tools/arp-scan/ 
):
1
# arp-scan -I eth0 -l -T 00:24:1d:14:d4:46
2
Interface: eth0, datalink type: EN10MB (Ethernet)
3
Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
4
192.168.23.4    00:24:1d:14:d4:46       (Unknown)
5
6
4 packets received by filter, 0 packets dropped by kernel
7
Ending arp-scan 1.6: 256 hosts scanned in 2.864 seconds (89.39 hosts/sec).  1 responded

Andreas

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Was hindert dich daran, dir einfach einen Router auf den Schreibtisch zu 
stellen und quasi dein eigenes Test-Subnetz aufzumachen? Dazu braucht 
man keine IT-Abteilung, schlimmstenfalls 1...2 Stunden Handbuch lesen, 
wenn man keine Ahnung hat. Als Techniker sollte dafür geügend Verstand 
existieren, auch wenn es nicht das Spezialgebiet ist.

Wenn schon DHCP (auch um zu testen, ob es funktioniert), dann kann man 
den Pool, aus dem IP-Adressen vergeben werden (bei einem einigermaßen 
niveauvollen Gerät) auf einen bestimmten Bereich (notfalls sogar 1) 
einengen ...

Frank

von HäH (Gast)


Lesenswert?

Sende einfach einen Broadcast-Ping ins Netz und dann hast du schon alle 
IPs:

> ping -b 192.168.1.255

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.