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

  FORUM HardWare.fr
  Programmation
  C

  Pb socket niveau 2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb socket niveau 2

n°1139977
jcqguill
Posté le 05-07-2005 à 07:50:30  profilanswer
 

Salut,
j'essaye de creer un forgeur de paquet au niveau 2, mais j'ai un petit problem.Mon packet est correctement envoyé, mais je ne recois pas de reponse(pour un echo ping par ex.).
 
j'utilise une sockaddr déclaré :
       

Code :
  1. struct sockaddr interface = { AF_INET, "lo" }(ou "eth0" )


je rempli des structures du type :
       

Code :
  1. struct ethhdr eth
  2. struct iphdr ip
  3. struct icmphdr icmp


je stock le tout dans un buffer(packet[124])
la socket est déclarée :
       

Code :
  1. int sockets
  2. sockets=socket(AF_INET, SOCK_PACKET, htons(ETH_P_802_3)) (ou ETH_P_ALL)


et j'utilise sendto :
     

Code :
  1. sendto(sockets,&packet, sizepacket, 0, &interface,sizeof(struct sockaddr))


 
Ma socket est elle mal déclarée ?
faut-il rajouter a la fin du paquet un checksum ethernet ?
 
Quelqu'un peut-il m'aider.

mood
Publicité
Posté le 05-07-2005 à 07:50:30  profilanswer
 

n°1140010
Taz
bisounours-codeur
Posté le 05-07-2005 à 09:27:37  profilanswer
 

t'es niveau 3 là


Message édité par Taz le 05-07-2005 à 09:27:52
n°1140065
jcqguill
Posté le 05-07-2005 à 10:38:01  profilanswer
 

non niveau 2
SOCK_PACKET permet de remplacer le couche 2, avec struct ethhdr par exemple.

n°1141033
matafan
Posté le 05-07-2005 à 17:09:53  profilanswer
 

       SOCK_PACKET
               Obsolete  and should not be used in new programs; see packet(7).

n°1141992
jcqguill
Posté le 06-07-2005 à 13:41:28  profilanswer
 

je viens d'essayer avec une socket déclaré :
socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL))
et avec une sockaddr_ll pour le sendto(comme indiqué dans packet(7))
mon packet est correctement envoyé mais toujours pas de reponse.

n°1145043
jcqguill
Posté le 09-07-2005 à 18:38:49  profilanswer
 

Problême résolu.
Pour info : l'erreur ne venait pas de SOCK_PACKET.


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

  Pb socket niveau 2

 

Sujets relatifs
transfert d'un fichier via socket[Perl] Timeout sur socket
Socket et joie de vivre ![SOCKET]java.net.SocketException: Connection reset
Messenger [GTK+ & Socket]Créer un serveur socket pour un client flash
Socket en C, lancer le serveur sur 2 portsprintwriter et socket detecter deconnection
Socket (méthode BeginReceive)[Java.io]Buffered Reader sur socket + ReadLine()
Plus de sujets relatifs à : Pb socket niveau 2


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