Synology-Forum.nl
Hardware ondersteuning => Netwerk algemeen => Topic gestart door: Briolet op 23 september 2018, 15:26:35
-
Ik heb twee nassen maar heb ze al die jaren dat ik geprobeerd heb, ze nog nooit kunnen vinden via find.synology.com.
Vandaag heb ik eens door de html code van die pagina gestruind en zag dat connecties probeerde te maken met "DiskStation", "RackStation", "NVR", "DataStation", "BeyondCloud", "SynologyRouter", "FlashStation" etc. alles via poort 5000 of 8000.
Ik heb voor de aardigheid mijn nas weer de default naam "DiskStation" gegeven. En warempel, nu vind hij de nas wel. Maar weer vreemd is dat hij nu ook mijn andere nas vind, die ook niet meer de originele naam heeft.
Ik heb het twee maal herhaald. Weer de eigen naam en niets wordt gevonden. Terug de default naam en beide nassen worden getoond. Weer de eigen naam en hij vind weer niets. (Wel de browser tussendoor uit zetten, om te voorkomen dat hij iets via de cache vind)
Herkennen anderen dit? En waarom vind hij plots wel de tweede nas als ik alleen de eerste naar de default naam terug zet?
-
Heb het nooit gebruikt maar nu net wel even 8)
Hier ziet hij mijn beide NASsen en ze hebben beide een naam wat niet op de genoemde voorbeelden lijkt.
-
Ik gebruik altijd S.A. is het meest betrouwbare, wanneer er DSM geïnstalleerd moet worden dan wordt alsnog de Web Assistant opgestart.
-
Mij ging het niet zozeer om de beste manier, want dat is zelf de url op te vragen. Meer waarom Synology dit nu als eerste optie geeft in hun handleiding, als het onbetrouwbaar is.
In de pagina code vind ik:
Ext.each(["DiskStation", "RackStation", "NVR", "DataStation", "BeyondCloud", "SynologyRouter", "FlashStation"], function(d) {
this.queryAgentByHostname(d, b)
}, this)
En de aangeroepen functie "this.queryAgentByHostname" is:
queryAgentByHostname: function(d, c) {
var e = d ? d : "DiskStation";
var a = (e === "SynologyRouter") ? 8000 : 5000;
var b = "http://" + e + (Ext.isWindows ? "" : ".local") + ":" + a;
this.queryAgentByUrl(b, c)
},
Dus de poort wordt 8000 bij de router, anders 5000. En als het geen windows is, plakt hij er ".local" achter. (Nodig bij de mac en blijkbaar ook bij linux?)
Voor starters werkt dit perfect omdat de naam nog origineel is. Maar zodra je de nas gaat inrichten wordt de methode onbetrouwbaar.
De code gebruikt meerdere methoden om de nas te vinden. Ik vind het alleen vreemd dat het terug zetten van de naam op één nas ervoor zorgt dat de andere nas plots wel gevonden wordt. Lijkt me toch ergens een bug in de code.
-
Je zou kunnen kijken met Wireshark (of tcpdump).
-
Zou kunnen. :P
Ik ben al vaker door de code gelopen om te kijken hoe hij binnen een lan aan het zoeken gaat. Ik zie wel dat hij het ook via de quickconnect server probeert maar die snap ik ook niet helemaal omdat hij geen quickconnect ID heeft voor een nas. Maar misschien dat de QC server het WAN IP herkent waar de navraag vandaan komt en op grond daarvan IPv4 en IPv6 adressen binnen de lan teruggeeft.
Ik vind echter nergens een functie die gewoon alle IP adressen afloopt.
-
Ik heb even met fiddler de boel bekenen.
Eerst gaat hij bij de Synology Servers vragen of er van jouw wan ipadres een quickconnect bereikbaar is, zou vind hij ook Synology Nassen die een quickconnect id hebben.
Daarna probeert eerst de namen die jij al gevonden had.
Daarna stopt hij ermee.
Zie hieronder wat hij doet.
https://global.quickconnect.to/finder/get.php?callback=GetQuickConnectUrl&time=1537535143
http://diskstation:5000/webman/info.cgi?_dc=1537721835292&target=http://DiskStation:5000&host=http://find.synology.com/
http://rackstation:5000/webman/info.cgi?_dc=1537721835294&target=http://RackStation:5000&host=http://find.synology.com/
http://nvr:5000/webman/info.cgi?_dc=1537721835296&target=http://NVR:5000&host=http://find.synology.com/
http://datastation:5000/webman/info.cgi?_dc=1537721835297&target=http://DataStation:5000&host=http://find.synology.com/
http://beyondcloud:5000/webman/info.cgi?_dc=1537721835299&target=http://BeyondCloud:5000&host=http://find.synology.com/
http://synologyrouter:8000/webman/info.cgi?_dc=1537721835302&target=http://SynologyRouter:8000&host=http://find.synology.com/
http://flashstation:5000/webman/info.cgi?_dc=1537721835303&target=http://FlashStation:5000&host=http://find.synology.com/
Synology Assitant loopt juist je hele subnet af om een Nas signature te vinden dat doet find.synology.com dus niet.
Dus eigenlijk werkt alleen SA nog goed als je eenmaal DSM hebt geinstalleerd, de naam gewijzigd hebt en geen quickconnect id hebt.
-
Ik heb altijd aangenomen dat find.synology.com alleen bedoeld is voor de allereerste installatie van je NAS.
Dan is het toch ook logisch dat hij niet verder zoekt?
De pagina geeft zelk ook aan dat als zoeken niet werkt, je de assistant moet installeren en gebruiken.
Ik heb het verder nog nooit voor iets anders dan eerste installatie gebruikt.
-
Hier werkt het gewoon zoals bedoeld, mijn DS918+, DS218+ en DS110j ('Columbia', 'Endeavour' en 'Challenger' resp.) worden gewoon gevonden.
-
Mag ik even inbreken?
Naar aanleiding van dit topic direct even geprobeerd, ik had het destijds wel geïnstalleerd maar er eerlijk gezegd nooit naar gekeken. Het werkte direct, het werd herkend en ik kon inloggen.
Nu loop ik tegen het volgende aan:
Onder het tabblad Toepassingen staat bij mij - Drive, Moments en DS Audio -; de eerste twee waren nog niet geïnstalleerd en aldus gedaan.
Bij beide geïnstalleerden krijg ik de melding dat er een compatibiliteitsprobleem is:
Drive is compatibel met DSM 6.1.3 of hoger enz.; dit geldt ook voor Moments.
Ik werk met de laatste versie: 6.2.23739 en daarom verbaast het mij dat ik deze melding krijg.
Is dit bekend bij iemand?
Bij voorbaat bedankt,
M.vr.gr.
-
Onder het tabblad Toepassingen staat bij mij ............
Krijg je dit te zien met "find.synology.com" :?:
-
Sorry, ik heb DS finder op mijn iPad en daar onderaan het scherm zijn de tabbladen: Algemeen - Toepassingen - Meer te zien.
Als ik trouwens: find.synology.com in Safari in toets dan wordt gewoon de verbinding met mijn nas gestart, net zoals ik het ip-adres in geef.
-
Ik heb altijd aangenomen dat find.synology.com alleen bedoeld is voor de allereerste installatie van je NAS.
Als dat zo was, zou het niet als eerste verbindingsmethode in de Help staan. Als je de Help leest heb je DSM nml al geïnstalleerd. ;)
Bovendien is bij de eerste installatie nog geen QuickConnect ingesteld en dat blijkt ook gebruikt te worden bij het zoeken.
In elk geval verklaart dit de soms gelezen opmerking, dat het altijd werkte, maar plots niet meer. Ik vond die meldingen ook op dit forum. Ik had altijd het idee dat het bij mij niet werkte omdat ik dubbel nat gebruik. Als hij alleen op het lan zoekt, mag het niet uitmaken, dus moet het zoeken anders werken en daar zocht ik naar.
-
Sorry, ik heb DS finder op mijn iPad en daar onderaan het scherm zijn de tabbladen: Algemeen - Toepassingen - Meer te zien
Maak eventueel even een nieuw Topic dan.
-
Blijkbaar leest niemand wat er geschreven wordt.
Find.synology.me kan maar op twee manieren je Nas vinden.
Als het een nieuwe Nas zonder DSM is dan vind hij hem via poort 5000 met een van de fabrieksnamen zijnde:
- diskstation
- rackstation
- nvr
- datastation
- beyondcloud
- synologyrouter
- flashstation
Als het een Nas is met DSM geinstalleerd en hij heeft een andere naam gekregen, dan kan hij hem vinden als er een quickconnect Id is aangemaakt.
Dan gaat hij namelijk aan de Synology servers dat Id opvragen dat bij het huidige WAN ipadres hoort.
Heb je geen quickconnect Id aangemaakt en de naam verandert dan kan hij ze niet vinden.
Als je meerdere quickconnect Id's hebt in je Lan denkt ik dat hij ook een probleem heeft, maar het kan ook zijn dat hij dan meerdere connecties van de servers krijgt en ze allemaal probeert.
-
Persoonlijk vind ik het een leuke uitdaging dit script te doorgronden. Het script waar het zoeken gebeurd is ruim 2000 regels, dus dat is nog net te doen.
De code begint echter met een inline script in de html pagina zelf. Daar wordt de quickConnect server aangeroepen en krijgt hij een array met apparaten terug. Dus via QC zijn meerdere apparaten mogelijk.
Het aflopen van die lijst met standaard namen werkt ook niet als er meerdere apparaten nog hun defaultnaam 'DiskStation' hebben. Er moet nog een derde methode zijn waarop hij zoekt, maar de code is plaatselijk behoorlijk cryptisch en over meerdere scripts verdeelt.
Mijn twee nassen heten "GedeeldeData" en "BackupNas". Mij intrigeert vooral dat hij met deze namen niets vind, maar dat hij beide vind als ik alleen de eerste de naam "DiskStation" geeft. Waarom vind hij dan wel die tweede.
Net alsof hij pas verder gaat zoeken als hij de eerste heeft gevonden. Als je twee nassen met de naam "DiskStation" hebt, zal hij ook via een andere methode moeten zoeken. Maar waarom dat pas doen als de eerste gevonden is.
In elk geval een leukere puzzel dan een kruiswoordraadsel. ::)
-
Als hij een Nas vind waar DSM op staat dan wordt daar "/usr/syno/synoman/webman/info.cgi" opgestart en vermoedelijk gaat die op zoek naar andere Nassen in je Lan.
-
Leuk, maar niet heus. Dat info.cgi is geen tekst bestand en dus niet zo te lezen.
Ik heb het andersom geprobeerd. De pagina geladen en dan met de ontwikkelaarstool op "DiskStation" gezocht. In de html code vond ik het 2x in één regel. Hier heb ik de naam in "GedeeldeData" veranderd en de knop "Zoek Opnieuw" gebruikt. Dan worden mijn beide nassen weer gevonden.
[attach=1]
In het verleden lukte het me alleen in Chrome om de code live te veranderen, maar nu merkte ik dat je met Safari via een contextueel menu ook een optie krijgt om een regel te wijzigen.
Ik vind ergens ook een if-than-else. Hieruit krijg ik de indruk dat als er één nas via QC geregistreerd is, hij het nooit via de nasnaam probeert. Andere nassen zonder een QC account vind hij volgens mij dan niet.
Volgens mij mag Synology beter uitleggen in hun help onder welke condities je deze zoekmethode kunt gebruiken.
-
In de browser code vind ik nu ook de resultaten terug van de callback die hij uitgevoerd heeft op: http://gedeeldedata.local:5000/webman/search_result.cgi?_dc=1537789911195&callback=poll_callback&idx=0
In het search resultaat met de callback staan idd mijn beide nassen. De 415+ zelfs 2x. 1x op zijn reguliere adres en 1x via zijn Wifi Dongle.
poll_callback[0].fn.call(poll_callback[0].scope, [{
'configured': '1',
'dns': '10.0.1.30',
'disk_model': '',
'build': '23739',
'unique': 'synology_avoton_415+',
'method': 'dhcp',
'mask': '255.255.255.0',
'model': 'DS415+',
'smallfixnumber': '2',
'host': 'GedeeldeData',
'ip': '10.0.1.30',
'pingok': 'false',
'sn': 'xxxx',
'admin_http': '5000',
'disk_version': '',
'supportwebinst': 'true',
'gateway': '10.0.1.1',
'version': '6.2',
'admin_https': '5001',
'junior': 'false',
'mac': '00:11:32:3a:0e:cd'
}, {
'configured': '1',
'dns': '10.0.1.30',
'disk_model': '',
'build': '23739',
'unique': 'synology_avoton_415+',
'method': 'static',
'mask': '255.255.255.0',
'model': 'DS415+',
'smallfixnumber': '2',
'host': 'GedeeldeData',
'ip': '10.0.4.1',
'pingok': 'false',
'sn': 'xxxx',
'admin_http': '5000',
'disk_version': '',
'supportwebinst': 'true',
'gateway': '10.0.1.1',
'version': '6.2',
'admin_https': '5001',
'junior': 'false',
'mac': '80:1f:02:dd:31:b3'
}, {
'configured': '1',
'dns': '10.0.1.30',
'disk_model': '',
'build': '23739',
'unique': 'synology_88f6281_212j',
'method': 'dhcp',
'mask': '255.255.255.0',
'model': 'DS212j',
'pingok': 'false',
'host': 'BackupNas',
'ip': '10.0.1.45',
'sn': 'xxxx',
'smallfixnumber': '2',
'admin_http': '5000',
'disk_version': '',
'supportwebinst': 'false',
'gateway': '10.0.1.1',
'version': '6.2',
'admin_https': '5001',
'junior': 'false',
'mac': '00:11:32:0e:82:7a'
}]);
Het is dus niet de info.cgi die dit terug geeft maar de search_result.cgi. Blijkbaar weet de ene nas welke andere er ook aanwezig zijn in de lan. En het script zoekt ze niet zelf op, zoals Ben ook aangeeft. Zodra hij de eerste nas kan vinden, heeft hij ze allemaal. Ook al gebruikt de rest een aangepaste admin poort.
-
Dat rijst bij mij plots de vraag op of niet iedereen met toegang tot de inlogpagina, via deze callback de info van alle nassen op het netwerk kan opvragen? (Mits hij de actuele tijdcode bij dc= in de url zet)
Edit:
Zal toch beveiligd zijn want als ik "DiskStation.local" door mijn eigen domeinnaam vervang, vind hij niets.
-
Niet dat je daar veel verder mee komt maar die info.cgi is een logical link naar binary en wel /usr/syno/bin/synosearchagent
-
Sterker: zowel "info.cgi" als "search.cgi" en "search_result.cgi" zijn een logical link naar dezelfde binary. :)
Maar die binary is compiled Perl, C of nog iets anders en dus niet leesbaar.
In elk geval is het mij nu duidelijk. Op zijn minst 1 nas moet zijn originele naam nog hebben of een CQ verbinding hebben. Via die nas wordt vervolgens de rest gevonden.