Perl n'aime pas la FreeBox...

Fermé
2Spartiate - 1 juin 2004 à 18:41
 2Spartiate - 25 juin 2004 à 03:46
Bonjour,

J'utilise activeperl (build 808) sous Win XP Home.
J'utilisais une connection modem simple, de dépannage, en attendant de passer à la Freebox.
Mes sockets fonctionnaient tres bien alors.
Mais depuis que j'utilise la Freebox ( qui fonctionne en USB, comme une carte réseau, je le rappel), plus moyen de se connecter au net depuis perl.

"Socket could not..." hum...Je suppose qu'il continue d'essayer de se connecter par la ligne téléphonique...


Sauriez vous comment remèdier à ce problème (ca serait gentil ;) ?

2Spartiate.


P.S:

Sinon, je me demandais autre chose ( au cas où mon premier probleme disparaissait...):
est-il possible de creer une socket depuis un CGI ??
(je sais, mais bon on ne sait jammais...)

15 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
1 juin 2004 à 23:37
"est-il possible de creer une socket depuis un CGI ??
(je sais, mais bon on ne sait jammais...)" => .)))

salut Si le langage que tu utilises te permet d'ouvrir des sockets, t'as repondu a ta question.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
Salut à toi,

Comme tu le dis l'ignorance seule existe.
Mon langage (le Perl) crée effectivement des sockets.
Mais il faut SAVOIR qu'une fois installé le compilateur sur ton ordi,
ce langage est PORTABLE, à savoir qu'il peut se substituer:

au C, au Javascript, ou encore au PHP, sous forme de script CGI.
... reste à définir les problèmes de compatibilité des fonctions Perl selon l'environnement ou il évolue ( création de sockets depuis un CGI, par exemple...)

Donc il me semble que tu n'as pas répondu à ma question...

Mais on dévie du problème principale, qui m'importe le plus; configurer Perl pour un changement de type de connection

[modem => FreeBox (carte réseau) en USB]


à suivre...


2Spartiate.
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
2 juin 2004 à 15:48
perl coe tout autre langage n'en a rien a faire de savoir quel réseau tu utilises (internet, intranet, etc...). T'as une API qui te permet d'ouvrir /fermer des sockets et de travailler avec. Eux tous ils utilisent la connexion définie ds le systéme, donc je le répéte ta question n'a pas de sens. Le type de connexion est transparent au programmeur, lui il ne donne que le port et le type du protocole et les informations necessaires.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
Utilisateur anonyme
2 juin 2004 à 13:49
Salut,
je ne connais pas du tout perl, mais à mon avis le probleme ne vient pas de la.
Tu devrais (si tu ne l'as pas deja fait) vérifier si ta connexion modem n'est pas par hasard "par défaut" dans les connexions réseau; si elle l'est , mets la connexion FreeBox par défaut.
Aussi, supprime cette connexion modem qui est inutile apparemment.
A+

Fat_Cartman,
Parce que je le vaux bien...
0
Hum...

Les fonctions de Perl peut varier selon l'utilisation qu'on en fait.
Je rappel que le CGI permet de gèrer une interface en HTML avec des variables type PHP ou ASP.
Si je pose la question des sockets depuis un script CGI écrit en Perl c'est que je n'y suis pas parvenu.
Mais j'admet la possibilité d'y parvenir, étant donner la largeur de l'éventail d'actifs de Perl ( bien qu'une connexion en "Keep-alive" me paraisse un peu tordue depuis une page CGI... ) .

En ce qui concerne mon problème de compatibilité de services réseaux ( par la FreeBox ) ;
J'ai continué mon enquête de mon côté, et il s'avère que ( sous Win XP, en tout cas ) certaines applications qui demande un acces internet n'y parviennent pas du fait :

- d'un Firewall (biensur)
- d'un Proxy
- d'une connexion partagée sur un réseau

...ces dernières ont besoins de composants logiciels enfichables pour y remédier à savoir : => voir le site du producteur du logiciel ( ActivePerl, d' ActiveState, pour moi )

C'est donc en ce sens que je vais chercher, maintenant.



2Spartiate,
=>> l'expression "Je ne sais rien " fait ma force... B-p
( c'est même la seule chose que je sache... ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 juin 2004 à 19:29
Salut,
Juste une connexion, pourquoi ne mets tu pas la freebox en ethernet ? Cela sera pus propre.
Concernant ton probleme de socket, je pense pas vraiment que cela soit du à la freebox mais plus à la config de ta connexion.
Du reste tu l'avais deviné.
Bref, souvent le probleme se situe entre le clavier et le dossier de la chaise. ;)

Kalamit,
Et je lui fais "pouet pouet"...
0
Salut kalamit,

La FreeBox EST une carte réseau. Qu'entends tu par "la mettre en Ethernet" ?



2Spartiate ( => retourne dormir après etre passé près du frigo ;)
0
Utilisateur anonyme
3 juin 2004 à 15:34
Non, la freebox n'est pas une carte réseau. C'est une interface réseau. C'est une petite nuance, mais ca fait toute la difference. :)
Et j'entendais par la ne pas la mettre en usb mais en ethernet.

Kalamit,
Et je lui fais "pouet pouet"...
0
Utilisateur anonyme
3 juin 2004 à 09:44
Il entend la brancher sur ta carte réseau, pas sur ton port USB

Fat_Cartman,
Parce que je le vaux bien...
0
Mwais,

Ben connaissant les spécifités de la FBx,
J'aurai tendance à pas trop faire ce genre de choses... ;
... d'autant qu'elle ne comporte pas de port ethernet.

Quoi qu'il en soit, je rame grave: je viens de passer des heures sur le net à la recherche d'infos supplémentaires, dans le PPM, etc.
et RIEN !
La doc sur Perl est une vrai jungle, les connaisseurs me comprendront.

SVP , mes paquets TCP me manquent... !
SOS...
sniff.

<=mwa=>.
0
Utilisateur anonyme
3 juin 2004 à 15:35
... d'autant qu'elle ne comporte pas de port ethernet.

On doit pas avoir la meme freebox tous les deux... :)

Kalamit,
Et je lui fais "pouet pouet"...
0
Utilisateur anonyme
3 juin 2004 à 15:42
Après avoir mis la freebox en ethernet, si vraiment c'est un probleme de connexion, je ne sais pas sous quel os tu es mais Windows va dans les Option Internet du paneau de config, dans l'onglet connexion et tu coches l'option "Ne jamais établir de connexion". Au moins ta connexion par défaut sera celle de la freebox.

La freebox est un bridge c'est à dire qu'elle ne route aucun paquet. Il n'y a pas tant de difference que ca avec un modem ethernet classique.

Kalamit,
Et je lui fais "pouet pouet"...
0
Rooh !

C'est vrai qu'elle a un port éthernet, en + !
Mea Culpa, kalamit. ;)

Bon. Mais il ne risque pas d'avoir des conflits de pilotes ?
Ma connec internet fonctionne très bien en plus, par usb, ormis cette facheuse histoire de sockets trouées (sic)
jvoudrai po que ça change :(

Une marche à suivre particulière pour le transfert de l'usb à l'éthernet ?

THx,

<==mwa==>(reprend vaguement des couleurs...)
0
Utilisateur anonyme
3 juin 2004 à 16:09
Est ce que tu as essayé de faire ce que je te disais plus haut, à savoir changer la connexion par défaut dans les connexions?

Fat_Cartman,
Parce que je le vaux bien...
0
Fat_Cartman,

En fait, c'est LA SEULE connection que j'ai gardé,
et j'ai même été jusqu'à désactivé le modem pour être certain.
C'est dire à quel point j'en ai marre.

S.O.S. (je vais finir par me pendre)


<==2Spartiate==>
Un autre Perl est possible (j'espère).
0
Il se trouve que j'ai le même prob qu'avec votre freebox et jaimerais savoir si vous aviez trouver la solution parceque j'en suis a 10 h de config >:(
==>>> SkedarDark56@hotmail.com
Je vous serais extrèmement reconnaissant si vous me faisiez éviter un formatage
Amicalement

Tangui
0
Salut,

Désolé, mais NON.
Pour moi ça fait UN MOIS que je cherche, sans succès... !
J'ai tout fait, les forums les IRC, j'ai contacté Mikro$oft,
j'ai -essayé- d'avoir le service client de Free (lol, jsuis mal barré)
Je n'ai jamais trouvé quelqu'un dans mon cas !
... à croire que les programmeurs Perl n'aiment pas la Freebox !
lol

Sinon, pourriez vous me donner votre config ?
Moi je suis sous Win XP, et j'utilise la Freebox en USB (hum, pas en ethernet...).


<=2Spartiate=> La Freebox, ça rend fou.
0
Nom de l'hôte : 0297812276.free.fr
serveur dns : 212.27.32.5 ou 213.228.0.168
Type de noeud : Diffuser
Identificateur :
Routage IP activé : décoché
WINS Proxy activé : décoché
La résolution netbios utilise DNS : coché

**********************
Carte éthernet information :
Freebox USB network Adapter (seule disponible)
Adresse de la carte : 00-07-CB-00-00-FF
Adresse IP : 82.253.71.159
Masque de sous-réseau : 255.255.255.0
Passerelle par défaut : 82.253.71.254
Serveur DHCP : 82.253.71.254
Serveur WINS principal :
Serveur WINS secondaire :
Bail obtenu : 23 06 04 13:10:33
Expiration du bail : 23 06 04 13:20:33

*********************

Freebox : bseoin technicien niveau 7 !
Ajouté par SirWam

Voici un petit problème bien corsé qui a fait tombé sur le ### plusieurs techniciens de chez free :
Après avoir du réinstaller mon système (donc ma freebox avait déjà fonctionnée), je réinstalle les drivers de ma freebox sans problème majeur. Après plusieurs désintallation/réinstallation (10h00 en tt et pour tt) je me suis dit qu'un peu d'aide ne me ferais ps de mal).
(petites précisions je roule sous win98 (prmière édition), ma freebox est branchée en usb t je n'ai ni envie de formater, ni d'acheter une carte éthernet :) )
Donc voila les pilotes sont bien installé, les protocoles aussi et le plus étonant est que les petits programmes ping et traceroute de windows fonctionnent ! C'est dire que mon pc est bien connecté a ma freebox ce que m'a confirmé les techniciens free.
Malheureusement tous les progs qui requierent une connection, même ceux qui fonctionne par IP, refusent de se conecter a internet. La plupart me sorte des messages d'erreur du genre "socket error".
J'ai essayer de forcer les dns mais ça ne change rien.
un log ma dit :

****************************************************
[07/03/2003 02:36:50.490 GMT+0200] ICMP monitoring started.
[07/03/2003 02:36:50.540 GMT+0200] Ready using port 5001 (tcp).
[07/03/2003 02:36:50.540 GMT+0200] Ready using port 5000 (tcp).
[07/03/2003 02:36:50.540 GMT+0200] Ready using port 1080 (tcp).
[07/03/2003 02:36:50.600 GMT+0200] Ready using port 1032 (tcp).
[07/03/2003 02:36:50.600 GMT+0200] Ready using port 1029 (tcp).
[07/03/2003 02:36:50.600 GMT+0200] Ready using port 1027 (tcp).
[07/03/2003 02:36:50.600 GMT+0200] Ready using port 139 (tcp).
[07/03/2003 02:36:50.650 GMT+0200] Ready using port 138 (tcp).
[07/03/2003 02:36:50.650 GMT+0200] Ready using port 137 (tcp).
[07/03/2003 02:36:50.650 GMT+0200] Ready using port 129 (tcp).
[07/03/2003 02:36:50.650 GMT+0200] Ready using port 53 (tcp).
[07/03/2003 02:36:50.710 GMT+0200] Ready using port 19 (udp).
[07/03/2003 02:38:07.930 GMT+0200] ICMP monitoring stopped.
[07/03/2003 02:39:06.590 GMT+0200] Ready using port 29 (tcp).
[07/03/2003 02:39:07.750 GMT+0200] ICMP monitoring stopped.
[07/03/2003 02:39:07.800 GMT+0200] Port 29 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 5001 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 5000 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 1080 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 1032 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 1029 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 1027 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 139 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 138 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 137 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 129 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 53 (tcp) has been shutdown.
[07/03/2003 02:39:07.800 GMT+0200] Port 19 (udp) has been shutdown.
[07/03/2003 02:39:39.170 GMT+0200] ICMP monitoring supported but unassigned.
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 29 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 5001 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 5000 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 1080 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 1032 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 1029 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 1027 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 139 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 138 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 137 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 129 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 53 (tcp).
[07/03/2003 02:39:39.220 GMT+0200] Ready using port 19 (udp).
[07/03/2003 02:46:20.510 GMT+0200] ICMP monitoring stopped.
[07/03/2003 02:46:20.510 GMT+0200] Port 29 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 5001 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 5000 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 1080 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 1032 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 1029 (tcp) has been shutdown.
[07/03/2003 02:46:20.510 GMT+0200] Port 102

********************************

Voila tu sait tt g déjà fait pas mal de forum et je pense que je vais devoir m'acheter une carte ethernet :(

Cya all
0
2Spartiate > Tangui
24 juin 2004 à 18:58
Mmm...

Je crois qu'un scan de ports n'amène rien, le problème est que certains programmes (Perl pour moi) ne parviennent pas à créer des sockets avec notre config...
Mais ce qui m'étonne c'est que j'ai essayé des connections en "localhost", et que ca foire tout autant.
(dois-je préciser que ces progs fonctionnent très bien sur d'autres ordis ?)

Alors là, c'est le truc qui t'achève, le comble du bizaroïde.
Sinon, on m'a dit, sur IRC, que c'était FREE qui avait "pris des mesures contre la création de sockets personnelles" ... lol...
Selon lui, c'est pour contrer les mecs qui font du spoof ARP lol.
Pour un autre, c'est parske jsuis pô sous Linux.
Pour d'autres, c'est parce jsuis connecté en USB...

LOL. Bientôt, ca sera à cause de la marque de mon HDD ? LOL...

Si c'est un problème d'USB, alors pourquoi:

- Des progs comme XChat, ou Mozilla, parviennent à créer des sockets ?
- Lorsque ma tentative de connection est en LOCALE, ça foire encore ?

Dis, préviens-moi si tu passes en Ethernet, pour savoir si telle en est la cause... ?


<=2Spartiate=> FREE SOCKETS ! :P


P.S:

Fais gaffe de ne pas donner des infos trop... personnelles dans tes post, sur les forum où ailleurs, ou garre aux scans en tout genre...
et autres gags pas marrants...

++
0
EUREKA !

J'ai trouvé une parade (héhé!), et compris le problème (enfin je crois...);
Le flux TCP doit être ralentit lorsque la Freebox (ou une carte Ethernet) est branchée par USB.
Ce qui fait qu'une requete TCP trop rapide peut provoquer un bug, et donc empêcher la création d'un socket.

En Perl, le problème se situait au niveau de la fonction send() (du moins, c'est ce que j'en ai déduit).
Car elle doit envoyer la requête de manière trop "directe".
Je m'explique:
Il s'agit de créer une socket , PUIS d'envoyer la requête.

Ainsi, après quelque recherches, durant une bonne partie de la nuit (c'est pô grave, yavé le pot de Nutella ;)

J'ai codé ce petit prog, échapant à la fonction send()
(malgré parfois 2-3 bugs au niveau du package INET.pm, ca fonctionne):


###################################################################################################################
#
#!/usr/bin/perl -w
#
# Petit prog socket pour pauvres freeboxiens ;)))
#
# Il permet de créer des sockets, sans passer par la fonction send ()
# Nous utiliserons ici le protocole HTTP, avec une fonction ask_server(), pour pas se prendre la tete !...
#
###################################################################################################################


use IO::Socket;



###########################
# paramettres #
###########################


$server = "www.google.fr"; # L'URL du serveur
$port = "80"; # Le port du serveur distant
$methode = "GET"; # La méthode de requette HTTP ("GET", ou "POST")
$type_connection = "close"; # Le type de connection ("close", ou "Keep-Alive")

$content="hl=fr&ie=UTF-8&as_qdr=all&q=sockets&btnG=Recherche&meta="; # Le contenu, s'il y a lieu




###########################
# Traitement des donnees #
###########################


$server = $server.":".$port;
$content_length=length($content);


if ($methode eq "GET")

{

$requete ="GET /search?".$content." HTTP/1.1
Host: www.google.fr
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020615
Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: fr,fr-fr;q=0.7,en;q=0.3
Connection: ".$type_connection."\n\r\n\r";

}

if ($methode eq "POST")

{

$requete ="POST /search HTTP/1.1
Host: www.google.fr
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020615
Accept: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: fr,fr-fr;q=0.7,en;q=0.3
Connection: ".$type_connection."
Content-Type: application/x-www-form-urlencoded
Content-length: ".$content_length."\r\n\r\n".$content."\n\n";
}

###########################
# Fonction ask_server() #
###########################


sub ask_server
{
my $server = $_[0];
my $requete = $_[1];



$remote = IO::Socket::INET->new($server)
|| die "Impossible de se connecter a $server, sur le port $port: $!";

print $remote "$requete";
print while <$remote>

}



###########################
# FreeBox en USB ?! ;)) #
###########################



ask_server ($server,$requete);



############################################


Et voilou !
Le problème est règlé !

Pfiouuu !....


<=2Spartiate=>Un bon lit après une nuit de codage...
0