============================================================================
                               ettercap 0.6.3.1                  2001-12-13
============================================================================

   Even if blessed with a feeble intelligence they are cruel and smart...


      @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@ @@@@@@@
      @@        @@@     @@@   @@      @@   @@ @@      @@   @@ @@   @@
      @@@@@@    @@@     @@@   @@@@@@  @@@@@@  @@      @@@@@@@ @@@@@@
      @@        @@@     @@@   @@      @@  @@  @@      @@   @@ @@
      @@@@@@@   @@@     @@@   @@@@@@@ @@  @@@ @@@@@@@ @@   @@ @@


               Sniff'er/przechwytywacz o wielu zastosowaniach



        Wymagane biblioteki:             zadnych ;)  (opcjonalnie ncurses)

        Opcjonalne biblioteki:           OpenSSL (jesli chcesz miec
                                                  wsparcie dla SSH)

        Instalacja:                      configure
                                         make
                                         make install

                        (opcjonalnie)    make plug-ins
                                         make plug-ins_install

(jesli jestes leniwy, po prostu uruchom) make complete_install

============================================================================
                               WPROWADZENIE
============================================================================

Kiddie:   Kolega powiedzial mi, ze istnieje mozliwosc sniff'owania sieci
          lokalnej... wiec kupilem switch'a ;)

NaGoR:    mmhhh....

Kiddie:   Teraz moja siec lokalna jest ZABEZPIECZONA! Nie mozesz sniff'owac
          moich pakietow... ha ha ha

NaGoR:    Jestes pewien? Zobacz jak dziala ettercap...

Kiddie:   O moj Boze... sniff'uje caly ruch w mojej sieci!!!
          W mojej sieci lokalnej bede uzywal tylko szyfrowanych polaczen,
          wiec ettercap nie bedzie mogl ich sniff'owac! ha ha ha

NaGoR:    mmhhh....

Kiddie:   Obecnie uzywam SSH. Moja siec lokalna jest ZABEZPIECZONA!

NaGoR:    Jestes pewien? Zobacz jak dziala ettercap...

Kiddie:   Cholera!!!  grrrr...


"Bledne poczucie bezpieczenstwa jest gorsze niz brak zabezpieczen"
                                                  -- Steve Gibson

Hej ludzie... obudzcie sie! Siec NIE jest zabezpieczona!!!

ettercap dowodzi, ze nastal najwyzszy czas, by wesprzec badania protokolow
internetowych, aby uczynic je bardziej bezpiecznymi.


============================================================================
                                  LICENCJA
============================================================================

  GNU GENERAL PUBLIC LICENSE.

  zobacz COPYING aby uzyskac wiecej informacji...


============================================================================
                                  AUTORZY
============================================================================

  Alberto Ornaghi (ALoR) <alor@users.sourceforge.net>

  Marco Valleri (NaGA) <crwm@freemail.it>


============================================================================
                             SPIS TRESCI
============================================================================


  1. DISCLAIMER.................................................rozdzial  1

  2. INSTALACJA.................................................rozdzial  2

  3. JAK UZYWAC.................................................rozdzial  3

     3.1   Interfejs ncurses
     3.2   Tryb polecen

  4. ROZWIAZYWANIE PROBLEMOW (TROUBLESHOOTING).................rozdzial   4
     rozwiazania typowych problemow (PRZECZYTAJ ZANIM DO NAS NAPISZESZ)

  5. DOKUMENTACJA TECHNICZNA...................................rozdzial   5

     5.1   Lista host'ow (The Host List)
     5.2   Sniff'owanie bazujace na adresach IP (IP based sniffing)
     5.3   Sniff'owanie bazujace na adresach MAC (MAC based sniffing)
     5.4   Sniff'owanie bazujace na ARP (ARP based sniffing)
        5.4.1    Zatruwanie ARP (ARP Poisoning)
           5.4.1.1    Publiczne ARP (Public ARP)
           5.4.1.2    Sprytne Publiczne ARP (Smart Public ARP)
        5.4.2    Wstrzykiwanie znakow (Characters Injection)
        5.4.3    Aktywna analiza protokolu (dla trybu bazujacego na ARP)
                 (Active Protocol Dissection (for ARP based mode))
        5.4.4    Posrednik SSH1 (SSH1 man-in-the-middle)
        5.4.5    Filtrowanie pakietow
     5.5   Bierne przeszukiwanie sieci lokalnej (Passive Scanning of the LAN)
        5.5.1    Bierna identyfikacja systemu operacyjnego
                 (Passive OS Fingerprint)
        5.5.2    Otwarte porty
        5.5.3    Gateway'e i router'y

  6. PLUG-IN'Y...................................................rozdzial  6

  7. BEZUZYTECZNE INFORMACJE.....................................rozdzial  7


============================================================================
1>                               DISCLAIMER
============================================================================


To oprogramowanie jest dostarczane w formie "jakiej jest", bez zadnych
zawartych wyrazonych lub sugerowanych gwarancji, bez ograniczen, bez
sugerownych gwarancji handlowych oraz uwzgledniajacych jakakolwiek
szczegolne cele.


============================================================================
2>                              INSTALACJA
============================================================================

Najprostszy sposob na kompilacje ettercap'a ma postac:

   ./configure

   make

   make install

Teraz powinienes moc uruchomic ettercap (domyslna lokalizacja jest
/usr/local/bin)
Istnieje wiele przydatnych opcji dostepnych przy poleceniu configure: sprobuj
uzyc --help.

Jezeli chcialbys suid ettercap, co pozwoli innym uzytkownikom, nie tylko
root'owi, na korzystanie z programu, uzyj opcji --enable-suid przed
zastosowaniem suid na ettercap'ie, przy uzyciu polecenia chmod.  W przeciwnym
wypadku, suid zostanie odrzucone.

Jezeli masz problemy z plug-in'ami, wylacz je uzywajac opcji
--disable-plugins

Jezeli zainstalowales OpenSSL w innym katalogu (DIR), uzyj opcji
--with-openssl=DIR
Jezeli pojawia sie blad przy powiazaniu OpenSSL z ettercap'em, sprobuj
ponownie skompilowac OpenSSL uzywajac "Config shared && make && make install"
(u mnie to dziala ;) )

Jezeli nadal masz trudnosci, wysli e-mail'a do jednego z autorow
(alor@users.sourceforge.net lub crwm@freemail.it).
Witryna ettercap'a, zlokalizowana na sourceforge, takze udostepnia przydatne
informacje, najnowsze poprawki oraz uaktualnione wersje
(http://ettercap.sourceforge.net).

Informacje o bledach sa mile widziane. Prosimy, aby do informacji o bledach
podczas procesu configure/make, dolaczac pliki config.status, config.cache
and config.log, a takze diagnoze odnoszaca sie do kompilatora. Jezeli masz
problemy z programem, uzyj opcji --enable-debug przy poleceniu configure
oraz dolacz plik ettercap_debug.log wraz z krotkim opisem konfiguracji
(np. wersja kernel'a i glibc), w przypadku informowania o sigfault(???) lub
innym dziwnym zachowaniu.


============================================================================
3>                              JAK UZYWAC
============================================================================

Dostepne sa dwa glowne interfejsy - czarno-bialy tryb tekstowy oraz kolorowy
tryb znakowy bazujacy na ncurses!

3.1 INTERFEJS NCURSES

Zacznijmy od przedstawienia tego drugiego:
Jezeli ettercap zostanie uruchomiony bez zadnych opcji (zobacz opcje trybu
polecen w rozdziale 3.2) wywola interfejs ncurses (mozesz odczuc male
opoznienie w przeszukiwaniu sieci lokalnej).
Okno glowne zostalo podzielone na trzy podsekcje: gorna, srodkowa i dolna.
Gorna czesc okna zawiera diagram polaczenia, pokazujacy dwa host'y, ktore
mozesz sniff'owac lub z ktorymi mozesz sie polaczyc lub na ktorych mozesz
wykonywac operacje.
Ponizej zobaczysz liste rozpoznanych host'ow w biezacej sieci lokalnej
(korzystajacej z hub'a lub switch'a), ktore sa w Twoim zasiegu: wybierz dwa z
nich do sniff'owania.
Dwie identyczne kolumny pozwola Ci wybrac wspomniana pare: przy uzyciu
strzalek wybierz z lewej kolumny pozycje przedstawiajaca adres IP aktywnego
host'a (zaakceptuj klawiszem 'enter').
Nastepnie przejdz do prawej kolumny (uzywajac klawisza 'tab') i postepuj jak
wyzej, aby wybrac drugi adres IP.
Dokonany wybor pozwoli na odwzorowanie tras ruchu pakietow, ktore masz zamiar
sniff'owac (lub do ktorych chcesz sie podlaczyc lub ktore chcesz zatruc).
Oczywiscie, nie mozesz wybrac takiego samego zrodla i celu, jednak w zadnym
wypadku nie wybieraj swojego adresu IP).
W dolnej czesci okna znajduje sie cos w rodzaju paska statusu, podajacego Ci
dodatkowe informacje o obecnie wybranych obiektach, obecnym stanie oraz
innych wazne wskazowki.
Dostepnych jest takze sporo innych ciekawych opcji, ktore mozesz wybrac
w tym miejscu. Przede wszystkim klawisz 'p' daje dostep do plug-in'ow (ktore
sa oddzielnymi dodatkami, pisanymi niezaleznie, obejmujacymi ogromna liczbe
aplikacji, nie ujetymi w tym dokumencie: zobacz osobny plik README-PLUGIN).
Uzywajac klawisza 'c' mozesz sprawdzic, czy w sieci lokalnej znajduje sie
jakis inny "niebezpieczny" program, dzieki czemu bedziesz ostrzezony przed
mozliwoscia przechwycenia danych z sieci.
Pamietaj, ze na kazdym etapie pracy programu ZAWSZE MOZESZ UZYC KLAWISZA 'H'
ABY UZYSKAC POMOC. Pojawi sie mile okno pokazujace spis wszystkich aktualnie
dostepnych klawiszy!

Zawartosc okien pomocy bedzie na tyle zrozumiala, ze nie ma potrzeby czytac
tego rozdzialu, ale na wszelki wypadek...
Zauwazysz, ze gorna czesc okna bedzie aktualizowana w czasie wybierania
zrodlowego i docelowego adresu IP. Pokaze takze status biezacego dzialania
jesli bedziesz z kims polaczony lub bedziesz kogos sniff'owal (po nacisnieciu
odpowiednio klawiszy 'a' i 's' lub 'm').
Sniff'owanie bazujace na adresach IP (IP based sniffing) filtruje polaczenia,
zagladajac do naglowkow IP, w celu dopasowania adresow IP. Jest to
"klasyczny" sposob sniff'owania, wykonywany przez wiekszosc programow.
Sniff'owanie bazujace na adresach MAC (MAC based sniffing) filtruje
polaczenia, zagladajac do naglowkow ETH, w celu dopasowania adresow MAC. Jest
to uzyteczne, gdy chcesz sniff'owac polaczenia wychadzace z lokalnego host'a
oraz z oddalonego host'a (remote host) poprzez lokalnego gateway'a (po prostu
wybierz Twojego host'a jako zrodlo i lokalnego gateway'a jako komputer
docelowy).
Wreszcie, jest takze opcja polaczenia, ktora pozwala Twojemu host'owi, jesli
jest wpiety do sieci lokalnej wyposazonej w switch'a, na zatruwanie ARP
CACHE. Daje Ci to mozliwosc sniff'owania ruchu w Twojej sieci lokalnej, tak
jakbys byl w sieci wyposazonej tylko w hub'a.
Uzywajac tej opcji mozesz wybrac jeden lub dwa host'y. Jezeli wybierzesz
tylko jednego host'a, przejdziesz do trybu Publicznego ARP (Public ARP Mode)
i przejmiesz wybrany adres IP zastepujac go Twoim.
Jezeli wybierzesz dwa host'y, przejdziesz do trybu bazujacego na ARP (ARP
Based Mode), ktory pozwoli Ci podgladac/odbierac caly dwukierunkowy ruch
pomiedzy tymi dwoma host'ami.

LISTA POLACZEN (CONNECTIONS LIST):

Zawsze, gdy jestes na drugim poziomie: srodkowe okno wyswietli liste
wysztkich aktywnych polaczen pomiedzy dwoma zrodlowymi adresami IP.
Wszystkie otwarte pozniej polaczenia takze zostana pokazane i bedziesz mogl
je wybrac tak jak zwykle, co pozwoli Ci na przejscie do trzeciego poziomu:
wlasciwego sniff'owania!
W miedzyczasie mozesz przygladac sie stanom polaczen (aktywne, zamkniete,
itd.) i widziec jaki rodzaj ruchu/port jest wykorzystywany (ftp, ssh, web,
itd.).
Mozliwe jest takze zakonczenie (kill) aktywnego polaczenia dowolnego typu.
Jezeli protokol aplikacji jest wspierany przez ettercap'a, mozesz w dolnej
czesci okna, zobaczyc uzyteczne informacje na temat podswietlonego
polaczenia, takie jak: USER i PASSWORD uzyte do interaktywnej sesji (ta
informacja moze zostac zapisana do pliku, po wcisnieciu klawisza 'l').
Jezeli uzyles trybu bazujacego na ARP, mozesz dodatkowo wlaczyc AKTYWNA
ANALIZE PROTOKOLU, ktora pozwoli Ci podgladac niektore szyfrowane protokoly,
np. SSH.

FABRYKA PAKIETOW:

Uzywajac klawisza 'x' mozesz stworzyc wlasny pakiet, poczawszy od warstwy
Ethernet az do poziomu aplikacji. Pola formularza Fabryki Pakietow sa
domyslnie wypelnione wartosciami, odnoszacymi sie do aktualnie
podswietlonych polaczen. Wlasny pakiet mozesz takze stworzyc majac aktywna
liste host'ow (pierwszy interfejs). Jednak gdy sie w niej znajdziesz i nie
wskazesz docelowego host'a, pola formularza nie zostana automatycznie
wypelnione. Wszystkie pola moga byc przez Ciebie dowolnie modyfikowane.
Dodatkowo, dla protokolow ktore nie sa wspierane, istnieje mozliwosc
budowania surowych (raw) naglowkow z ciagow szestnastkowych.

przyklad: zalozmy, ze chcemy sfalszowac pakiet RIP
          wypelniamy formularz, az do naglowka UDP (port 520), a do
          przestrzeni danych (payload) wpisujemy:
          "\x01\x02\x00\x00\xFF\xFF\x00\x02here the pass"
          zbudowalismy naglowek RIP z sekwencji szesnastkowych...

SNIFF'OWANIE:

Zalozmy, ze wybrales aktywne polaczenie: pojawily sie dwa podokna w oknie
glownym. Pokazuja one pakiety zrodlowe, ktore przechodza przez Twoj komputer
zanim dotra do docelowych host'ow, ktore nawet nie zauwazaja, ze sniff'ujesz
ruch w sieci! Dostepne sa rozne opcje wizualizacji, rodzaj strumienia moze
byc: szestnastkowy (klawisz 'x'), ASCII (klawisz 'a') lub tylko tekstowy
(klawisz 't'), ktory pozbawia nieczytelnych znakow (uzyteczny z protokolami
Unicode).
Niektore dekodery wymagaja aby AKTYWNA ANALIZA PROTOKOLU (ACTIVE PROTOCOL
DISSECTION) byla WLACZONA.

Mozesz takze okreslic zawieszenie strumienia danych (powstrzymuje tylko ich
wizualizacje, w rzeczywistosci dane sa przesylane w tle), cos w rodzaju
blokady przewijania (klawisz 's'), w celu lepszej analizy danych.

Wreszcie, jest takze bardzo fajna funkcja: WSTRZYKIWANIE (INJECT).

Uzywajac klawisza 'i', mozesz wprowadzac rozne znaki do ruchu w sieci,
wybierajac kierunek i bedac w stanie dodawac polecenia do strumienia. Mozesz
np. sniff'owac sesje Telnet'u i jednoczesnie przesylac polecenia (do
komputera, z ktorym jestes polaczony), takie jak 'ls' lub jakiekolwiek
chcesz. Wydane polecenia beda wywolywaly identyczny skutek jak te pochodzace
ze zrodlowego komputera! W ten sam sposob mozesz, na zrodlowym komputerze,
generowac falszywe dane wyjsciowe (output), ktore nie beda odpowiadac
prawdziwym danym wyjsciowym.

UWAGA: wstrzykiwacz wspiera sekwencje wyjsciowe (escape sequences). Mozesz
       wykonywac wprowadzanie wieloliniowe.

UWAGA: pamietaj o zakonczeniu swojego wprowadzania z uzyciem \r\n jesli
       chcesz wprowadzic polecenie do serwera.

Na koniec, co nie znaczy ze jest to najmniej istotne, FILTROWANIE PAKIETOW:

Wcisniecie klawisza 'f' spowoduje pojawienie sie formularza, umozliwiajacego
ustawienie filtra.
Zwroc uwage na aktywne okno, poniewaz filtr zrodlowy i miejsca przeznaczenia
roznia sie od siebie.
Mozesz ustawic filtr, tak aby szukal konkretnych ciagow (nawet
szestnastkowych) w przestrzeni danych pakietow TCP lub UDP oraz zastepowal je
Twoimi lub zrzucal caly pakiet.

Komendy dostepne w formularzu filtrowania:

 F10 lub ESC -- wyjscie z formularza
 ^N          -- idz do nastepnego pola     ^P    -- idz do poprzedniego pola
 Home        -- idz do pierwszego pola     End   -- idz do ostatniego pola
 ^L          -- idz do pola po lewej       ^R    -- idz do pola po prawej
 ^U          -- idz do pola powyzej        ^D    -- idz do pola ponizej
 ^W          -- idz do nastepnego pola     ^B    -- idz do poprzedniego slowa
 ^S          -- idz na poczatek pola       ^E    -- idz na koniec pola
 ^H          -- usun poprzedni znak        ^Y    -- usun linie
 ^G          -- usun biezaca slowo         ^C    -- wyczysc do konca linii
 ^K          -- wyczysc do konca pola      ^X    -- wyczysc pole
 ^] lub Ins  -- przelacza tryb wprowadzania

Szczegolowe omowienie "jak filtrowac polaczenia" znajdziesz w rozdziale 5.4.5

LOGOWANIE:

Dostepna jest takze opcja zapisujaca te wszystkie wspaniale strumienie danych
do pliku, wystarczy ze wcisniesz klawisz 'l', a nastepnie przeczytasz
lub spokojnie przepuscisz przez zautomatyzowany skrypt filtrujacy.
Mozesz takze ustawic filtr z regula "LOG", a wtedy tylko pakiety spelniajace
kryteria beda zapisywane do pliku.

Zauwazysz, ze korzystanie z narzedzi w trybie wizualnym bedzie prostsze,
gdy bedziesz probowal ich uzywac w trakcie pracy, niz czytanie tej
instrukcji... Opcja pomocy takze jest zrodlem, na ktore mozesz liczyc w
czasie uzywania programu (po prostu wcisnij kawisz 'h').

3.2 TRYB POLECEN

Dostepne sa dwa klasyczne polecenia wyswietlajace pomoc.
Uruchomienie ettercap'a z opcja --help oraz przywolanie naszego podrecznika
(man ettercap ;).

UWAGA: niektore funkcje sa dostepne tylko w interfejsie wizualnym:
       - Fabryka Pakietow
       - Wstrzykiwanie

Uruchamianie programu bez trybu interaktywnego (uzywajac opcji -N), takze
umozliwia dostep do sporej ilosci funkcji, ktore sa zwiazane z trybem
interaktywnym: mozesz aktywowac mala linie pomocy oraz zmiane trybu
wizualizacji w locie (na przyklad pomiedzy trybem szestnastkowym i ASCII).
W ten sam sposob, z trybu polecen, mozna wywolac sporo opcji i zobaczyc je, w
trybie interaktywnym, gdy sa juz wywolane i dzialajace.

Istnieje takze mozliwosc uzywania skroconych polecen, poprzez wskazanie
jednego lub wiecej host'ow do sniff'owania (jednego lub zadnego host'a jezeli
jestes w trybie niemym (silent mode)) i wybranie opcji -z (podobnie jak w
programie sniffit, ktory sniff'uje z dowolnego miejsca).

Przyklad:

 ettercap -Nsz  (sniff'uje dane z kazdego IP)

 ettercap -NCsz  (zbiera tylko nazwy uzytkownikow i hasla z kazdego IP)

 ettercap -NCsz ghibli meltemi (zbiera tylko od "ghibli" do "meltemi")

UWAGA: jezeli uruchomiles program w trybie interaktywnym (bez opcji -N)
       i powrociles do pierwszego interfejsu uzywajac klawisza 'q'
       konieczne bedzie nacisniecie klawisza 'r' po to, aby odswiezyc liste
       adresow IP host'ow, poniewaz na poczatku nie zostala wygenerowana
       zadna lista host'ow (z racji uzycia opcji -z).

      przyklad: ettercap -zs ghibli meltemi
            lub ettercap -zm 00:A0:24:4C:00:F9 00:A0:24:36:00:C2

OK, to wszystko...

Baw sie dobrze i oczekuj nastepnych wersji, w tym dajacej sobie rade z SSH,
ktora pozwoli Ci robic kawaly znajomym, szczegolnie tym ktorzy wierza, ze SSH
jest absolutnie niesniff'owalna i kryptograficznie nielamalna rzecza, a takze
tym, ktorzy do tej pory wierza, ze switch'e spelniaja swoja role! :)


============================================================================
4>                        ROZWIAZYWANIE PROBLEMOW
============================================================================

Jest naprawde wiele rzeczy, ktore moga Ci sie przydazyc po instalacji tego
programu. Nie win nas, gdy zdaza Ci sie jakies dziwne wypadki lub spedzisz
wiele godzin probujac go skompilowac, itd. Dopoki nie dojdziemy do *bardzo*
stabilnej wersji, nie znajdziesz tu rozdzialu poswieconego rozwiazywaniu
problemow, ktory bylby za duzy i niemozliwy do spisania oraz wymagal
niezbednych roznorodnych betatestow.
Robimy jednak, co w naszej mocy, probujac kompilowac program na wielu roznych
komputerach, tworzac tak duzo wersji jak to tylko mozliwe oraz staramy sie
wszystko dopracowac. Jak dotad, najwazniejsza sprawa bylo napisanie
programu zawierajacego podstawowe pomysly i zobaczenie jak to dziala. Gdy
ukonczymy glowny szkielet, zajmiemy sie doskonaleniem i dopracowywaniem.

Najlepsza rzecza, jesli potrzebujesz wsparcia lub pomocy przy kompilacji,
jest CZYTANIE FORUM NA INTERNETOWEJ STRONIE ETTERCAP'A. Mozesz tam znalezc
rozwiazania wielu typowych problemow.

W pozniejszym czasie, umiescimy w tym rozdziale cos w rodzaju FAQ,
wyszczegolnimy rozwiazane problemy oraz liste rzeczy do zrobienia.

WERSJA RPM:

Chielibysmy wiedziec czy doswiadczasz jakichs problemow, gdy instalujesz
binarna wersje ettercap'a z RPM, w tym ncurses, ktore latwo moga zostac zle
wykryte. Gdy tak sie stanie, sprobuj po prostu dodac opcje --nodeps do linii
z RPM.

KOMPILOWANIE Z OPENSSL:

ettercap wymaga wspoldzielonej wersji OpenSSL, wiec jesli doswiadczasz
problemu powiazania jej z ettercap'em, sprobuj ponownie skompilowac OpenSSL
uzywajac:

"config shared && make && make install"

nastepnie wyedytuj /etc/ld.so.conf dodajac sciezke, gdzie zostala
zainstalowana, a nastepnie uruchom "ldconfig".

ZBYT POWOLNE URUCHAMIANIE PROGRAMU:

Jezeli informacja "Building host list for netmask 255.255.255.0, please
wait..." jest wyswietlana dluzej niz 5-10 sekund, prawdopodobnie Twoj
gethostbyaddr() zbyt wolno znajduje nazwy domen, sprobuj zatem uruchomic
program z opcja -d. Opcja ta powstrzymuje odnajdywanie nazw przypisanych
adresom IP.


============================================================================
5>                          DOKUMENTACJA TECHNICZNA
============================================================================


5.1   LISTA HOST'OW (THE HOST LIST)

Podczas uruchamiania ettercap tworzy liste host'ow znajdujacych sie w sieci
lokalnej. Wyslajac zapytania ARP (ARP REQUEST) dla kazdego IP w sieci
lokalnej (zwracajac uwage na biezace IP oraz maske sieci), mozna otrzymac
odpowiedzi ARP (ARP REPLIES), a nastepnie stworzyc liste host'ow, ktore
odpowiadaja w sieci lokalnej. Uzycie tej metody powoduje, ze nawet
windows'owe host'y odpowidaja na wezwanie-do-odpowiedzi (call-for-reply),
chociaz nie odpowiadaja na ping-rozgloszeniowy (broadcast-ping).
Badz bardzo ostrozny jesli maska sieci jest z klasy B (255.255.0.0), poniewaz
ettercap wysle 255*255 = 65025 zapytan ARP, a trwa to ponad minute!!!
(domyslne opoznienie pomiedzy wyslaniem dwoch zapytan wynosi 1 milisekunde).


5.2   SNIFF'OWANIE BAZUJACE NA ADRESACH IP (IP BASED SNIFFING)

Jest to "klasyczny" tryb sniff'owania.
Przestawia interfejs sieciowy w tryb promiscuous, a nastepnie sniff'uje
wszystkie pakiety, ktore odpowiadaja filtrowi adresow IP (IP Filter).
Jezeli uzywasz interfejsu ncurses, filtr adresow IP (IP Filter) sklada sie z:
zrodlowego IP (IP Source), zrodlowego portu (Port Source), IP miejsca
przeznaczenia (IP Dest.), portu miejsca przeznaczenia (Port Dest.), w obydwu
kierunkach polaczenia.
Zamiast uzywac wiersza polecen, mozesz stworzyc wlasny filtr adresow IP
(IP Filter).
Mozesz okreslic tylko adres zrodlowy, tylko adres miejsca przeznaczenia lub
oba jednoczesnie. Kazdy z lub bez przypisanego portu.

  Przyklady:

    ettercap -N -s ghibli
    ettercap -N -s ghibli:23

 pierwszy sniff'uje wszystkie polaczenia do host'a "ghibli"
 drugi tylko te, ktore korzystaja z portu 23

    ettercap -N -s ghibli meltemi
    ettercap -N -s ghibli:23  meltemi
    ettercap -N -s ANY:23

 pierwszy sniff'uje wszystkie polaczenia pomiedzy "ghibli" i "meltemi"
 drugi tylko te, ktore sa na ghibli:23 przychodzace z "meltemi"
 trzeci KAZDEGO host'a, ale tylko na porcie 23 (Telnet)


5.3   SNIFF'OWANIE BAZUJACE NA ADRESACH MAC (MAC BASED SNIFFING)

Przestawia interfejs sieciowy w tryb promiscuous, a nastepnie sniff'uje
wszystkie pakiety, ktore odpowiadaja filtrowi adresow MAC (MAC Filter).
Filtr adresow MAC (MAC Filter) kojarzy i podaje adresy IP dwoch host'ow.
ettercap przeszuka liste hostow i skojarzy wlasciwe adresy MAC z filtrem.
W ten sposob, okreslajac adres IP gateway'a oraz adres IP hosta, otrzymasz
wszystkie polaczenia odbywajace sie pomiedzy host'em i Internetem.

  Przyklady:

  zakladajac, ze "meltemi" jest wejsciem do Internetu (gateway'em)

    ettercap -N -m ghibli meltemi

  pokaze wszystkie polaczenia, ktore "ghibli" nawiazuje z oddalonym host'ami
  (remote hosts).


5.4   SNIFF'OWANIE BAZUJACE NA ARP (ARP BASED SNIFFING)

Metoda ta nie przestawia interfejsu sieciowego w tryb promiscuous. Nie jest
to konieczne, poniewaz pakiety beda przesylane do nas! :) Switch bedzie
przesylal pakiety do nas, tak wiec mamy dobry sposob na sniff'owanie w sieci
lokalnej wyposazonej w switch'e.
Spojrzmy jak to jest mozliwe:
Gdy wybierzesz ten typ sniff'owania, ettercap zatruje ARP CACHE dwoch
host'ow, identyfikaujac siebie samego jako innego odpowiedniego host'a
(zobacz nastepny podrozdzial).
Gdy ARP CACHES sa juz zatrute, dwa host'y rozpoczynaja polaczenie. Jednak ich
pakiety beda wysylane do nas, my jest zarejestrujemy, a nastepnie przeslemy
je do wlasciwego odbiorcy polaczenia. Zatem, polaczenie jest przezroczyste
dla ofiar, ktore nawet nie wiedza, ze sa sniff'owane. Jedynym sposobem na
odkrycie, ze ktos posredniczy (man-in-the-middle) w Twoim polaczeniu, jest
obserwowanie ARP CACHE i sprawdzanie czy nie ma dwoch host'ow z tym samym
adresem MAC!

Oto sposob jak odkryc, czy w naszej sieci lokalnej sa jacys inni zatruwacze
ARP CACHE. Dzieki temu bedziemy wiedziec, ze nasz ruch w sieci jest pod
czyjas kontrola! :)

    HOST 1  - - - - - - - - - - - - - - - - - - - -> HOST 2
  (zatruty)                                        (zatruty)
      |                                               ^
      |                                               |
       ------------> HOST ATAKUJACY ------------------
                      ( ettercap )

Legenda:
            - - - ->   polaczenie logiczne
            ------->   polaczenie rzeczywiste

OK, fajnie! Ale, jak moge zatruc ARP CACHE?


5.4.1    ZATRUWANIE ARP (ARP POISONING)

Protokol ARP jest w zasadzie niezabezpieczony. Aby ograniczyc ruch w sieci,
wprowadza wpisy do ARP CACHE, nawet wtedy, gdy nie bylo takiej potrzeby.
Innymi slowy, KAZDA odpowiedz ARP (ARP REPLY), ktora trafi do kabla, bedzie
umieszczona w tablicy ARP (ARP TABLE).
Tak wiec, mozemy skorzystac z tej "cechy", wysylajac falszywe odpowiedzi ARP
do dwoch host'ow, ktore bedziemy sniff'owac. W tych odpowiedziach ARP,
poinformujemy ze adres MAC drugiego host'a jest tym, wpisanym na sztywno,
w NASZEJ karcie ethernet'owej. Od tego momentu, pierwszy host bedzie wysylal
do nas te pakiety, ktore powinny wedrowac do drugiego host'a, poniewaz host
ten ma, w swoim ARP CACHE, wpisany nasz podstawiony adres MAC.
Tak samo wyglada to dla drugiego host'a, tyle ze w odwrotny sposob. Tak
wiec mamy idealnego posrednika (man-in-the-middle) w polaczeniu pomiedzy
dwoma hostami, legalnie otrzymujac ich pakiety!

  Przyklad:

    HOST 1:  mac: 01:01:01:01:01:01         HOST ATAKUJACY:
              ip: 192.168.0.1               mac: 03:03:03:03:03:03
                                             ip: 192.168.0.3

    HOST 2:  mac: 02:02:02:02:02:02
              ip: 192.168.0.2


  wysylamy odpowiedzi ARP do:

           HOST'a 1, mowiace, ze 192.168.0.2 jest pod adresem 03:03:03:03:03:03
           HOST'a 2, mowiace, ze 192.168.0.1 jest pod adresem 03:03:03:03:03:03

  teraz hosty sa zatrute!!! beda wysylac swoje pakiety do nas!
  Nastepnie, jesli otrzymamy pakiety od:

           HOST'a 1, przeslemy je do 02:02:02:02:02:02
           HOST'a 2, przeslemy je do 01:01:01:01:01:01

  proste, nieprawdaz?

*** ZAGADNIENIE LINUX KERNEL 2.4.x ***

W najnowszej wersji linux'owego kernel'a mozemy znalezc:
/usr/src/linux/net/ipv4/arp.c

/* Niezaczepne pakiety ARP (Unsolicited ARP) domyslnie nie sa akceptowane
   Istnieje mozliwosc, ze ta opcja powinna byc aktywna dla niektorych
   urzadzen (przykladem jest strip)
*/

Wspolczesne kernel'e uzywaja specjalengo systemu sasiedztwa aby zapobiegac
niezaczepnym odpowiedziom ARP (unsolicited ARP replies), ktore ettercap
wysyla do swojej ofiary.
Cholera, zatem ettercap jest bezuzyteczny z tym kernel'em?
Odpowiedz brzmi NIE!
Spojrzmy dlaczego... w tym samym kodzie zrodlowym mozemy znalezc:

/*
*  Poczatek procesu. Idea jest taka, ze chcemy wyslac odpowiedz, jezeli
*  otrzymalismy zapytanie (request) lub zapytanie (request) zostalo
*  skierowane do kogos innego, kogo mamy umieszczonego w proxy.
*  Chcemy dodac wpis w naszym cache'u, jezeli odpowiedz byla skierowana do
*  nas lub zapytanie (request) dotyczy naszego adresu.
*  (Zalozenie dla ostatniego punktu jest takie, ze jezeli ktos inny wysle
*  zapytanie (request) dotyczace naszego adresu, prawdopodobnie zamierza
*  nawiazac z nami polaczenie. Zatem, umieszczenie jego adresu w naszym
*  cache'u, pozwoli zaoszczedzic czas. Adres tej osoby prawdopodobnie nie
*  znajduje sie w naszym cache'u, poniewaz nasz adres nie znajduje sie w jej
*  cache'u.).
*
*  Innymi slowy, interesuja nas tylko te odpowiedzi, ktore sa skierowane do
*  nas, ktore w tym przypadku dodajemy do naszego cache'a. Na interesuje
*  nas zapytania (requests) skierowane do nas oraz te skierowane do naszych
*  proxy, wysylamy odpowiedzi. W przypadku zapytan (requests) skierowanych
*  do nas, dodajemy do ARP CACHE'a adres komputera, ktory wyslal to
*  zapytanie.
*/

Tak wiec, jezeli kernel otrzyma zapytanie, umiesci host'a w cache'u...
Co to oznacza? Jezeli ettercap wysle podstawione ZAPYTANIE (REQUEST) zamiast
ODPOWIEDZI, to kernel umiesci je w cache'u? Odpowiedz brzmia TAK!!!

ettercap 0.6.0 i wersje pozniejsze sa juz wyposazone w nowa metode ZATRUWANIA
ZAPYTAN ARP (ARP REQUEST POISONING). ettercap przestawi zapytania i
odpowiedzi podczas zatruwania linux'a, poniewaz inne systemy operacyjne nie
maja takiej "cechy"...


*** ZAGADNIENIE SOLARIS'A ***

Solaris nie umiesci odpowiedzi w cache'u, jezeli odpowiedz juz sie w nim nie
znajduje. Sztuczka jest prosta. Zanim zatrujemy host'a z Solarise'em,
ettercap wysle do niego podstawione (spoofed) ICMP ECHO_REQUEST, na ktore
host musi odpowiedziec. Dzieki temu, host z Solaris'em stworzy w ARP CACHE'u
wpis dla podstawionego host'a (spoofed host). Od tej chwili mozemy rozpoczac
normalne zatruwanie, poniewaz wpis znajduje sie juz w cache'u...


5.4.1.1    PUBLICZNE ARP (PUBLIC ARP)

Aby moc z jednego docelowego host'a, sniff'owac inne hosty w sieci lokalnej
wyposazonej w switch'a, musisz uzyc trybu Publicznego ARP (PUBLIC ARP).
Przy wykorzystaniu tej metody, ettercap wysyla rozgloszeniowe odpowiedzi ARP
(broadcast ARP replies) z adresem IP ofiary i wlasnym adresem MAC (zatruwa
ARP CACHE).
Wszystkie host'y otrzymuja te odpowiedz i dodaja ja do cache'a, dzieki czemu
wszystkie pakiety kierowane do ofiary, host'y beda wysylac do ettercap'a.
Jednak jest pewien problem. Otoz, host ofiary takze otrzyma te odpowiedz
i zauwazy konflikt adresow IP (czego doswiadczylismy pod Windows 2000). Aby
rozwiazac ten problem, powstala metoda Sprytnego Publicznego ARP (SMART
PUBLIC ARP).


5.4.1.2    SPRYTNE PUBLICZNE ARP (SMART PUBLIC ARP)

Przy wykorzystaniu tej metody, odpowiedzi wysylane sa selektywnie do
wszystkich host'ow oprocz ofiary. W ten sposob nie ma konfliktu adresow IP.

UWAGA: Zatrute beda tylko te host'y, ktore beda umieszczone na liscie, zatem
jesli nie chcesz zatruc host'a, mozesz go usunac z listy naciskajac klawisz
'd'.

UWAGA: Aby zastosowac SMART PUBLIC ARP, ettercap potrzebuje znac liste
host'ow. Zatem, lepiej zebys nie uzywal poczatkowego ogolnego ping'a (the
broadping startup) opcja (-b). Jednakze, niemozliwe jest zastosowanie metody
SMART PUBLIC ARP bez listy w trybie niemym (silent mode) opcja (-z).
ettercap automatycznie, w sposob inteligentny, wybierze odpowiednia opcje:
jesli ma liste host'ow - uzyje metody SMART PUBLIC ARP, jezeli nie ma listy
host'ow uzyje metody PUBLIC ARP.

UWAGA: Przy wykorzystaniu tej metody, do sieci lokalnej, wysylanych jest
wiecej odpowiedzi...


5.4.2    WSTRZYKIWANIE ZNAKOW (CHARACTERS INJECTION)

Jak juz wiemy, pakiety sa nasze... i nie zostana odebrane przez komputer
docelowy, do czasu az mu ich nie przeslemy.
Ale co sie stanie, jezeli dokonamy w nich zmian?
Oczywiscie, dotra do adresata z dokonanymi przez nas modyfikacjami.
Mozemy modyfikowac, dodawac oraz usuwac zawartosc tych pakietow, po prostu
ponownie obliczajac sume kontrolna i podmieniajac je w ruchu odbywajacym sie
w sieci.
Mozemy nawet wiecej: mozemy wstawiac pakiety do polaczenia.
Mozemy falszowac nasze pakiety stosujac wlasciwe sekwencje i potwierdzona
numeracje, a nastepnie wyslac jest do pozadanego host'a. Gdy nastepny pakiet
bedzie przechodzil przez nasze rece, po prostu odejmiemy lub dodamy numer
sekwencji z danymi, ktore wstrzyknelismy do czasu az polaczenie jest aktywne,
zapobiegajac odrzucenia polaczenia (polaczenie bedzie aktywne do momentu, az
wylaczymy ettercap'a, ktory dba o to, aby numery sekwencji byly wlasciwe. Po
wylaczeniu programu, polaczenie musi zostac ZRESETOWANE, poniewaz caly
przyszly ruch bylby odrzucany, blokujac dostep do sieci komputerowi
zrodlowemu).

UWAGA: Wstrzykiwacz wspiera sekwencje wyjsciowe (escape sequences). Mozesz
       wykonywac wprowadzanie wieloliniowe,
       np.: "to jest w pierwszej linii \n to jest w drugiej linii \n itd..."
       np.: "to jest w trybie szestnastkowym: \x65\x6c\x6c\x65"
       np.: "to jest w trybie osemkowym: \101\108\108\101"

UWAGA: pamietaj o zakonczeniu swojego wprowadzania z uzyciem \r\n jesli
       chcesz wprowadzic polecenie do serwera.


5.4.3 AKTYWNA ANALIZA PROTOKOLU (DLA TRYBU BAZUJACEGO NA ARP)
      (ACTIVE PROTOCOL DISSECTION (for ARP BASED mode))

Aby ogladac silnie szyfrowane strumienie danych, musisz po prostu poswiecic
im uwage. Na przyklad musisz zmienic pakiet klucza (z techniki posrednika -
man-in-the-middle).
W szczegolnych przypadkach, bedzie to skutkowalo brakiem/defektem protokolu,
tak wiec badz ostrozny korzystajac z tej funkcji.
Wykorzystywana metoda zmienia sie zaleznie od protokolu i jest znacznie
trudniejsza do wyjasnienia niz do zaprogramowania/stworzenia.
Przepraszamy, ale jezeli rzeczywiscie chcesz wiedziec jak to dziala, musisz
przeanalizowac kod zrodlowy.


5.4.4 POSREDNIK SSH1 (SSH1 MAN-IN-THE-MIDDLE)

Gdy rozpocznie sie polaczenie (pamietaj, ze jestesmy wladcami pakietow,
poniewaz wszystkie przechodza przez ettercap'a) zastepujemy publiczny klucz
serwera innym generowanym w locie i zachowujemy go w spisie, abysmy pozniej
pamietali, ze serwer zostal juz wczesniej zatruty,
Klient wysyla pakiet zawierajacy klucz sesji zaszyfrowany naszym kluczem,
dzieki czemu jestesmy w stanie go odszyfrowac i sniff'owac rzeczywisty klucz
sesji - 3DES.
Teraz szyfrujemy pakiet wlasciwym kluczem publicznym serwera i przesylamy go
do demona SSH.
Polaczenie jest ustanawiane normalnie, jednak my mamy klucz sesji!!!
Od tej pory mozemy odszyfrowywac caly ruch i obserwowac strumien danych!
Poloczenie pozostanie aktywne, nawet gdy wyjdziemy z ettercap'a, poniewaz
ettercap nie pelni roli proxy (jak to czyni dsniff). Od momentu wymiany
kluczy, ettercap jest tylko obserwatorem... ;)


5.4.5 FILTROWANIE PAKIETOW

Podobnie jak przy wstrzykiwaniu znakow, mozemy modyfikowac przestrzen
danych (payload) pakietow oraz zastepowac wlasciwe sekwencje i numery
potwierdzenia, gdy bedzie to potrzebne.
Dzieki zintegrowanemu mechanizmowi filtrowania, mozesz zaprogramowac wlasna
serie filtrow, najlepiej odpowiadajaca Twoim potrzebom.
Seria filtrow jest prostym zestawieniem filtrow, ktore mozna zobaczyc jako
lista rozkazow jakiegos urzadzenia. Punktem wejsciowym programu jest
filtr 0 (zero). Mozesz okreslic skok, jesli filtr jest prawdziwy (true) oraz
inny skok, gdy filtr jest falszywy (false). Filtr uwaza sie za prawdziwy,
jesli <protokol, port zrodlowy, port docelowy, przestrzen danych (payload)>
jest (w logice AND) jednakowy z filtrem.
Poszukiwany ciag NULL jest zawsze uwazany za prawdziwy (true). (NULL = 0 dla
portow).
Jezeli filtr jest wlasciwy, to wykona zadanie (Log, Replace lub Drop) oraz
oszacuje odpowiedni skok do wykonania. Zatem, "wskaznik instrukcji" zmieni
sie na to gdzie filtr wykonal skok. Gdy wartosc skoku jest pusta, rozwazany
lancuch filtra jest zakanczany, a pakiet jest przesylany do docelowego hosta.
Tak wiec, mozesz ustawic filtr tak, aby szukal poszczegolnych ciagow (nawet
szestnastkowych) w przestrzeni danych (payload) TCP lub UDP i zastepowal je
Twoimi lub zrzucal caly pakiet. Mozesz uzywac znakow globalnych (wildcard) w
szukanym ciagu, stosujac specjalna notacje [n*], gdzie n jest odpowiednia
liczba znakow, np.:

  przypuszczalny potok danych ma nastepujaca postac:

     pakiet 1:   "var1=123&var2=400"
     pakiet 2:   "var1=124&var2=420"
     pakiet 3:   "var1=125&var2=460"
     pakiet 4:   "var1=126&var2=540"
     pakiet 5:   "var1=127&var2=700"
     ...
     ...

  chcemy przypisac wartosc do var1 nie zwazajac na obecna wartosc,
  wiec ustawiamy filtr w nastepujacy sposob:

        Szukaj:  "var1=[3*]"
        Zastap:  "var1=000"

  ten filtr przedstawi takie dane wyjsciowe:

     pakiet 1:   "var1=000&var2=400"
     pakiet 2:   "var1=000&var2=420"
     pakiet 3:   "var1=000&var2=460"
     pakiet 4:   "var1=000&var2=540"
     pakiet 5:   "var1=000&var2=700"
     ...
     ...

  i kiedykolwiek przestrzen danych (payload) zawiera "var1=" zadanie
  zmieni ja na "var1=000"

UWAGA: znaki globalne (wildcard) mozesz ustawic tylko na koncu szukanego
       ciagu!!!, np.:

        "var1=[5*]"             OK
        "[4*]=123"              NIE DOZWOLONE
        "var1=[3*]&pippo"       ZOSTANIE PRZETLUMACZONE NA "var1=[3*]"
        "var1=[3*]&var2=[3*]"   NIE DOZWOLONE
                                aby stworzyc wiele filtrow, ustaw pierwszy
                                filtr tak, aby zastepowal var1 i przeskiwal
                                do drugiego filtra, ktory tworzy ustawienie
                                np.:  0 | var1=[3*] R var1=000  | => 1
                                      1 | var2=[3*] R var2=111


Mozesz szukac i zastepowac nawet unikalne ciagi "\x72\x6f\x6f\x74".

UWAGA: formularz automatycznie wycina puste miejsca w ciagach, wiec jesli
       chcesz szukac "ettercap ", musisz ustawic filtr na "ettercap\x20".
       "\x20" bedzie rozumiane jako " ".
       A jesli chcesz szukac magicznego slowa "[*]" musisz je opuscic.


5.5 BIERNE PRZESZUKIWANIE SIECI LOKALNEJ (PASSIVE SCANNING OF THE LAN)

Funkcja ta jest bardzo uzyteczna, jesli chcesz poznac topologie sieci
lokalnej, ale nie chcesz wysylac do niej zadnych pakietow. Przy tej funkcji,
calkowite przeszukiwanie sieci odbywa sie poprzez sniff'owanie pakietow i
wyciaganie z nich uzytecznych informacji.
Takie przeszukiwanie pozwoli Ci poznac host'y znajdujace sie w sieci lokalnej
(obserwuje zapytania ARP), systemy operacyjne host'ow (korzysta z biernej
identyfikacji systemu operacyjnego... zobacz kolejny rozdzial), otwarte porty
host'ow (poszukuje pakietow SYN+ACK), gateway'e, router'y lub host'y pelniace
obowiazki router'ow (obserwuje przesylki ICMP).

Bierne przeszukiwanie jest bezuzyteczne w sieciach lokalnych wyposazonych w
switch'e (poniewaz moze odwzorowac topologie tylko host'a, ktory jest z Toba
polaczony), jednak jesli nastawisz je na gateway'a i pozwolisz pracowac przez
wiele godzin lub dni, stworzy pelny raport o host'ach znajdujacych sie w
sieci lokalnej.


5.5.1 BIERNA IDENTYFIKACJA SYSTEMU OPERACYJNEGO (PASSIVE OS FINGERPRINT)

Glowna idea jest analizowanie biernej informacji przychodzacej od host'a,
w czasie gdy nawiazuje lub odbiera polaczenie z innych host'em. Taka
informacja jest wystarczajaca do wykrycia rodzaju systemu operacyjnego host'a
oraz uruchomionych na nim uslug.
W tym scenariuszu, przygladamy sie pakietom SYN oraz SYN+ACK oraz wyciagamy z
nich interesujace nas informacje:
Wielkosc okna (Window Size): pole naglowka TCP
MSS: opcja TCP - Maximum Segment Size (jest obecna lub nie)
TTL: pole naglowka IP - Time To Live (zaokroglone do kolejnej potegi 2)
Window Scale: opcja TCP wskazujaca Scale
SACK: opcja TCP dla selektywnych ACK (Selective ACK)
NOP: jesli opcja TCP zawiera NOP
DF: pole naglowka IP - Don't Fragment
TIMESTAMP: jesli opcja TCP timestamp jest dozwolona
oraz oczywiscie rodzaj pakietu (SYN lub SYN+ACK)

Baza danych zawiera rozne dane identyfikacyjne (fingerprints) dla kazdego
rodzaju pakietow, poniewaz niektore systemy operacyjne maja rozne dane
identyfikacyjne od SYN do SYN+ACK. Oczywiscie dane identyfikacyjne z pakietu
SYN sa pewniejsze, poniewaz pakiet SYN+ACK znajduje sie pod wplywem pakietu
SYN (jesli pakiet SYN nie zawiera SACK, pakiet SYN+ACK nie bedzie mial opcji
SACK, nawet jesli host ja wpiera). Wiec, jesli podczas zbierania informacji z
sieci lokalnej otrzymamy pakiet SYN+ACK, tymczasowo identyfikujemy system
operacyjny host'a, do czasu az otrzymamy pakiet SYN, ktory go potwierdzi.

Dane identyfikacyjne konczace sie ":A" sa mniej pewne... powodem jest to, ze
dane identyfikacyjne niektorych systemow operacyjnych moga ulegac zmianie w
czasie trwania procesu ich zbierania.

Pakiety SYN+ACK uzywane sa takze do odnajdywania otwartych portow u host'a
(zobacz kolejny rozdzial).

Interesujaca rzecza jest to, ze firewall'e, gateway'e oraz NAT sa
przezroczyste dla biernego wykrywania systemu operacyjnego. Tak wiec,
zbieranie informacji o sieci lokalnej pozwala zebrac informacje nawet o
oddalonych host'ach. Tylko serwery proxy nie sa przezroczyste, poniewaz
tworza nowe polaczenia z celem.

Nasz baza danych identyfikacyjnych (fingerprint) musi byc powiekszana, wiec
jesli znajdziesz niezidentyfikowanego host'a i wiesz na pewno jaki ma system
operacyjny, prosimy o przeslanie nam tych danych <alor@users.sourceforge.net>,
abysmy mogli je dodac do naszej bazy.


5.5.2 OTWARTE PORTY

Otwarte porty sa identyfikowane poprzez poszukiwanie pakietow SYN+ACK.
Jezeli pakiety SYN+ACK dochodza z portu, to jest on na pewno otwarty, z
wyjatkiem kanalu kontrolujacego protokol FTP, z tego powodu pakiety SYN+ACK
wedrujace na port 20, nie sa uzywane do wskazania otwartego portu.
Dla portow UDP, zagadnienie jest troche trudniejsze, poniewaz pakiety SYN
oraz ACK nie sa obecne w protokole UDP, zatem ettercap zaklada, ze porty UDP
< 1024, ktore wysylaja pakiety, sa otwarte. Wiemy, ze w ten sposob nie mozna
odnalezc otwartych portow > 1024, jednak moga byc one blednie wykryte jako
otwarte, gdy klient wysyla pakiet do serwera.


5.5.3 GATEWAY'E I ROUTER'Y

Gateway jest w prosty sposob rozpoznawany poprzez szukanie pakietow IP
majacych nielokalne IP (sprawdzajac maske sieci). Jezeli zostanie znalezione
nielokalne IP, ettercap sprawdza adres ethernet'owy (MAC) i zapamietuje jako
Gateway MAC Address, a nastepnie szuka go na liscie i oznacza odpowiadajace
IP jako IP gateway'a.

Zagladajac do przesylek ICMP, mozemy spodziewac sie, ze jezeli host wysyla
przekroczone TTL (TTL-exceeded) lub przeadresowuje przesylki, jest router'em
lub host'em pelniacym obowiazki router'a.


============================================================================
6>                                 PLUG-INy
============================================================================


zobacz README.PLUGINS


============================================================================
7>                         BEZUZYTECZNE INFORMACJE
============================================================================


Rozpoczecie projektu:      2000-11-25

Ostatnia stabilna wersja:  0.6.3      Nasze programy nigdy nie maja bledow.
                                  Maja tylko przypadkowe rozwojowe dodatki.

Data publikacji:           2001-12-12
                           Kiedykolwiek uruchomisz program, bedzie juz
                           przestarzaly


Edytor:                    vi, vim, gvim, mcedit, UltraEdit


pozdrowienia dla:          Standardu IEEE 802.3 :)
                           Organizacji ISO/OSI
                           Andrew S.Tanenbaum
                           Uniwersytetu w Berkeley
                           The SiLAB (laboratorium uniwersyteckiego)
                           JJ's PUB na rogu

pozdrowienia od ALoR dla:  Personelu VMWare ;)
                           elle (ona wie za co...)
                           Raptor & awgn
                           Mojego samochodowego zestawu hi-fi
                           Mojego Nowego Samochodu (Volkswagen Polo 1.4 TDi)


pozdrowienia od NaGA dla:  Heineken Inc.
                           Mojego odtwarzacza MP3
                           N-Team
                           MegaBug


fucks to:                  tutte le tipe che se la menano ;)
                           mcedit (jest beznadziejny!)


Motto:                     Specjalizacja jest dla owadow, czlowiek
                           powinien byc w stanie zrobic wszystko!

Kim jestesmy:              Jezeli myslisz, ze nas znasz... TO NAS NIE ZNASZ.
                           Jezeli nas nie znasz... TO NAS POZNASZ.

Shakespeare:               Pytanie = byc albo nie byc? Byc!

Tlumaczenie:               Joker z "Szarlotkowej Frakcji Narzekaczy" ;-)))

0xABADC0DE==============================================================EC-2K