Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 11

Temat: drobny problem ze snifferem

  1. #1
    ma~
    ma~ jest offline
    Zarejestrowany
    Jan 2008
    Postów
    28

    Domyślnie drobny problem ze snifferem

    witam. jako, ze ostatnio jestem w trakcie pisania prostego sniffera, mam pytanie odnosnie tego.

    otoz w zasadzie program dziala w miare dobrze, tylko jedna rzecz mnie niepokoi. w programie jest opcja zapisu pliku do formatu uzywanego przez, przykladowo tcpdump i wireshark. teraz jednoczesnie jest uruchomiany moj sniffer i wireshark. po zapisaniu kilku pakietow, przerywam dzialanie obu programow. nastepnie otwieram wygenerowany plik (przez moj sniffer) w innym oknie wiresharka i porownuje je do sobie. i teraz widze, ze zawartosc pakietow jest taka sama, lecz czasy ich przechwycenia sie nieznacznie roznia, tzn. pierwsze pakiety maja czas 0, natomiast nastepne roznia sie juz mikrosekundami. i moje pytanie wlasnie tego dotyczy. czy ktos moglby mi wytlumaczyc dlaczego tak sie dzieje? dlaczego mimo wylapania tych samych pakietow, pokazywane sa inne roznice czasowe?

    plik z programem pod Linux w zalaczniku.

    z gory wielkie dzieki.
    Załączone Pliki Załączone Pliki

  2. #2
    Zarejestrowany
    Aug 2007
    Postów
    91

    Domyślnie

    Cytat Napisał ma~ Zobacz post
    witam. jako, ze ostatnio jestem w trakcie pisania prostego sniffera, mam pytanie odnosnie tego.

    otoz w zasadzie program dziala w miare dobrze, tylko jedna rzecz mnie niepokoi. w programie jest opcja zapisu pliku do formatu uzywanego przez, przykladowo tcpdump i wireshark. teraz jednoczesnie jest uruchomiany moj sniffer i wireshark. po zapisaniu kilku pakietow, przerywam dzialanie obu programow. nastepnie otwieram wygenerowany plik (przez moj sniffer) w innym oknie wiresharka i porownuje je do sobie. i teraz widze, ze zawartosc pakietow jest taka sama, lecz czasy ich przechwycenia sie nieznacznie roznia, tzn. pierwsze pakiety maja czas 0, natomiast nastepne roznia sie juz mikrosekundami. i moje pytanie wlasnie tego dotyczy. czy ktos moglby mi wytlumaczyc dlaczego tak sie dzieje? dlaczego mimo wylapania tych samych pakietow, pokazywane sa inne roznice czasowe?

    plik z programem pod Linux w zalaczniku.

    z gory wielkie dzieki.
    nie wiem, moze polega to na tym ze oba programy zapisuja czas przechwycenia na innym etapie przetwarzania pakietu

    PS. Proponuje nikomu nie instalowac tego czegos ;-> , wkoncu szare kapelusze sa wsrod nas ;-P

  3. #3
    ma~
    ma~ jest offline
    Zarejestrowany
    Jan 2008
    Postów
    28

    Domyślnie

    Cytat Napisał tanaka Zobacz post
    nie wiem, moze polega to na tym ze oba programy zapisuja czas przechwycenia na innym etapie przetwarzania pakietu
    uruchamiajac nawet dwa tcpdumpy jednoczesnie, problem jest taki sam.
    Cytat Napisał tanaka Zobacz post
    PS. Proponuje nikomu nie instalowac tego czegos ;-> , wkoncu szare kapelusze sa wsrod nas ;-P
    wiadomo, ze sa. a tego czegos sie nie instaluje tylko uruchamia (lub kompiluje i uruchamia jesli ktos woli).

  4. #4
    Avatar Nikow
    Nikow jest offline -=[ZRP]=-
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Po prostu dwa programy na raz nie mają dostępu do tego samego pakietu, pierw program A, później program B. Czas zapisu programu A trwa kilka milisekund, skąd te różnice. Przecież nie można zapisać w dwóch zupełnie różnych miejscach w tym samym momencie, po drugie, weź pod uwagę fakt, że pcap też składa się z instrukcji, więc zanim program A wykona swoje instrukcje, po drodze będzie jeszcze menager graficzny itd aż dojdzie do programu B , to też zajmuje czas,
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  5. #5
    ma~
    ma~ jest offline
    Zarejestrowany
    Jan 2008
    Postów
    28

    Domyślnie

    Cytat Napisał Nikow Zobacz post
    Po prostu dwa programy na raz nie mają dostępu do tego samego pakietu, pierw program A, później program B. Czas zapisu programu A trwa kilka milisekund, skąd te różnice. Przecież nie można zapisać w dwóch zupełnie różnych miejscach w tym samym momencie, po drugie, weź pod uwagę fakt, że pcap też składa się z instrukcji, więc zanim program A wykona swoje instrukcje, po drodze będzie jeszcze menager graficzny itd aż dojdzie do programu B , to też zajmuje czas,
    ok. rozumiem.

    czyli wedlug Ciebie, to programy odwolujac sie do tego pakietu po kolei, generuja swoj czas odwolania do tego pakietu, anizeli do momentu kiedy jadro systemu go przechwycilo (stad te opoznienia). tak to rozumiesz?

    zaskoczylo mnie troche to, ze komputer potrzebuje "az" kilku mikrosekund zeby wykonac takie dwie operacje. jak Ci sie wydaje, moze biblioteka pcap jest tak napisana, ze zabiera "zbyt" duzo czasu? moze sa jakie alternatywne biblioteki, ktore potrafia to wykonac szybciej? znasz jakies inne?

    a teraz inna teoria.
    nie jest to tak, ze jadro systemu przychwytujac pakiet, zachowuje go (razem z czasem, w ktorych go przechwycil), a nastepnie programy kolejno odwoluja sie do niego i pobieraja potrzebne dane (lacznie z czasem).


    co o tym sadzisz?

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

    Domyślnie

    Pamietaj ze linux to system z dzieleniem czasu dostepu - masz 1 procesor i przelaczanie zadan - nie ma mozliwosci aby 2 programy dzialaly dokladnie w tym samym czasie, musi wiec byc pewna roznica. Nawet majac 2 procki nie sadze aby tak ladnie udalo Ci sie zsynchronizowac dzialanie snifferow
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  7. #7
    Avatar Nikow
    Nikow jest offline -=[ZRP]=-
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Wiesz, te wszystkie Linoxowe deamony, przeglądarka, komunikator i co tam masz jeszcze w tej chwili włączone też potrzebują czas aby wykonać swoją robotę. Niestety, masz tylko jeden, może dwa procesory, więc procesor(y) musi(/ą) poświęcić troszkę czasu dla każdego procesu. Za to odpowiada jądro, które przy okazji musi obsługiwać przerwania sprzętowe i systemowe, to też zajmuje czas. Nawet jak poruszasz myszką, jest generowane przerwanie, w którym kursor myszy musi zostać zmazany, jego nowa pozycja musi zostać znowu obliczona i namalowany. Każde naciśnięcie klawisza generuje przerwanie, każda operacja na dysku (to akurat często wywołuje przerwanie systemowe, a później sprzętowe), każdy pakiet który dotarł do sieciówki też musi zostać obsłużony. Dla przykładu, w protokole TCP każdy pakiet który był ustawiony na otwarte połączenie musi zostać zapisany gdzieś w pamięci, nie musi akurat teraz zostać odebrany przez program zajmujący dany port. Gdy jednak już program poprosi o ten pakiet, nie musi prosić o cały, więc trzeba sprytnie zarządzać tą pamięcią, to też zajmuje troszkę czasu. Pominełem jeszcze wiele innych procesów generowanych przez różne urządzenia(np czujniki temperatury, kartę graficzną, dźwiękową, porty USB).
    Zbierając to wszystko do kupy masz parę milisekund
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  8. #8
    Zarejestrowany
    Aug 2007
    Postów
    91

    Domyślnie

    Cytat Napisał ma~ Zobacz post
    uruchamiajac nawet dwa tcpdumpy jednoczesnie, problem jest taki sam.

    wiadomo, ze sa. a tego czegos sie nie instaluje tylko uruchamia (lub kompiluje i uruchamia jesli ktos woli).
    problem czasu koledzy przedstawili jasno "zasada haisenberga" (mozliwe ze popelnilem blad w nazwisku) ;-)

    co do ewentualnej zlosliwosci kodu... twoje tlumaczenie ze to kompilacja a nie instalacja.... posluchaj siebie... nadal nie proponuje nikomu tego czegos uruchamiac

  9. #9
    ma~
    ma~ jest offline
    Zarejestrowany
    Jan 2008
    Postów
    28

    Domyślnie

    ok. wielkie dzieki za odpowiedzi.

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

    Domyślnie

    Dla scislosci - zasada Heisenberga
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Strona 1 z 2 12 OstatniOstatni

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52