Libpcap comment manipuler un packet ?
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:
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 :
Citation:
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:
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 ?