begin process at 2012 05 28 21:29:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

envoi de paquet ip


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

envoi de paquet ip

mercredi 5 avril 2006 à 08:32:17 | envoi de paquet ip

sendouda

Bonjour;
j'ai écrit un programme qui permet d'envoyer des paquets ip à une destination.
mais quand j'ai voulu le sniffer j'ai pas pu le capter.
J'ai besoin d'envoyer des paquets ip en utilisant le protocole icmp.
voci mon code:

#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>
struct ethernet
{
u_char ether_dhost[6];
u_char ether_shost[6];
u_short ether_type;

};

typedef struct iphdr
{

unsigned char verlen;
unsigned char tos;
unsigned short tot_len;
unsigned short id;
unsigned short offset;
unsigned char ttl;
unsigned char protocol;
unsigned short checksum;
unsigned int saddr;
unsigned int daddr;

} IP_HDR;

typedef struct icmphdr
{
unsigned char type;
unsigned char code;
unsigned short checksum;
unsigned short id;
unsigned short seq;
unsigned long timestamp;

} ICMP_HDR;
WSADATA wsa;
WSAStartup(MAKEWORD(2,0x0),&wsa);

int optval;

SOCKET sock=WSASocket(AF_INET, SOCK_RAW, IPPROTO_RAW, NULL, 0,0);
setsockopt(sock, IPPROTO_IP, 2, (char *)&optval, sizeof(optval));

SOCKADDR_IN sin;


char packet[8192];
iphdr *ip=(iphdr*)packet;
icmphdr *icmp=(icmphdr*)(packet+sizeof(struct iphdr));

ip->verlen=69;
ip->tos=0;
ip->id=1;
ip->offset=0;
ip->ttl=(unsigned char)255;
ip->protocol=(unsigned char)1;
UpdateData(TRUE);
ip->saddr=inet_addr(m_ipsource); //remplacez par votre ip...
ip->daddr=inet_addr(m_ipdestination); //remplacez par le pc à pinger, google par ex...
ip->checksum =0;
//ip->checksum=in_cksum((unsigned short *)ip, sizeof(struct iphdr));

icmp->id=2;
icmp->type=(unsigned char)8;
icmp->code=(unsigned char)0;
icmp->checksum=0;
//icmp->checksum=in_cksum((unsigned short *)icmp, sizeof(struct icmphdr));
ip->tot_len=htons(sizeof(struct iphdr)+sizeof(struct icmphdr));

sin.sin_family=AF_INET;
sendto(sock,packet,sizeof(struct iphdr)+sizeof(struct icmphdr),0,(SOCKADDR*)&sin,sizeof(sin));





ce code normalement doit envoyer une commande ping



Cette discussion est classée dans : ip, char, short, unsigned, struct


Répondre à ce message

Sujets en rapport avec ce message

urgent:envoi paquet [ par sendouda ] Bonjour;j'ai écrit un programme qui permet d'envoyer des paquets ip à une destination.mais quand j'ai voulu le sniffer j'ai pas pu le capter.J'ai beso Sniffing - raw socket [ par krum ] J'ai essayé de coder un programme capable de me donner la description de l'en tete IP et TCP des packets que je reçois d'une certaine IP,mais lorsque pb avec conio je cher cherche l'erreur( j'ai merde sur le mess precedent) [ par kin ] portpia.cpp#include"PortPiaPc.h"void main(){ PortPiaPc inst; inst(0x320,0x0f);}PortPiaPc.cpp#include "PortPiaPc.h"#include "conio.h"PortPiaPc::PortPia struct [ par ready4 ] Je ne sais pas comment initialiser mes moteurs //intialisation moteursM1 = {2, 1, 1, 2, 0, 0, 120};M2 = {8, 4, 4, 8, 0, 0, 80};M3 = {32, 16, 16, 32, 0 envoi d'une structure dans un socket [ par Taum ] Bonjour, voilà j'ai besoin d'envoyer une structure dans un paquet udp :typedef struct { unsigned short TransactionId; short Flags; short Questions; sh Conversion unsigned short ---> char * [ par nemmezis ] Salut tout le monde,Ben tout est dit dans le titre; j'ai en fait besoin de convertir un unsigned short en char* afin de pouvoir le concaténer dans un Structure alignment [ par Gargagol ] Voilà je programme sous MS VC++J'ai la structure suivante:typedef struct{ unsigned short port; unsigned char showMessage; unsigned char hashMonitor[16 socket RAW ICMP - fonctionnement et implémentation... [ par smirnoff69ice ] Salut, Je suis sur un projet et je dois simuler l'envoi de paquets ICMP sur le réseau. J'ai déjà fait un petit programme de test (repris en partie dep Raw socket TCP/IP sous Windwos XP [ par MaximeH ] Bonjour à tous, J'aimerais savoir pourquoi ce code ne marche pas (il n'es pas de moi, c'est sensé être un exemple ...) : ###code // SheepTCP->SYN Ha winsock raw socket ping icmp recv [ par 4aBestWord ] bonjour,j'ai repris un code source en c pour faire un un ping icmp en utilisant les raw sockets sous windows (XP). L'envoie du ping fontionne bien par


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales