Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1370 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Pas de reponse sur le port 23

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pas de reponse sur le port 23

n°1343122
yartempion
Posté le 10-04-2006 à 15:29:32  profilanswer
 

J'ai fait un code pour communiquer avec le port 23 et je n'ai aucune reponse pourqoi?

Code :
  1. #include<stdio.h>
  2. #include<unistd.h>
  3. #include<arpa/inet.h>
  4. #include<netdb.h>
  5. #include<netinet/in.h>
  6. #include<sys/types.h>
  7. #include<sys/socket.h>
  8. #include<termios.h>
  9. main(argc,argv)
  10. int argc;
  11. char** argv;
  12. {
  13.   int sock_com,nb_caract_lus;
  14.   struct sockaddr_in  adresse_distant;
  15.   char buffer[1024];
  16.   char* port="23";
  17.   struct termios term_init,term_com;
  18.   fd_set desc_term_com;
  19.   memset(&adresse_distant,0,sizeof( struct sockaddr_in));
  20.   if((adresse_distant.sin_addr.s_addr=inet_addr(argv[1]))==INADDR_NONE)
  21.     {
  22.     perror ("\nErreur sur l'adresse ip" );
  23.     exit(1);
  24.     }
  25. adresse_distant.sin_family=AF_INET;
  26. adresse_distant.sin_port=htons(atoi(port));
  27. if((sock_com=socket(PF_INET,SOCK_STREAM,0))<0)
  28.    perror("\nerreur sur socket" );
  29. printf("\nNumero de socket attribuee %d\n",sock_com);
  30. printf("\nDemande de connection sur distant" );
  31. if(connect(sock_com,(struct sockaddr*) &adresse_distant, sizeof (struct sockaddr_in))<0)
  32.    perror("\nerreur sur connect" );
  33. printf("\nconnexion reussie" );
  34. printf("\nResultat de l'initialistion de la structure sockaddr_in" );
  35. printf("\nadresse: en hexa %08X\ten decimal pointee %s\nNumero de port en Hexa %08X\ten decimal %d",ntohl(adresse_distant.sin_addr.s_addr),inet_ntoa(adresse_distant.sin_addr),ntohs(adresse_distant.sin_port),ntohs(adresse_distant.sin_port));
  36. printf("\nRecuperation des attributs de l'entree du terminal" );
  37. tcgetattr(STDIN_FILENO,&term_init);
  38. tcgetattr(STDIN_FILENO,&term_com);
  39. printf("\nPassage en mode brut de term_com" );
  40. cfmakeraw(&term_com);
  41. printf("\nApplication des changement de l'entree en mode brut" );
  42. tcsetattr(STDIN_FILENO,TCSANOW,&term_com);
  43. while(1)
  44.    {
  45.      FD_ZERO(&desc_term_com);
  46.      FD_SET(sock_com,&desc_term_com);
  47.      FD_SET(STDIN_FILENO,&desc_term_com);
  48.      if(select(sock_com+1,&desc_term_com,NULL,NULL,NULL)<0)
  49.        break;
  50.      if(FD_ISSET(sock_com,&desc_term_com))
  51.        {
  52. if( nb_caract_lus=read(sock_com,buffer,1024)<=0)
  53.   break;
  54. write(STDOUT_FILENO,buffer,nb_caract_lus);
  55.        }
  56.      if(FD_ISSET(STDIN_FILENO,&desc_term_com))
  57.        {
  58. if( nb_caract_lus=read(STDIN_FILENO,buffer,1024)<=0)
  59.   break;
  60. write(sock_com,buffer,nb_caract_lus);
  61.        }
  62.    }
  63. printf("\nSortie du while" );
  64. tcsetattr(STDIN_FILENO,TCSANOW,&term_init);
  65. printf("\nrestitution du terminal initial" );
  66. close(sock_com);
  67. printf("\nfermeture de la socket" );
  68. }
  69. "\nrestitution du terminal initial" );
  70. close(sock_com);
  71. printf("\nfermeture de la socket" );
  72. }


mood
Publicité
Posté le 10-04-2006 à 15:29:32  profilanswer
 

n°1343144
Emmanuel D​elahaye
C is a sharp tool
Posté le 10-04-2006 à 15:42:24  profilanswer
 

yartempion a écrit :

J'ai fait un code pour communiquer avec le port 23 et je n'ai aucune reponse pourqoi?

Code :
  1. char* port="23";



Je le sens mal...

Citation :

Code :
  1. adresse_distant.sin_port=htons(atoi(port));



C'est tordu... En principe, uin simple type short suffit :  

Code :
  1. short port = 23;
  2.    adresse_distant.sin_port=htons(port);


http://mapage.noos.fr/emdel/reseaux.htm


Message édité par Emmanuel Delahaye le 10-04-2006 à 15:43:21

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1343288
yartempion
Posté le 10-04-2006 à 16:56:44  profilanswer
 

Quelqu'un pourrai me dire comment on reactive le serveur telnet sous mandrake?
Je n'arrive plus a faire de telnet sur le 127.0.0.1 ou sur le 192.168.1.2.

n°1343303
blackgodde​ss
vive le troll !
Posté le 10-04-2006 à 17:02:53  profilanswer
 

service telnet start ?

n°1343516
yartempion
Posté le 10-04-2006 à 20:41:29  profilanswer
 

Non ça ne marche pas.

n°1343520
LePhasme
Les Belges domineront le monde
Posté le 10-04-2006 à 20:47:40  profilanswer
 

telnet est installé au moins ?

n°1343544
yartempion
Posté le 10-04-2006 à 21:12:37  profilanswer
 

Il l'etait mais je n'en suis plus tres sur.
Comment voir si il est toujours intalle.

n°1343727
nargy
Posté le 11-04-2006 à 01:18:25  profilanswer
 

shell: rpmdrake

n°1343733
yartempion
Posté le 11-04-2006 à 01:58:59  profilanswer
 

quelqu'un peut il me dire pourquoi le port 23 ne repond pas?

n°1343735
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-04-2006 à 02:00:08  profilanswer
 

yartempion a écrit :

quelqu'un peut il me dire pourquoi le port 23 ne repond pas?


Ton firewall (iptables) l'autorise ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le 11-04-2006 à 02:00:08  profilanswer
 

n°1343738
nargy
Posté le 11-04-2006 à 02:11:01  profilanswer
 

> Ton firewall (iptables) l'autorise ?
c'est en local
 
yartempion> essaye: ``chkconfig --list telnet`` et ``chkconfig --list telnetd``

n°1343739
yartempion
Posté le 11-04-2006 à 02:30:50  profilanswer
 

Oui j'arrive a faire un telnet sur le 127.0.0.1 donc c'est OK.
J'arrive a lire sur certain equipements mais j'ail'impression que je n'arrive pas a ecrire sur la socket.

n°1344110
yartempion
Posté le 11-04-2006 à 14:18:43  profilanswer
 

Enfin de compte je pense que je ne negocie pas correctement le protocole telnet quelqu'un aurait'il un source client telnet en c pour que je puisse voir comment ca marche. J'ai lu et relu le RFC854 mais ce n'est pas tres clair et je ne vois pas comment implementer la negociation des differntes options.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Pas de reponse sur le port 23

 

Sujets relatifs
[port serie] reception de donnees a partir d'un fichier ?Port serie RS232 recuperer une frame ...
Protocole de communication par le port sérieOuvrir un port
[Résolu] Changement de port sur une page web[Basic-Batch] inspection du port com 1
Ouvrir Port C/C++ [AU SECOURS !]Controller un systeme simple via un port USB
petite question conne (j'ai cherché ss succes la réponse) [RESOLU][qst] envoyer signal port // après réponse negative à un ping
Plus de sujets relatifs à : Pas de reponse sur le port 23


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR