Czy jesli ustawie socketa (SOCK_RAW) to przechwyci mi wszystkie pakiety z internetu (zalozmy ze mam ustawiony promisc mode) ?
Czy jesli ustawie socketa (SOCK_RAW) to przechwyci mi wszystkie pakiety z internetu (zalozmy ze mam ustawiony promisc mode) ?
Ostatnio edytowane przez oneat : 09-28-2009 - 23:09
Poczytaj: http://www.linuxpl.org/LPG/node86.html
Będzie to raczej PF_PACKET.
I tamat nazwałbyś inaczej.
"a imię jego będzie czterdzieści i cztery"
A. Mickiewicz Dziady cz. III
Sorry za temat.
Juz zmienilem.
A czy taki trick pójdzie na windzie![]()
Na windzie raczej będzie ciężko z surowymi gniazdami, polecam Winpcap, nawet jeżeli chcesz napisać coś sam poczytaj źródła biblioteki.
Natomiast pod linuksem jest to proste:
Kod:int sockfd; sockfd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL)); //ustawiamy promisc struct ifreq ifr; sprintf(ifr.ifr_name,"eth0"); //nazwa interfejsu może być inna ioctl(sockfd,SIOCGIFFLAGS,&ifr); ifr.ifr_flags|=IFF_PROMISC; ioctl(sockfd,SIOCSIFFLAGS,&ifr); //możemy czytać z gniazda
Ostatnio edytowane przez rafal44 : 09-29-2009 - 17:14
"a imię jego będzie czterdzieści i cztery"
A. Mickiewicz Dziady cz. III