Budowanie narzędzia do rozpoznania
Praktyczny skrypt
Budowanie narzędzia do rozpoznania to bezpłatna lekcja Ethical Hacking Academy na CoddyKit. To lekcja 4 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.
Połączenie wszystkich elementów
Teraz połączą Państwo zmienne, pętle, wykonywanie narzędzi i analizowanie danych w jeden praktyczny skrypt rekonesansu.
Cel: przyjąć cel, wykryć otwarte porty, rozpoznać usługi i zapisać uporządkowane wyniki — wszystko za pomocą jednego polecenia.
Planowanie skryptu
Dobre narzędzia projektuje się przed rozpoczęciem kodowania. Nasz skrypt rekonesansu będzie:
- sprawdzać dane wejściowe (wymagać podania celu),
- tworzyć katalog wyjściowy,
- wykonywać skanowanie portów, a następnie wykrywanie wersji,
- analizować i podsumowywać otwarte porty.
Nagłówek i sprawdzanie danych wejściowych
Proszę rozpocząć od shebangu, opcji bezpieczeństwa i sprawdzenia argumentów, które wyświetli sposób użycia, jeśli nie podano celu.
#!/bin/bash
set -euo pipefail
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <target>"
exit 1
fi
target=$1Katalog wyjściowy
Proszę utworzyć folder dla danego celu, opatrzony znacznikiem czasu, aby kolejne uruchomienia nie nadpisywały swoich wyników.
stamp=$(date +%F_%H%M)
outdir="recon_${target}_${stamp}"
mkdir -p "$outdir"
echo "[*] Results in $outdir"Krok 1: szybkie skanowanie portów
Najpierw szybko znajdź otwarte porty w całym zakresie.
echo "[*] Scanning ports on $target"
nmap -p- --open -T4 "$target" -oG "$outdir/ports.gnmap" >/dev/nullKrok 2: analiza otwartych portów
Wyodrębnij numery otwartych portów z danych wyjściowych w formacie przeznaczonym do wyszukiwania i zapisz je jako listę rozdzielaną przecinkami na potrzeby kolejnego skanowania.
ports=$(grep -oE '[0-9]+/open' "$outdir/ports.gnmap" | cut -d/ -f1 | paste -sd, -)
echo "[*] Open ports: $ports"Krok 3: wykrywanie wersji
Wykonaj ukierunkowane skanowanie wersji usług tylko na otwartych portach — będzie ono szybsze i mniej uciążliwe niż ponowne skanowanie wszystkiego.
if [ -n "$ports" ]; then
nmap -sV -p "$ports" "$target" -oN "$outdir/services.txt"
fiKrok 4: podsumowanie
Wyświetl czytelne podsumowanie, aby operator widział wyniki bez otwierania plików.
echo "=== Summary for $target ==="
grep 'open' "$outdir/services.txt" | awk '{print $1, $3}'Dodawanie rejestrowania
Dodaj w dzienniku wiersz ze znacznikiem czasu, aby można było odtworzyć, co i kiedy zostało uruchomione — jest to ważne podczas sporządzania raportów.
echo "$(date) scanned $target -> $ports" >> recon.logUruchamianie narzędzia
Proszę nadać skryptowi uprawnienia do wykonywania i wskazać maszynę wirtualną laboratorium. Wszystkie wyniki trafią do folderu wyjściowego.
chmod +x recon.sh
./recon.sh 192.168.56.10Dalsze rozszerzenia
Na bazie tego rozwiązania można dodać:
- brute force katalogów internetowych, gdy otwarty jest port 80/443,
- pobieranie banerów za pomocą netcat,
- iterowanie po liście celów zamiast pracy z jednym hostem,
- generowanie raportów HTML lub Markdown.
Szybkie sprawdzenie
Proszę przypomnieć sobie, dlaczego przed skanowaniem wersji analizujemy dane.
Podsumowanie
Zbudowali Państwo działające narzędzie do rekonesansu:
- Zweryfikowali Państwo dane wejściowe i utworzyli katalog wyjściowy ze znacznikiem czasu.
- Wykonali Państwo szybkie skanowanie portów, przeanalizowali otwarte porty, a następnie przeskanowali pod kątem wersji tylko te porty.
- Wyświetlili Państwo podsumowanie i zapisali przebieg w dzienniku.
- Zidentyfikowali Państwo jasne możliwości rozbudowy (brute force witryn internetowych, pobieranie banerów, raportowanie).
To kończy kurs skryptów Bash.
Często zadawane pytania
Czy lekcja „Budowanie narzędzia do rozpoznania” jest bezpłatna?
Tak — pełny tekst „Budowanie narzędzia do rozpoznania” 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 „Budowanie narzędzia do rozpoznania”?
Praktyczny skrypt Ć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 4 z 4.
Ile czasu zajmuje lekcja „Budowanie narzędzia do rozpoznania”?
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
- Podstawy skryptów
- Automatyzacja rozpoznania
- Analizowanie danych wyjściowych
- Budowanie narzędzia do rozpoznania