Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327

    Ricerca di un host attraverso MAC ADDRESS

    Salve,
    sto lavorando ad un piccolo software in java che deve poter interagire in rete con un host in particolare.
    L'host in questione ottiene l'ip in dhcp e non ho modo di sapere che ip gli venga assegnato, di conseguenza non so come poter fare connettere automaticamente il software all'host.
    Vorrei che l'applicazione individuasse nella rete l'host che gli interessa e ci si connettesse. Ho pensato ad una ricerca del mac address nella rete... esiste qualcosa del genere??... voi che mi consigliate??

  2. #2
    Il MAC Address lo dovresti richiedere direttamente al server DHCP visto che è l'unico che tiene un tabella degli ip assegnati, ma anche volendo non puoi perchè non esistono server che ti permettono questo.
    L'unica cosa che puoi fare è un messaggio broadast UDP su una porta. In questo modo invii un pacchetto a tutti gli hosts su una rete, e l'host che sta su quella porta intercetta il pacchetto e ti fai rispedire una risposta indietro. Se la ricevi, ti tieni l'ip del sender ed hai trovato il tuo host.

    UDP Socket
    lolide
    Java Programmer

    Informati

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    effettivamente questa potrebbe essere la soluzione che cercavo, però non so quanto possa essere fattibile, perchè il client che invia la richiesta è in java ma il server che risponde non lo è... quindi non so se è cmq possibile utilizzare la DatagramSocket.

    Allora per chiarire le idee ti spiego meglio a cosa sto lavorando...

    ho una scheda arduino (la conosci??), questa scheda ha un microcontroller programmabile in c che mi permette di interfacciarmi con l'elettronica della scheda stessa.
    Arduino ha anche una shield ethernet che viene configurata sempre programmando il microcontroller.

    sul framework di arduino c'è un metodo per inviare e ricevere pacchetti su udp, http://arduino.cc/en/Tutorial/UDPSendReceiveString secondo te riesco a far comunicare le due cose??

  4. #4
    Ciao, una soluzione un pò più semplice e più ad alto livello potrebbe essere l'utilizzo di un Dns Dinamico . Dai uno sguardo e vedi un po se fa al caso tuo. Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    ho provato la soluzione che mi ha suggerito lolide ed ha funzionato alla grande... ho messo in piedi il server su arduino che resta in attesa sulla porta 5000, invio la richiesta dal software java all'ip di broadcast e ottengo risposta... non è male come soluzione... c'è un metodo in java che mi calcola l'ip di broadcast della rete a cui sono colegato??

    @unomichisiada
    sto dando un occhiata anche alla tua soluzione


    grazie mille intanto per i vostri aiuti

  6. #6
    Il metodo di unomichisiada funziona ugualmente, scegli tu il modo. Certo dovresti tenere su un server dns su un pc con un ip che conosci gia' da aggiornare ogni volta che connetterai il tuo server, a cui farai connettere il client.

    Comunque una volta che il client ha scoperto il server udp e si è connesso, usa getInetAddress() sull'oggetto DatagramSocket per recuperare ip e porta del server.
    lolide
    Java Programmer

    Informati

  7. #7
    Originariamente inviato da lolide
    Il metodo di unomichisiada funziona ugualmente, scegli tu il modo. Certo dovresti tenere su un server dns su un pc con un ip che conosci gia' da aggiornare ogni volta che connetterai il tuo server, a cui farai connettere il client
    In realtà la mia idea era di suggerire l'utilizzo di uno dei tanti servizi già esistenti che offrono Dns Dinamici gratuiti, come questo e far gestire direttamente al router che ospita il DHCP l'aggiornamento.
    Chiaramente questa soluzione ha due prerequisiti che non è detto siano verificati:

    -hackerdm ha accesso alla configurazione del router che ospita il DHCP e che quindi assegna gli indirizzi anche alla macchina su cui sta il server
    -tale router supporta i DNS dinamici ed è quindi in grado di fare da client verso il suddetto servizio gratuito quando (ad esempio dopo un riavvio se non ha un IP fisso) il suo ip viene rinnovato

    Se queste condizioni sono soddisfatte, un semplice port forwarding configurato sul router consentirà l'accesso al server in questione sempre con il medesimo indirizzo e senza tema di riavvii.
    C'è anche da dire che queste due condizioni sono spesso soddisfatte.

    Piuttosto mi sorge il dubbio che tutto ciò non sia nemmeno necessario, infatti se l'interazione tra client e server si svolge all'interno della stessa rete locale senza "uscire su internet" e se si ha accesso alla configurazione del router, si può semplicemente fare in modo che il dhcp su di esso assegni sempre lo stesso ip al mac della macchina su cui sta il server. Si tratta solo di congetture , se ci dai una visione più dettagliata in merito alla configurazione di rete se ne può discutere meglio.

    Concludo complimentandomi con lolide per la sua soluzione, che a quanto pare funziona ( ) e non necessita di chissà quali prerequisiti.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    si l'indirizzo me lo passa il DatagramPacket... invece esiste in java un metodo che mi dice qual'è l'ip di broadcast della rete... sennò faccio un metodo io che me lo calcola

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    @unomichisiada

    effettivamente la connessione tra client e server avviene soltanto in rete locale... eventualmente se dovesse sorgere l'esigenza di portare tutto su internet, come dicevi tu potrei fare in modo che il router assegni sempre lo stesso ip all'host attraverso MAC

  10. #10
    Originariamente inviato da hackerdm
    @unomichisiada

    effettivamente la connessione tra client e server avviene soltanto in rete locale... eventualmente se dovesse sorgere l'esigenza di portare tutto su internet, come dicevi tu potrei fare in modo che il router assegni sempre lo stesso ip all'host attraverso MAC
    In realtà se hai già la possibilità di accedere alla configurazione del DHCP lo potresti fare a prescindere dal fatto che si esca su internet o meno. Se sei già in grado di fare in modo che il server abbia sempre lo stesso ip all'interno della rete locale hai risolto tutti i tuoi problemi senza messaggi in broadcast di sorta...o mi sbaglio?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.