begin process at 2012 02 11 18:04:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Win Pcap / Sniffer / Pb de vitesse


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

Win Pcap / Sniffer / Pb de vitesse

mardi 11 janvier 2005 à 20:35:41 | Win Pcap / Sniffer / Pb de vitesse

Kikx

sniiiiffffffffff

j'ai fait un sniffer assez basique avec la librairie pcap ...
Jusqu'à la pas de soucis car je récupère effectivement les paquets de l'interface

Le problème est venu quand j'ai voulu un peu poussé mon sniffer dans ses limites et j'ai telechargé un iso (reseau local) donc mes débits avoisinent le 4Mo/s et la .... mon fichier de log faisait seulement 20 Mo

donc je me suis dit que ma boucle de sniffage était trop lente et j'ai supprimé tout le traitement à l'interieur et j'ai juste affiché la taille cumulé des paquets qui transitaient ... au final 30Mo

Donc a priori je drop pas mal de paquet ...

voila un extrait de mon code :

if ((fp= pcap_open(d->name,65536,PCAP_OPENFLAG_PROMISCUOUS, 1000 ,NULL,errbuf)) == NULL){
// TODO : Faire un message d'erreur !
} else {
//----------------------------------------
// Preparation du sniffage
//----------------------------------------
// On efface le fichier de log
pfile = fopen("C:/Log.txt", "w") ;
fwrite("",
sizeof(char),1,pfile) ;
fclose(pfile) ;
// on prepare la liste des paquets
LPaquet = new Paquet() ;
// On efface la listView
ListView_DeleteAllItems(hWndTab1_List);
//----------------------------------------
// Début du sniffage
//----------------------------------------
while((res=pcap_next_ex(fp,&header,(const u_char**) &pkt_data))>= 0){
   if(res != 0) { // le timeout n'est pas arrivé
      size = header->caplen ;
      total_size += size ;
//----------------------------------------
// On sauve le paquet dans un fichier
//----------------------------------------
      pfile = fopen("C:/Log.txt", "a+b") ;
      fwrite((
char*) pkt_data,sizeof(char),size,pfile) ;
      fclose(pfile) ;
//--------------------------------------
// On ecrit les Infos lié aux paquets a
// l'ecran
//--------------------------------------

                  // Ici il y a le code d'affichage
   }
}

Si quelqu'un a une idée ...
avec ethereal ca marche parfaitement mais il va sans dire que je m'en sors pas avec la lecture du code ... je comprend rien !

Donc il doit y avoir une astuce que je n'ai pas saisi

merci de votre aide
Kikx

mardi 11 janvier 2005 à 21:38:45 | Re : Win Pcap / Sniffer / Pb de vitesse

Kikx

Bon ben ...
snif personne m'aime :(
je vais suicider mon ordinateur ...
Voila de nouveaux test pour les interessés
Si je désactive tout ... j'ai l'impresssion de chopper tout les paquets ... mais bon j'ai aucun traitement dans la boucle alors c'est un peu lourd :(

Kikx

vendredi 11 novembre 2005 à 22:44:54 | Re : Win Pcap / Sniffer / Pb de vitesse

dark1933

Salut,

Juste pour vérifer, j'aimerai bien voir la définition de la structure de header

vendredi 11 novembre 2005 à 22:45:36 | Re : Win Pcap / Sniffer / Pb de vitesse

dark1933

caplen c'est la taille de quoi?

lundi 3 juillet 2006 à 18:14:24 | Re : Win Pcap / Sniffer / Pb de vitesse

psyphi

J'arrive un peu tard mais si tu drops tout ces paquets c'est parce que ta boucle de traitement est trop longue. Au lieu de tout faire en un seul jet, appele le traitement dans un autre thread en parallère.

There are only 10 types of people in the world: Those who understand binary, and those who don't.


Cette discussion est classée dans : char, size, sniffer, pfile, pcap


Répondre à ce message

Sujets en rapport avec ce message

problème de pointeur sur char (SUPER HYPER IMPORTANT -> juste pour moi...je supose) [ par levraipig ] bonjour à tous, voila moi j'ai un p'ti problème plutot embêtant.... je dois créer un class qui gère les chaines de caractères (ne me demander pas pou problème de pointeur sur char (SUPER HYPER IMPORTANT -> juste pour moi...je supose) [ par levraipig ] bonjour à tous, voila moi j'ai un p'ti problème plutot embêtant.... je dois créer un class qui gère les chaines de caractères (ne me demander pas pou conversion float en char [ par laurent180 ] Bonjour a tous,J'aimerai savoir en c ou c++ comment convertir un float en char? quel sont les fonctions ou un exemple?merci a vous.s Memory Pool [ par guiguikun ] Bonjour,j'ai téléchargé la partie du code source de Quake3 releasé par ID Software par curiosité.Je l'ai lu pour voir un peu comment le jeu fonctionna count et ifstream [ par sheorogath ] j'ai deux probleme 1)comment on utilise un ifstream pour lire un fichier contenat des infos texte sur le disque 2)j'essay d'ecrie un algorytme de cryp Probleme d'Allocation [ par oliverman ] Je pense avoir un petit probleme d'allocation avec mes fonction:Si je fais :char * fonction ( int SIZE){char *buff;buff =new char[SIZE];//(char = 1oct Problème copie de fichier.... [ par Clonk ] Bonjour,Je voudrais copier un fichier texte dans mon appli, j'ai fais la fonction suivante://Copie d'un fichier (création du backup)int copier(char * [ c++ ] pb de convertion hexa [ par devoX ] Bonjour a tous,j'ai un petit soucis, je vous explique:je dispose d'un text dans un buffer buf et je desire le metre dans un autre buffer buf2 mais en Fread :/ [ par nem02004 ] FILE * pFile;  long lSize;  char * buffer;  pFile = fopen ( fichier , "rb" );  if (pFile==NULL) return 0;  fseek (pFile , 0 , SEEK_END);  lSize = ftel Lecture d'un fichier [ par Darkvlador ] luVoilà mon code : #include #include #include using namespace std;char *tmp;unsigned int size;<b


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,328 sec (4)

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