PureBasic

Forums PureBasic
Nous sommes le Jeu 22/Aoû/2019 0:26

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 31 messages ]  Aller à la page 1, 2, 3  Suivante
Auteur Message
 Sujet du message: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 14:05 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
Bonjour,

j'ai une appli qui envoi une trame sur mon broadcast (192.168.0.255), compilé sur windows pas de souci la trame est envoyée correctement...
le même code sous linux ne fait rien du tout :/ (ubuntu, debian, busybox)
si je met une IP de type 192.168.0.13 à la place du broadcast sur mon code linux, le PC à cet adresse intercepte correctement le packet. Donc ce n'est pas bug de la fonction SendNetworkData sous linux.
y a t'il une gestion différente d’envoi de trame sur le broadcast sous linux ?

ps : j'ai essayé 255.255.255.255 / 192.255.255.255 / 192.168.255.255 également ...

------------------------------------------------------------------------------------
EDIT :

j'ai effectivement ma valeur de retour SendNetworkData = -1 si je met le broadcast alors qu'une ip en direct est bien prise en compte sur LINUX alors que le meme code code windows me renvoie bien la bonne valeur ...
ce qui est embêtant car je lance une commande sur le broadcast afin que les appareils concerné me communique leur IPs :s


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 16:59 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
Bonjour,

Tu compile sous linux ?
SendNetworkData = -1 < c'est que rien n'a pu être envoyer la connexion n'est peut être pas ouverte ?
Fait un ping -b (broadcast)

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 17:29 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
oui je compile sous dedian 7 KDE 64Bit et même sur ubuntu 12.10 32Bit
même erreur sous les linux, sauf que le même code sous windows (qui est dans le même réseau) fonctionne impec !

ping -b 192.168.0.255 me renvoi :
64 bytes from 192.168.0.253:icmp_req1 ....
64 bytes from 192.168.0.253:icmp_req2 ....
64 bytes from 192.168.0.253:icmp_req3 ....
64 bytes from 192.168.0.253:icmp_req4 ....
64 bytes from 192.168.0.253:icmp_req5 ....

le ping sous windows (même reseau) ne me donne pas de réponse.
>ping 192.168.0.255
Envoi d'une requête 'Ping' 192.168.0.255 avec 32 octets de données :
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Délai d'attente de la demande dépassé.
Statistiques Ping pour 192.168.0.255:
Paquets : envoyés = 3, reçus = 0, perdus = 3 (perte 100%),

Voila un bout de code qui permet de constater le problème sous Linux et qui fonctionne sous Windows :
;-------------------------------------------------------------------------------
OpenConsole()
If InitNetwork() = 0
PrintN("Error => Can't initialize the network !")
Goto killsoft
EndIf
*Header = AllocateMemory(70)
connection.i = OpenNetworkConnection("192.168.0.255", 49999,#PB_Network_UDP)
If connection <> 0
PrintN("OpenNetworkConnection OK !")
ret.i = SendNetworkData(connection, *Header,70)
While ret = -1
ret = SendNetworkData(connection, *Header,70)
PrintN("SendNetworkData return -1 ... retry !")
Delay(1000)
Wend
If ret = 70
PrintN("Header Sent Correct !")
Else
PrintN("Header error (Not 70) ! => "+ret)
EndIf
CloseNetworkConnection(connection)
Else
PrintN(" --- ERROR --- OpenNetworkConnection Faild!")
EndIf
killsoft :
Input()
;-------------------------------------------------------------------------------
Edit :

si je met OpenNetworkConnection("192.168.1.255", 49999,#PB_Network_UDP) j'ai bien un retour correct sous linux !
mais pas pour 192.168.0.255 :(


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 17:47 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
Humm tu virtualise ?

Sous windows il renvoi toujours :
OpenNetworkConnection OK !
Hearder Sent Corrrect !

meme avec
Code:
connection.i = OpenNetworkConnection("1.1.1.1", 49999,#PB_Network_UDP)

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 17:51 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
oui mon ubuntu et mon debian son virtualisé ! mais je lance le soft sur ces 2 VMs et sur une machine reel debian qui me fait la même chose ...

effectivement tout les IP fonctionne, sauf si je met l'ip de mon broadcast => 192.168.0.255 (mais qui fonctionne sous windows ^^)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 18:00 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
personne n'a le même phénomène en mettant son broadcast ?

alors si je lance une appli dev en C qui lance une requête UDP sur le port 4999 (oui pas 49999 comme dans mon code) sur le 192.168.0.255 il n'y a aucun souci je la voie passer sur mon snif réseau ... Donc mon système est capable d'envoyer des requêtes (on peut exclure firewall, droits divers ...).
moi je fait :
OpenNetworkConnection("192.168.0.255", 4999,#PB_Network_UDP)
SendNetworkData(connection, *Header,70)

ça me retourne -1 ....

donc il y a bien un souci avec purebasic et le broadcast non ? je suis perplexe la, y a personne pour tester sur n'importe quel distrib ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 19:45 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
test avec OpenNetworkConnection("1.0.0.0", 4999,#PB_Network_UDP) je la vois aussi sous wireshark pourtant elle a pas atteint sont but, je repete ton prog à un problème.

Fait le test sur les VM et la debian si 192.168.0.255 répond sur le port UDP

Code:
nmap -p 4999 -sU 192.168.0.255

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:04 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
voila ce que j'ai sur mon debian phisique est sur mes 2 VMs (le temps de réponse change naturellement)
Diskstation> nmap -p 4999 -sU 192.168.0.255

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2013-05-29 21:01 CEST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.30 seconds

Par contre !!!
sur mes VMs, j'ai un retour sur l'ip 192.168.0.11 (tablette en wifi), que je n'ai pas sur ma debian phisique :/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:12 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
J'ai tester le code sur mon serveur interne 192.168.1.3 j'ai juste un serveur web actif puis sur un IP ou ya rien

En TCP retour OK
Code:
connection.i = OpenNetworkConnection("192.168.1.3", 80,#PB_Network_TCP)
Debug connection.i


En TCP sur une IP bidon retour KO
Code:
connection.i = OpenNetworkConnection("192.168.1.133", 80,#PB_Network_TCP)
Debug connection.i


En UDP retour OK
Code:
connection.i = OpenNetworkConnection("192.168.1.3", 80,#PB_Network_UDP)
Debug connection.i


En UDP sur ip bidon retour OK
Code:
connection.i = OpenNetworkConnection("192.168.1.133", 80,#PB_Network_UDP)
Debug connection.i


Code:
ping 192.168.1.133
PING 192.168.1.133 (192.168.1.133): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3


Va comprendre charles .....


J'ai pas nmap sur OSX je l'install et je te fait un retour

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:20 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
Voici un autre test (sur le bon port ^^) mais sur l'ip de la machine qui est cencé me repondre (ne fonctionne toujours pas si je met 192.168.0.255)
Diskstation> nmap -p 49999 -sU 192.168.0.253

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2013-05-29 21:16 CEST
Nmap scan report for Diskstation (192.168.0.253)
Host is up.
PORT STATE SERVICE
49999/udp open|filtered unknown
MAC Adress: xxxxxxxxxxxxxxxxxxxxxxxxxx

Nmap done: 1 IP address (1 host up) scanned in 2.11 seconds


Dernière édition par lolvince le Mer 29/Mai/2013 20:23, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:23 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
Code:
sudo nmap  -p 80 -sU 192.168.1.3

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-29 21:18 CEST
Nmap scan report for 192.168.1.3
Host is up (0.000090s latency).
PORT   STATE  SERVICE
80/udp closed http


Code:
sudo nmap  -p 80 -sU 192.168.1.133

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-29 21:18 CEST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.50 seconds


L'ip de la chine ???? >> ho mince je lis n'importe quoi chine au lieu de machine

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Dernière édition par doudouvs le Mer 29/Mai/2013 20:30, édité 2 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:27 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
ping 192.168.0.255 sans pong = machine out ou inaccessible

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:34 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
J'ai fait de la DOC j'ai trouver ça "UDP est un protocole asynchrone et ne peut pas être testé pour sa connectivité." donc a part nmap qui te donne des informations sur la connection....

A part faire un serveur UDP qui te donne un retour je ne vois pas d'autre solution

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Mer 29/Mai/2013 20:47 
Hors ligne

Inscription: Jeu 07/Mar/2013 19:02
Messages: 188
Localisation: France Alsace / Espagne Girona
Bon je me suis dit je test d'autre commande comme je suis fana de linux et surtout de voir l'homme l'invisible ou plutôt la machine invisible

Code:
nc -vzu 33.33.33.33 806
Connection to 33.33.33.33 806 port [udp/http] succeeded!


Ben merde il répond -- ohhhh ya personne sur la 33 docteur c'est grave !!! dis 33 Mais Brigitte je suis pas malade.

_________________
Code toujours multi-OS
OSX 10.6.8 - Xcode Version 3.2.2 - GCC 4.2.1 / PureBasic 5.30 (MacOS X - x64) Full version / Parallels Windows XP PureBasic 5.30 (Windows - x86) Full version / Debian PureBasic 5.30


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: packet UDP sur broadcast
MessagePosté: Jeu 30/Mai/2013 7:44 
Hors ligne

Inscription: Lun 11/Déc/2006 16:11
Messages: 40
doudouvs a écrit:
L'ip de la chine ???? >> ho mince je lis n'importe quoi chine au lieu de machine
=> non non tu as bien lu, j'ai corrigé juste derrière ^^

bon je vais tester sur un autre linux sur un autre réseau (192.168.1.x) de pinguer son broadcast (192.168.1.255) voir ce que cela donne....


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 31 messages ]  Aller à la page 1, 2, 3  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye