The answer appears to be "there is no reliable way to do it". Not all devices listen/respond to the dig commands listed in the other answer, and everything else to find mDNS names on the network (like avahi-browse
and the badly behaved mdns-scan
) requires multicasting/broadcasting and can't be used to probe an individual machine.
Wie erhalten Sie den "Bonjour-Dienstnamen" von einem einzigen Gerät?
Ich habe zwei Gerätetypen, die ich über Ethernet mit einem Host bearbeiten möchte. Ich möchte wissen, welcher dieser beiden Gerätetypen angeschlossen ist.
Beide Geräte verwenden Avahi / Bonjour und haben einen sogenannten "Bonjour-Dienstnamen", der nützliche Informationen enthält, die ich zur Unterscheidung der beiden Gerätetypen verwenden kann. Aufgrund der Netzwerkanforderungen kann ich jedoch kein mDNS-Durchsuchen verwenden, da dies der Fall ist am sekundären Netzwerkport des Hosts (der nicht zulässig ist). Dieses „Bonjour Service Name“ wird von den Geräten als erster Teil aller Dienste, die sie übertragen (zB konsequent genutzt UsefulDeviceName._http._tcp.local
, UsefulDeviceName._ftp._tcp.local
, UsefulDeviceName._telnet._tcp.local
usw.).
Jedes Gerät der beiden Typen hat auch einen eigenen eindeutigen DNS-Namen, der jedoch [GenericPrefix][MacAddress].local
nicht ausreicht, um sie zu unterscheiden (sie stammen vom selben Hersteller, weshalb beide Gerätetypen die gleichen MAC-Blöcke verwenden).
Jedes Tool, das ich bisher ausprobiert habe, sendet eine mDNS-Übertragung über das Netzwerk und zeigt den Bonjour-Dienstnamen an, erfüllt jedoch nicht die Netzwerkanforderungen "nicht alle Ports verwenden". Ausführen einer DNS - Abfrage wie diese den normalen DNS - Namen zurückgibt, nicht den Bonjour - Service - Name.
Wir werden die IP des Geräts kennen. Gibt es einen einfachen Linux-Befehl, der das Gerät fragt "Wie lautet Ihr Bonjour-Dienstname?" / "Welche Bonjour-Dienstnamen haben Sie?" kann man sich darauf verlassen, dass die Pakete nur über die Schnittstelle gesendet werden, mit der die Geräte verbunden werden, und nicht das weitere Netzwerk?
2 Antworten auf die Frage
dig
sollte funktionieren, wenn Sie dieselbe Abfrage senden wie verschiedene "mDNS-Browser" -Tools:
dig _services._dns-sd._udp.local ptr @ ip-address -p 5353
(Optional hinzufügen +short
.)
Beachten Sie, dass es keinen „ist der Bonjour Service - Name“ - jedes Gerät ist frei mehrere Dienste unter verschiedenen Namen zu registrieren.
Verwandte Probleme
-
1
DNS-Einstellungen pro Windows-Benutzer wechseln?
-
1
Warum erhalte ich einen langsamen Netzwerkdurchsatz, wenn ich einen fehlerhaften DNS-Server habe?
-
4
DNS fällt zufällig aus
-
1
Woher bekomme ich die vollständigen DNS-Zonendateien für alle TLDs?
-
5
Drahtloser Router, der Bonjour zwischen drahtgebundenen und drahtlos verbundenen Maschinen unterstüt...
-
3
Was ist zu tun, wenn ich keinen DNS-Ping durchführen kann?
-
3
Italienisches DNS: So vermeiden Sie einen Neustart von Firefox
-
18
Kann das Internet ohne DNS funktionieren?
-
5
Gibt es eine Möglichkeit, die vollständige Zonendatei für eine Domäne abzurufen, ohne ihren Host zu...
-
8
Soll ich alle verfügbaren TLDs für meinen gewählten Domainnamen erhalten?