Rechercher : dans
Par :

Communication par socket avec un autre PC

Dernière réponse le 23 déc 2004 à 23:21:22 thierry37_2, le 22 déc 2004 à 16:21:02 
 Signaler ce message aux modérateurs

Bonjour,
J'essaie de faire communiquer un PC windows avec mon pc linux (Fedora). Les deux PC sont raccordés à un routeur Wifi (lui-meme connecté à internet) :
- Le PC Linux a pour adresse 192.168.1.100
- Le PC Windows a pour adresse 192.168.1.101

Ma configuration matérielle est composée de deux PC connectés à un routeur WiFi . Pour info, mon Wifi marche parfaitement. Je peux me connecter à internet ... Pour info, Ifconfig exécuté sur le PC linux donne :
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2345 errors:0 dropped:0 overruns:0 frame:0
TX packets:2345 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:2253600 (2.1 Mb) TX bytes:2253600 (2.1 Mb)

wlan0 Lien encap:Ethernet HWaddr 00:11:2F:83:B2:4C
inet adr:192.168.1.100 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::211:2fff:fe83:b24c/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6276 errors:0 dropped:0 overruns:0 frame:0
TX packets:5715 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:4061451 (3.8 Mb) TX bytes:895890 (874.8 Kb)
Interruption:10 Mémoire:40100000-4010ffff

J'ai un soft client qui tourne sur le PC windows, et qui envoie des trames UDP à l'adresse du PC linux, sur le port 5060. Je vois bien les trames arriver sur le PC Linux, grae à l'utilitaire ngrep:
interface: wlan0 (192.168.1.0/255.255.255.0)
U 192.168.1.101:5060 -> 192.168.1.100:5060
REGISTER sip:192.168.1.100 SIP/2.0..Via: SIP/2.0/UDP 192.168.1.101:5060;rport;branch=z9hG4bKEA89EA20D83A4E59B6B3B6D575E993D1..From: thierry <sip:thierry37_2@192.168.1.100>;tag=1503280348..To: thierry <sip:thierry37_2@192.168.

En revanche, le soft serveur, qui a un socket ouvert sur l'adresse 198.162.1.100, end mode Datagramme, et sur le port 5060, ne recoit pas les trames.

Ce qui est bizarre, c'est que quand je lance un client sur le PC linux, qui envoie des trames sur l'adresse 198.162.1.100, port 5060, (i.e. le client et le serveur tournent en local sur le PC linux), le soft serveur les recoit, mais ces trames n'apparaissent pas dans l'écran ngrep ...

On dirait que ngrep espionne bien mon interface externe (wlan0, 198.162.1.100), alors que les softs tournat sur le PC linux (client ou serveur) accèdent à une autre interface qnad je fais référence à la même adresse IP.

n'étant pas un expert linux, je me demande si je n'ai pas oublié de configurer quelque chose ...

Voilà, c'était un peu long ... si ça vous inspire ... merci,
Thierry

Meilleures réponses pour « communication par socket avec un autre PC » dans :
Déroulement d'une communication avec les sockets Voir Comme dans le cas de l'ouverture d'un fichier, la communication par socket utilise un descripteur pour désigner la connexion sur laquelle on envoie ou reçoit les données. Ainsi la première opération à effectuer consiste à appeler une fonction...
Comment remplacer son processeur socket 775 VoirPour les nombreux possesseurs de PC, la question du changement de processeur pour en mettre un plus performant se pose inévitablement un jour ou l’autre : cette opération s’appelle « Upgrade du CPU » Mais malheureusement, dans le cas de cartes...
[Vidéo] Branchement PC-TV VoirIl est relativement simple de relier le PC à la télévision. Branchement Paramétrage Notes Branchement Il faut tout d'abord relier les appareils via un câble S-vidéo du PC à la télévision, puis le son c'est-à-dire la sortie des...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Assembler un PC VoirDe l'assemblage d'un ordinateur Un ordinateur de type PC est modulaire, c'est-à-dire qu'il peut être monté en assemblant des éléments matériels de différents constructeurs, afin d'obtenir un ordinateur conforme à ses besoins. Les éléments...
Assemblage d'un PC - Montage du processeur VoirLe processeur Le processeur est le circuit intégré clé de l'ordinateur, réalisant les principaux calculs. Les processeurs existent en différents formats pouvant être classés en deux familles : Les processeurs sur Socket ; Les processeurs sur...

1

thierry37_2, le 22 déc 2004 à 16:34:34

Un autre élément qui est peut-être important : le contenu de mon fichier /etc/hosts est le suivant :

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost

j'utilse ndiswrapper pour mon accès Wifi, avec une carte WL-138G, mais je ne sais pas si c'est important,

Merci
Thierry

Répondre à thierry37_2

2

 thierry37_2, le 23 déc 2004 à 23:21:22

Bnojour,
j'ai finalement trouvé la solution à mon problème. Je vous en fais part au cas où une autre personne aurait le même problème. Linux utilise une table de filtrage des paquets IP arrivant du monde extérieur (ou dirigés vers le monde extérieur). En fonction des règles définies par l'utilisateur, ces paquets peuvent être discardés : c'est ce qui se passait dans mon cas (les paquets apparaissaient dans ngrep car ils étaient recus sur l'interface, mais n'étaient jamais forwardés à aucun process interne).
Plutôt que de rentrer dans une explication compliquée d'un truc que je maitrise assez mal, je fournis un lien vers un HOWTO super bien fait qui explique tout ça, et comment configurer le filtre (commande iptables) : http://www.brennan.id.au/06-Firewall_Concepts.html

Cordialement,
Thierry

Répondre à thierry37_2
Collection CommentÇaMarche.net