Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Win Pcap / Sniffer / Pb de vitesse [ Archives / Réseau / Internet ] (Kikx)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.