Comment puis-je commander un appareil est embarqué Logiciel de contrôle en C # en utilisant HTTP?

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

Question

J'ai un morceau de matériel avec un contrôle utilisateur intégré accessible en tapant l'adresse IP de l'appareil dans un navigateur Web. L'appareil est connecté directement à mon PC via x-over câble Ethernet et IP statique de. Je dois intégrer le contrôle de l'appareil dans mon application C #.

Ma pensée était d'utiliser un renifleur de paquets pour surveiller le trafic entre mon PC et l'appareil tout en même temps jouer avec les commandes de l'appareil dans mon navigateur web. Ensuite, trouver quels paquets que mon PC envoie correspondent à des contrôles qui j'utilise à ce moment-là. Ensuite, je peux créer une classe de paquets HTTP ou TCP dans mon application C # et les envoyer à l'appareil en utilisant la classe Socket.

Cependant, je n'ai pas beaucoup expereince avec les protocoles de réseau, quand je me sers Wireshark pour surveiller le trafic entre mon PC et l'appareil, je ne suis pas sûr où commencer même quand trouver quels paquets faire quoi. Quelqu'un a-t-il une idée? Je suis ouvert à tout. Merci !!

EDIT: Il est difficile d'expliquer exactement ce que mon appareil est, mais son essentiellement un capteur complexe et généralement utilisé dans les applications industrielles, il pourrait probablement en utilisant Modbus, que je connais modérément. Savez-vous comment je peux dire quel protocole est utilisé en examinant les paquets? J'ai remarqué (en utilisant Wireshark) que les paquets envoyés à partir de mon PC vers l'appareil se produire dans un modèle de 1 paquet HTTP, puis 5 paquets TCP et répéter la même séquence aussi longtemps que le contrôle est ouvert dans mon navigateur. Y a-t-il des ressources qui pourraient me donner une meilleure compréhension de ce qui se passe?

Était-ce utile?

La solution

Si cela est contrôlé navigateur, ma première pensée serait d'examiner les pages Web du périphérique à votre navigateur et voir ce que le navigateur est chargé de le faire lorsque vous manipulez les commandes - cela semble beaucoup plus facile que de déconner avec Wireshark.

Y at-il quelque chose que je manque qui rend cela impossible (comme un système de contrôle basé sur Flash)? Si c'est juste fait avec HTML ou Javascript et HTML messages POST ou quelque chose d'un peu plus sophistiqué comme Ajax, il devrait être relativement facile de travailler sur l'interface.

Autres conseils

Selon l'appareil, il sera soit en utilisant une variante du protocole modbus ( http: // fr .wikipedia.org / wiki / Modbus ) ou quelque chose d'obscur et propriatory.

La meilleure chose à faire est de continuer à envoyer la même commande au dispositif encore et encore jusqu'à ce que vous pouvez reconnaître les similitudes dans les paquets.

Si elle est propriatory il sera probablement quelque chose de simple comme une commande / paire de données ou peut-être un blob XML. Si vous êtes vraiment malchanceux, il sera compressé ou codé, mais à moins que vous le piratage d'un jeu ou d'un distributeur automatique de billets il est peu probable.

Demander le fabricant de l'appareil s'ils peuvent vous donner les spécifications fonctionne souvent aussi bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top