VLC Man in the middle - C - Programmation
Marsh Posté le 19-04-2008 à 20:46:19
c'est plutôt un proxy qu'un MITM quoi
Marsh Posté le 20-04-2008 à 08:05:12
oui en fait c'est un proxy qu'il me faut mais, j'ai essayé çà ne marche pas vraiment.
Parce que entre le serveur est le proxy la video est encapsulé dans HTTP.
Entre le proxy et le client la video n'est plus encapsulé, elle est transmise directement en TCP voila pourquoi ca ne marche pas.
Marsh Posté le 20-04-2008 à 10:42:56
Ca y est j'ai réussi, le problème venait en fait de la malformation des paquets lorsque je les retransmettai au client, en effet je faisais:
read(sockVLCserver,buf,sizeof(buf)-1)
write(sockVLCclient,buf,strlen(buf));
Il semble que strlen() ne convient pas pour une utilisation de ce type,j'ai donc transformé ça en ceci
recu=read(sockVLCserver,buf,sizeof(buf)-1)
write(sockVLCclient,buf,recu);
Voila mon problème est résolu je peux passer a létape suivante
Marsh Posté le 25-04-2008 à 02:47:54
shonrbel a écrit : Ca y est j'ai réussi, le problème venait en fait de la malformation des paquets lorsque je les retransmettai au client, en effet je faisais: |
Bien sûr, strlen() ne fonctionne que sur des chaines de caractères. Pour des données 'transparentes' (0-255), il faut s'en tenir à (adresse, longueur)...
Marsh Posté le 19-04-2008 à 19:36:20
Bonjour à tous
Pour les besoins d'un TER il faut que je fasse une sorte de man in the middle, je m'explique
Je dois faire une application qui serait capable de récupérer le flux d'un serveur VLC (encapsulé dans HTTP), pour le transmettre au client VLC.
En gros:
(Un client VLC) <-------------> (mon application) <--------------->(Serveur VLC qui stream le fichier video)
Pour le moment j'ai fait des socket TCP, donc le client VLC se connecte bien à mon application, mon application se connecte bien au serveur VLC, mais apres ça plus rien le streaming ne fonctionne pas.
J'ai fait un petit coup de Wireshark et je m'aperçoi que le protocole qu'utilise le serveur VLC pour streamer est tjs HTTP, donc mon application reçoit des donnés de type HTTP, mais je les retransmet en TCP, donc il est logique que mon client VLC me dit "Unrecognized format for 'http://localhost:5000".
Si des personnes ont déja fait le même projet ou si vous savez comment je dois faire pour encapsuler en HTTP ce serai sympa
Je travaille sous Ubuntu, mon langage est C.
Merci