Come faccio a controllare un dispositivo è incorporato Software di controllo in C # utilizzando HTTP?

StackOverflow https://stackoverflow.com/questions/3727956

Domanda

Ho un pezzo di hardware con un controllo utente incorporato si accede digitando l'indirizzo IP del dispositivo in un browser web. Il dispositivo è collegato direttamente al mio PC via x cavo Ethernet e IP statici. Ho bisogno di integrare il controllo del dispositivo nella mia applicazione C #.

Il mio pensiero era quello di utilizzare uno sniffer di pacchetti per monitorare il traffico tra il mio PC e il dispositivo, mentre allo stesso tempo a giocare con i comandi del dispositivo nel browser web. Poi scoprire che i pacchetti che il mio PC sta inviando corrispondono con la quale i controlli sto usando in quel momento. Allora posso creare una classe di HTTP o TCP pacchetti nel mio C # e inviarli al dispositivo utilizzando la classe Socket.

Tuttavia, non ho molta esperienza a con protocolli di rete, in modo che quando sto usando Wireshark per monitorare il traffico tra il mio PC e il dispositivo, non sono sicuro da dove cominciare anche quando scoprire quali pacchetti fanno quello. Qualcuno ha qualche idea? Sono aperto a qualsiasi cosa. Grazie !!

EDIT: La sua difficile spiegare esattamente ciò che il mio dispositivo è, ma la sua fondamentalmente un sensore elaborato e tipicamente utilizzato in applicazioni industriali, in modo che possa probabilmente essere utilizzando Modbus, che sono moderatamente familiarità con. Sapete come posso dire quale protocollo viene utilizzato esaminando i pacchetti? Ho notato (usando Wireshark) che i pacchetti inviati dal PC al dispositivo verificarsi in un modello di 1 HTTP pacchetto, allora 5 pacchetti TCP e ripetere la stessa sequenza finché il controllo è aperto nel browser. Ci sono delle risorse che potrebbero dare a me una migliore comprensione di ciò che sta succedendo?

È stato utile?

Soluzione

Se questo è controllato del browser, il mio primo pensiero sarebbe quello di esaminare le pagine web il dispositivo invia al vostro browser e vedere ciò che il browser è incaricato di fare quando si manipolare i controlli - questo sembra molto più facile che fare in giro con Wireshark.

C'è qualcosa che mi manca che rende questo (come ad esempio un sistema di controllo basato su Flash) impossibile? Se è solo fatto con messaggi o qualcosa di un po 'più sofisticati come l'Ajax HTML o Javascript, HTML e POST, dovrebbe essere relativamente facile da lavorare l'interfaccia.

Altri suggerimenti

A seconda del dispositivo che sarà o utilizzando una variante del protocollo Modbus ( http: // it .wikipedia.org / wiki / Modbus ) o qualcosa di oscuro e propriatory.

La cosa migliore da fare è quella di continuare a inviare lo stesso comando al dispositivo più e più volte fino a quando si può riconoscere somiglianze nei pacchetti.

Se è propriatory probabilmente sarà qualcosa di semplice come un paio di comando / dati o, eventualmente, un blob XML. Se sei veramente sfortunato sarà compresso o codificato, ma a meno che non si sta l'hacking di un gioco o di un bancomat questo è improbabile.

Chiedendo il produttore del dispositivo se si può dare le specifiche spesso funziona così.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top