Pokaż wyniki 1 do 7 z 7

Temat: problem z czytaniem surowych pakietow

  1. #1

    Domyślnie problem z czytaniem surowych pakietow

    witam. mam problem z czytaniem surowych danych z sieci. Pokaze to na przykladzie.

    przyklad.
    probuje napisac prosty sniffer, ktory czyta informacje z protokolu ICMP.
    problem polega na tym, ze nie jestem w stanie wylapac pakiety wychodzace z mojego komputera (z jednym wyjatkiem*), jedynie tylko pakiety przychodzace. zasadnicza czescia programu jest nastepujaca petla do czytania pakietow, ktora nastepnie wypisuje otrzymane pakiety:

    Kod:
    while (read(sock,packet,sizeof(packet))>0)
    efekty dzialania programu sa nastepujace:

    dla localhosta*
    Kod:
    ICMP (Echo) from [192.168.1.2] to [192.168.1.2] with text: 12345
    ICMP (Echo reply) from [192.168.1.2] to [192.168.1.2] with text: 12345
    dla dowolnego zdalnego hosta (tutaj hack.pl)
    Kod:
    ICMP (Echo reply) from [89.161.184.235] to [192.168.1.2] with text: 12345
    ja widac na pierwszym listingu, mamy zarowno pytanie, jak i odpowiedz. na drugim sama odpowiedz. pytania:
    (1) dlaczego tak sie dzieje, ze program nie jest w stanie wylapac pakietow wychodzacych do zdalnych hostow?
    (2) istnieje jakas inna funckja niz read() do czytania takich danych?

    za wszelkie odpowiedzi, dziekuje.

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Czyzby karta nie dzialala w trybie promiscous?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3

    Domyślnie

    Cytat Napisał tqm Zobacz post
    Czyzby karta nie dzialala w trybie promiscous?
    no faktycznie. karta nie dziala w trybie promiscuous. ale jak na razie chce wylapac pakiety tylko na lokalnym komputerze. do tego raczej nie jest potrzebny ten tryb. prawda? wiec chyba czegos innego tu brakuje.

    aha. jeszcze jedno. ma to znaczenie czy jest to karta WLAN?

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    To ze to karta wifi nie ma wiekszego znaczenia. Czy w swoim programie uzywasz bibliotek pcap? Zakladajac ze to linux to musisz miec libpcap do zbierania pakietow. Zasada jest taka, ze tylko 1 aplikacja moze nasluchiwac na danym porcie dopuki nie uzywa libpcap'a (pcap == packet capture). Nigdy nie pisalem sniffer'a wiec jedyne co moge zaproponowac to dokumentacja :-/
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5

    Domyślnie

    Cytat Napisał tqm Zobacz post
    To ze to karta wifi nie ma wiekszego znaczenia. Czy w swoim programie uzywasz bibliotek pcap? Zakladajac ze to linux to musisz miec libpcap do zbierania pakietow. Zasada jest taka, ze tylko 1 aplikacja moze nasluchiwac na danym porcie dopuki nie uzywa libpcap'a (pcap == packet capture). Nigdy nie pisalem sniffer'a wiec jedyne co moge zaproponowac to dokumentacja :-/
    hmm. to wlasnie budzilo moje obawy. od samego poczatku, moim zamierzeniem bylo nie uzywac tej biblioteki. gdyby byla mozliwosc czytania pakietow poprzez funkcje read() (lub recv(), badz recvfrom(), bo tych tez mozna uzyc), napisanie takiego sniffera byloby wrecz banalne. zagladajac do kodow znalezionych snifferow, zdecydowana wiekszosc z nich korzystala wlasnie z tej biblioteki.

    w takim wypadku, nie mam raczej wyboru. trzeba bedzie powalczyc z ta biblioteka.

    wielkie dzieki za pomoc.

    edit:
    uff. w koncu sie udalo. jednak ta biblioteka nie jest az taka straszna, jak poczatkowo wygladala (z pomoca bardzo dobrego tutoriala oczywiscie).
    Ostatnio edytowane przez ma~ : 01-13-2008 - 01:09

  6. #6
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Nie sądzisz że przydało by się podać link do tego tutka?

  7. #7

    Domyślnie

    Cytat Napisał Frubi Zobacz post
    Nie sądzisz że przydało by się podać link do tego tutka?
    naturalnie, ze tak. przepraszam ale pisanie tego programu troche mnie zajelo. dodam tylko, ze oprocz tutoriala jest tez przykladowy program.

    tutorial pcap: http://www.tcpdump.org/pcap.htm

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