Bonjour,

j'ai fai un petit sniffer de packet avec libpcap, pour l'instant il ne fait que compté les paquets qui passe sur le port 80.

je faits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void got_packet(u_char *args, const struct pcap_pkthdr *header,const u_char *packet)
	{
		static int count = 1;
		printf("%d - Jacked a packet with length of []\n",count);
		count++;
	}
mais j'aimerais pouvoir lire ce qui passe pour le filtrer.

Par exemple interdire les requêtes vers certain nom de domaine.


voici la façon dont je vois les chose :
  • je capte tous les paquets qui constitue une requête http sur le port 80
  • je reconstitue la requête et j'obtien un truc tu genre :
    GET http://www.developpez.net HTTP/1.0

    Accept : text/html
    If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT
    User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)
  • j'applique mes règles de filtrage.
  • Si le nom de domaine ne correspond pas je simule une fause réponse dans lequel je mets une page html du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head>
    <title>Page non authorisé</title>
    </head>
    <body>
    <p>Page non authorisé</p>
    </body>
    </html>

quelqu'un a une idée de comment je peux faire ?