Pokaż wyniki 1 do 4 z 4

Temat: c++

  1. #1

    Domyślnie Socket RAW

    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

  2. #2

    Domyślnie

    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

  3. #3

    Domyślnie

    Sorry za temat.
    Juz zmienilem.
    A czy taki trick pójdzie na windzie

  4. #4

    Domyślnie

    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

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj