Dodatkowe informacje
Powyższy oneliner sprawdzi odwrotną translację adresów DNS z zakresu x.x.x.1 - x.x.x.254, odsiewając adresy, dla których revDNS nie istnieje. Rozbijając go na mniejsze części:
for i in {1..254}; do
- pętla, w której do zmiennej $i zostaną przypisane liczby od 1 do 254
host x.x.x.x.$i
- sprawdź odwrotny DNS dla kolejnego adresu IP
| grep -v NXDOMAIN
- odrzućmy wszystkie linijki zawierające frazę NXDOMAIN co oznacza, że dany IP nie posiada revdnsa
; done
- koniec pętli.
Gdybyśmy chcieli sprawdzić sieć z maską /16, a więc zakres x.x.0.1 - x.x.255.254, potrzebowalibyśmy dwóch pętli:
for i in $(seq 0 255); do
for j in `seq 1 254`; do
host x.x.$i.$j | grep -v NXDOMAIN
done
done
W tym przykładzie, zamiast wygenerować szereg liczb z wykorzystaniem {<start>..<end>} użyliśmy dwóch równoważnych konstrukcji $(<polecenie>) oraz `<polecenie>`, będącymi tzw. command substitution, które powodują wstawienie wyniku polecenia w miejscu gdzie się znajdują. Samo narzędzie seq służy do generowania sekwencji liczb, np.:
seq 10 1
- liczby od 10 do 1
seq -w 0 0.5 3
- liczby od 0 do 3 ze skokiem co 0.5, dodatkowo uzupełniane zerami, żeby wizualnie miały taką samą szerokość
Przykład
Przydatne linki
Subskrybuj
Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.