background image

 

 

 
Warsztaty internetowe: Narzędzia i techniki ataków na komputery w sieci

  

 
 

Nmap

 

 
 
Nmap jest najbardziej popularnym skanerem portów, poniewaŜ pozwala na skanowanie wieloma 
róŜnymi technikami oraz występuje w odmianach dla najbardziej popularnych systemów 
operacyjnych, tj. dla UNIXa, Linuxa oraz Windows. Wersję dla systemów UNIX moŜna pobrać 
bezpłatnie z 

www.insecure.org

, natomiast wersję dla Windows z 

www.eeye.com

. Obie wersje 

posiadają nakładki graficzne (nmap jest narzędziem pracującym w trybie tekstowym), które 
bardzo ułatwiają pracę osobą preferującym obsługiwanie komputera za pomocą myszy.  
 
Program nmap oraz inne potrzebne pliki moŜna takŜe pobrać z naszego archiwum lokalnego:  



nmap-3.25.tgz dla UNIXa/Linuxa

  



nmap-3.25-1.i386.rpm dla Linuxa

  



nmap-3.25-1.src.rpm - kod źródłowy dla UNIXa/Linuxa

  



nmap-frontend-3.25-1.i386.rpm - nakładka graficzna dla UNIXa/Linuxa

  



nmapNTsp1.zip - dla Windows

  



nmapwin_1.3.0_src.zip - kod źródłowy dla Windows

  



nmapwin_1.3.1.exe - nakładka graficzna dla Windows

  

Aby zrozumieć ideę skanowania portów TCP trzeba zapoznać się z działaniem samego protokołu 
TCP. Gdy nawiązywane jest połączenie z portem TCP, klient przesyła serwerowi pakiet TCP z 
ustawioną flagą SYN. Przez określenie "ustawiona flaga" naleŜy rozumieć, Ŝe wartość określonego 
przez protokół bitu równa jest 1 (bity mogą przybierać wartości 0 i 1). Bity flag znajdują się w 
nagłówku pakietu TCP.  
 
Gdy serwer nasłuchuje na porcie, z którym chce połączyć się klient, ten drugi wysyła do serwera 
pakiet z ustawionymi flagami SYN i ACK informując o gotowości nawiązania połączenia. W celu 
zakończenia procesu nawiązywania połączenia (ustanowienia sesji komunikacyjnej) klient przesyła 
odpowiedź do serwera z ustawioną flagą ACK. Cały ten proces rozpoczynania sesji nazywany jest 
trzystopniowym uściskiem dłoni (three-way handshake). Po zakończeniu przesyłania danych, 
sesja zamykana jest wymianą pakietów z ustawionymi flagami FIN. W kaŜdej chwili, kaŜda ze 
stron (klient lub serwer) moŜe wysłać pakiet z ustawioną flagą RST – oznacza to jednostronne 
zerwanie sesji.  
 
Tak oto moŜe wyglądać typowa rozmowa dwóch hostów przy wykorzystaniu protokołu TCP: 

1.

Host A (klient) wysyła do serwera na określony numer portu pakiet TCP z ustawioną flagą 
SYN, który mówi: Cześć, chcę nawiązać z tobą połączenie.  

2.

Host B (serwer) ma otwarty (nasłuchujący) port, do którego host A wysłał pakiet. W 
związku z tym przesyła do niego pakiet z ustawionymi flagami SYN/ACK, który mówi: Hej 
stary, jestem gotowy do nawiązania sesji – moŜemy pogadać
.  

3.

Host A, po otrzymaniu tego pakietu, odpowiada pakietem z ustawioną flagą ACK, która 
oznacza: Super, porozmawiajmy więc.  

4.

Teraz między hostami A i B mogą być przesyłane w obie strony dowolne informacje. 
Wszystkie informacje potwierdzane są pakietami z ustawionymi flagami ACK. W kaŜdej 
chwili kaŜdy z hostów moŜe przesłać pakiet z ustawioną flagą RST, co spowoduje 
jednostronne zakończenie rozmowy.  

5.

Jeśli jednak komunikacja nie zostanie przerwana pakietem RST, host A, po przesłaniu 
wszystkich danych do hosta B, kończy sesję wysyłając pakiet z ustawioną flagą FIN, 
mówiąc: To na razie wszystko stary, do usłyszenia.  

6.

Host B potwierdza otrzymanie informacji FIN od hosta A wysyłając pakiet ACK, po czy 
wysyła od siebie pakiet FIN, który mówi: Potwierdzam zakończenie rozmowy, do 
usłyszenia
.  

7.

Host A potwierdza otrzymanie pakietu FIN wysyłając pakiet ACK do hosta B.  

Opisane powyŜej połączenie jest typowe dla protokołu TCP. NaleŜy zauwaŜyć, Ŝe wszystkie pakiety 
wymagają otrzymania potwierdzenia odebrania pakietu przez drugą stronę. Znajomość 
przedstawionego algorytmu postępowania zdefiniowanego protokołem TCP jest potrzebna do 
zrozumienia sposobu działania narzędzi skanujących.

 

 

Strona główna

 | 

Projekty

 | 

ZagroŜenia

 | 

Kontakt

 |  

 

 

© 2000-2007 

Krzysztof 

Satoła. Wszelkie prawa zastrzeŜone.

odwiedzin: 

698164

 

Page 1 of 1

haker.pl Krzysztof Satoła

2008-06-30

http://www.haker.pl/haker_start.pl?warsztaty1_temat=2