Re: Анализ сетевого трафика в С?
В каком С конкретно?
---
...Я работаю антинаучным аферистом...
под линухой
Ещё можно почитать, что там такое в ядре включается для поддержки.
---
...Я работаю антинаучным аферистом...
tcpdump eto zhe ne funkciya C, eto prosto komanda. kak v C eto primenit? kak budet vyglyadet naprimer kusok koda v C perexvatuvayushi pakety dlya analiza?
libpcap
а хоть какой - нибудь фрагмент кода кто - нибудь может показать?
http://www.tcpdump.org/
http://www.tcpdump.org/pcap.htm
http://www.tcpdump.org/pcap.htm
Here is a simple demonstration of using pcap_next to sniff a packet.
#include <pcap.h>
#include <stdio.h>
int main
{
pcap_t *handle; /* Session handle */
char *dev; /* The device to sniff on */
char errbuf[PCAP_ERRBUF_SIZE]; /* Error string */
struct bpf_program filter; /* The compiled filter */
char filter_app[] = "port 23"; /* The filter expression */
bpf_u_int32 mask; /* Our netmask */
bpf_u_int32 net; /* Our IP */
struct pcap_pkthdr header; /* The header that pcap gives us */
const u_char *packet; /* The actual packet */
/* Define the device */
dev = pcap_lookupdev(errbuf);
/* Find the properties for the device */
pcap_lookupnet(dev, &net, &mask, errbuf);
/* Open the session in promiscuous mode */
handle = pcap_open_live(dev, BUFSIZ, 1, 0, errbuf);
/* Compile and apply the filter */
pcap_compile(handle, &filter, filter_app, 0, net);
pcap_setfilter(handle, &filter);
/* Grab a packet */
packet = pcap_next(handle, &header);
/* Print its length */
printf("Jacked a packet with length of [%d]\n", header.len);
/* And close the session */
pcap_close(handle);
return(0);
}
Оставить комментарий
pep89
Кто-нибудь знает как перехватываются сетевые пакеты в С?