Techniki skanowania portów
SYN, connect, UDP
Techniki skanowania portów to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ethical Hacking Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Dlaczego skanować porty?
Otwarte porty ujawniają usługi uruchomione na hoście, stanowiąc mapę powierzchni ataku. Skanowanie portów określa, które porty TCP i UDP są otwarte, zamknięte lub filtrowane.
Nmap oferuje kilka technik skanowania, z których każda wiąże się z kompromisami dotyczącymi szybkości, dyskrecji i wymaganych uprawnień.
Stany portów
Nmap zgłasza każdy port w jednym z następujących stanów:
- open: usługa aktywnie akceptuje połączenia.
- closed: port jest osiągalny, ale żadna usługa na nim nie nasłuchuje.
- filtered: zapora blokuje sondy, więc Nmap nie może tego rozstrzygnąć.
- open|filtered i closed|filtered: niejednoznaczne wyniki.
Trójetapowe uzgadnianie TCP
Zrozumienie skanowania wymaga znajomości uzgadniania TCP:
- Klient wysyła SYN.
- Serwer odpowiada SYN-ACK, jeśli port jest otwarty.
- Klient wysyła ACK, aby zakończyć ustanawianie połączenia.
Zamknięty port odpowiada pakietem RST. Typy skanowania różnią się tym, jak daleko przechodzą przez ten proces.
Skanowanie SYN
Skanowanie SYN (-sS) jest domyślne podczas uruchamiania z uprawnieniami root. Nmap wysyła SYN, sprawdza SYN-ACK (port otwarty) lub RST (port zamknięty), a następnie wysyła RST, aby nigdy nie ukończyć uzgadniania.
To „półotwarte” skanowanie jest szybkie i stosunkowo dyskretne, ponieważ pełne połączenie nigdy nie zostaje ustanowione. Wymaga uprawnień do używania surowych gniazd.
sudo nmap -sS 192.168.1.10Skanowanie connect
Skanowanie connect (-sT) kończy pełne trójetapowe uzgadnianie za pomocą interfejsu sieciowego systemu operacyjnego. Nie wymaga specjalnych uprawnień, dlatego stanowi rozwiązanie awaryjne dla użytkowników bez uprawnień.
Ponieważ ustanawia pełne połączenie, generuje więcej widocznego ruchu i z większym prawdopodobieństwem zostanie zarejestrowane przez usługi celu.
nmap -sT 192.168.1.10Skanowanie UDP
Skanowanie UDP (-sU) wykrywa usługi takie jak DNS, SNMP i DHCP, które korzystają z UDP. UDP jest bezpołączeniowy, dlatego skanowanie jest wolne i trudne:
- Brak odpowiedzi często oznacza stan open|filtered.
- Komunikat ICMP port-unreachable oznacza port zamknięty.
Usługi UDP są często pomijane, więc mogą skrywać cenne informacje.
sudo nmap -sU --top-ports 50 192.168.1.10Skanowanie dyskretne
Niektóre skany wysyłają nietypowe kombinacje flag, aby omijać proste zapory i unikać rejestrowania SYN:
- FIN (
-sF): tylko flaga FIN. - NULL (
-sN): nie ustawiono żadnych flag. - Xmas (
-sX): ustawione FIN, PSH i URG, „rozświetlone jak choinka”.
Techniki te opierają się na zachowaniu opisanym w RFC i często działają tylko w przypadku określonych stosów sieciowych.
sudo nmap -sX 192.168.1.10Wybór portów
Określ, które porty mają zostać przeskanowane, aby zachować równowagę między szybkością a zakresem:
-p 80,443konkretne porty.-p 1-1000zakres portów.-p-wszystkie 65535 portów.--top-ports 100100 najczęściej używanych portów.-Fszybkie skanowanie 100 najpopularniejszych portów.
nmap -p- 192.168.1.10
nmap --top-ports 100 192.168.1.10Szablony czasu
Flaga -T ustawia tempo od 0 (paranoiczne) do 5 (szalone):
- -T0/-T1: bardzo wolne, do omijania IDS.
- -T3: zrównoważone ustawienie domyślne.
- -T4: szybsze, często używane w niezawodnych sieciach.
- -T5: agresywne, może pomijać wyniki.
Szybsze skanowanie generuje więcej widocznego ruchu i zwiększa ryzyko niedokładności.
nmap -sS -T4 -p- 192.168.1.10Podstawy omijania zapór
Nmap oferuje opcje do testowania odporności zapór i IDS:
-ffragmentuje pakiety.-Dużywa zwodniczych adresów źródłowych.--source-portpodszywa się pod zaufany port źródłowy, taki jak 53.
Używaj tych opcji wyłącznie w autoryzowanych testach oceniających możliwości wykrywania.
Łączenie opcji w praktyczne skanowanie
W rzeczywistych skanach łączy się te opcje. Typowe dokładne skanowanie TCP wybiera typ skanowania, wszystkie porty, szybsze tempo i zapis wyników.
Najpierw wykonaj szerokie skanowanie, aby znaleźć otwarte porty, a następnie przeprowadź ukierunkowane skany uzupełniające (wykrywanie wersji, skrypty) tylko dla portów, które faktycznie są otwarte. Takie podejście dwuetapowe jest szybsze i bardziej dyskretne niż wykonanie wszystkiego naraz.
sudo nmap -sS -p- -T4 -oA tcp_all 192.168.1.10
# Then deep-scan only the open ports foundSzybkie sprawdzenie
Dopasuj skanowanie do jego działania.
Podsumowanie
W tej lekcji poznano techniki skanowania portów:
- Stany portów: open, closed, filtered oraz warianty niejednoznaczne.
- Skanowanie SYN (-sS) jest dyskretnym ustawieniem domyślnym; connect (-sT) nie wymaga uprawnień, ale generuje więcej widocznego ruchu.
- UDP (-sU) jest wolne, ale wykrywa często pomijane usługi.
- Skany FIN/NULL/Xmas omijają proste zapory.
- Porty kontroluje się za pomocą
-p, szybkość za pomocą-T, a mechanizmy omijania testuje za pomocą -f/-D.
Następnie: wykrywanie usług i systemu operacyjnego.
Często zadawane pytania
Czy lekcja „Techniki skanowania portów” jest bezpłatna?
Tak — pełny tekst „Techniki skanowania portów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ethical Hacking Academy, przejdź na CoddyKit PRO. Kurs Ethical Hacking Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Techniki skanowania portów”?
SYN, connect, UDP Ćwiczysz Ethical Hacking Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ethical Hacking Academy?
Nie wymagamy żadnego doświadczenia. Ethical Hacking Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Techniki skanowania portów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ethical Hacking Academy?
Tak. Każda lekcja Ethical Hacking Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wykrywanie hostów
- Techniki skanowania portów
- Wykrywanie usług i systemu operacyjnego
- Silnik skryptowy Nmap