168.0.1 ttl=64 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=1.6 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=6.5 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=1.7 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=0 flags=RA seq=4 win=0 rtt=1.7 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=0 flags=RA seq=5 win=0 rtt=1.5 ms
...
Polecenie wysyła w odstępie czasowym pakiety z ustawioną flagą SYN. Dodat-
kowo otrzymano informacje odnośnie do pakietów zwrotnych, takie jak: długość
pakietu, adres źródłowy, czas życia pakietu, port źródłowy, opóźnienie, pozostałe
flagi pakietu. Transmisja między komputerami wygląda następująco:
14:06:37.207568 IP linux.local.2944 > 192.168.0.1.0: Flags [S], seq 583281012, win 512,
length 0
14:06:37.209353 IP 192.168.0.1.0 > linux.local.2944: Flags [R.], seq 0, ack 583281013,
win 0, length 0
14:06:38.207757 IP linux.local.2945 > 192.168.0.1.0: Flags [S], seq 2020272793, win 512,
length 0
14:06:38.209319 IP 192.168.0.1.0 > linux.local.2945: Flags [R.], seq 0, ack 2020272794,
win 0, length 0
14:06:39.207865 IP linux.local.2946 > 192.168.0.1.0: Flags [S], seq 38001498, win 512,
length 0
14:06:39.214354 IP 192.168.0.1.0 > linux.local.2946: Flags [R.], seq 0, ack 38001499, win
0, length 0
Dzięki powyższemu listingowi można poznać dodatkowe szczegóły wymiany pa-
kietów, takie jak: dokładny czas wysłania i otrzymania pakietu, port źródłowy
naszego komputera, numery sekwencyjne poszczególnych pakietów.
Wysłanie pakietów z flagą RST lub FIN skutkuje brakiem odpowiedzi z drugiej
strony. Przedstawia to poniższy listing:
# hping3 -R 192.168.0.1 -p 80
HPING 192.168.0.1 (wlan0 192.168.0.1): F set, 40 headers +
0 data bytes
192.168.0.1 hping statistic
124
7. Skanowanie - sposób kontroli serwerów sieciowych
8 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Po wysłaniu ośmiu pakietów na port 80 nie otrzymano żadnej odpowiedzi. Badany
system właśnie tak reaguje na pakiety z flagą FIN lub RST. Potwierdza to listing
komunikacji:
14:39:51.596433 IP linux.local.2496 > 192.168.0.1.www:
Flags [R], seq 1513188863, win 512, length 0
14:39:52.596569 IP linux.local.2497 > 192.168.0.1.www:
Flags [R], seq 968123380, win 512, length 0
14:39:53.596699 IP linux.local.2498 > 192.168.0.1.www:
Flags [R], seq 1983996553, win 512, length 0
14:39:54.596820 IP linux.local.2499 > 192.168.0.1.www:
Flags [R], seq 1250340851, win 512, length 0
Jak widać pakiety wysyłane do komputera 192.168.0.1 na port 80 (www) zostają
bez odpowiedzi, ponieważ mają ustawioną flagę RST.
Jak wspomniano wcześniej, za pomocą hpinga możemy korzystać z innych pro-
tokołów. Przykładem jest wysyłanie pakietów UDP; należy w tym celu użyć opcji
-2. Oto przykład badania hosta datagramami UDP:
# hping3 -2 192.168.0.1
HPING 192.168.0.1 (wlan0 192.168.0.1): udp mode set,
28 headers + 0 data bytes
ICMP Port Unreachable from ip=192.168.0.1 name=UNKNOWN
status=0 port=2117 seq=0
ICMP Port Unreachable from ip=192.168.0.1 name=UNKNOWN
status=0 port=2118 seq=1
ICMP Port Unreachable from ip=192.168.0.1 name=UNKNOWN
status=0 port=2119 seq=2
ICMP Port Unreachable from ip=192.168.0.1 name=UNKNOWN
status=0 port=2120 seq=3
ICMP Port Unreachable from ip=192.168.0.1 name=UNKNOWN
status=0 port=2121 seq=4
UDP jest protokołem bezpołączeniowym, na porcie 0 hosta 192.168.0.1 nie działa
żadna usługa; uzyskano jedynie informację o niedostępności bez datagramów zwrot-
nych, co potwierdza listing ze ’śledzenia’ powyższej komunikacji:
14:59:52.469808 IP linux.local.2117 > 192.168.0.1.0: UDP, length 0
14:59:53.469998 IP linux.local.2118 > 192.168.0.1.0: UDP, length 0
14:59:54.470125 IP linux.local.gsigatekeeper > 192.168.0.1.0: UDP, length 0
14:59:55.470253 IP linux.local.2120 > 192.168.0.1.0: UDP, length 0
Analogicznie do flagi -1 można uzyskać pakiety ICMP. Poniższy listing prezentuje
odpowiedzi hosta na pakiety ICMP:
7.2. Optymalizacja skanowania
125
# hping3 -1 192.168.0.1
HPING 192.168.0.1 (wlan0 192.168.0.1): icmp mode set, 28 headers + 0 data bytes
len=28 ip=192.168.0.1 ttl=64 id=43118 icmp_seq=0 rtt=2.0 ms
len=28 ip=192.168.0.1 ttl=64 id=43119 icmp_seq=1 rtt=1.6 ms
len=28 ip=192.168.0.1 ttl=64 id=43120 icmp_seq=2 rtt=1.7 ms
Aplikacja pozwala również na skanowanie portów komputera. Używamy do tego
prefiksu ++ przed numerem portu. Oznacza to wysyłanie poszczególnych pakietów
na kolejne porty, począwszy od ustalonego. W sytuacji, gdy ustalono dodatkowo
flagę pakietu na SYN, będzie można wykryć obecność otwartego portu. Prezentuje
to poniższy listing:
# hping3 -S 192.168.0.1 -p ++78
HPING 192.168.0.1 (wlan0 192.168.0.1): S set, 40 headers + 0 data bytes
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=78 flags=RA seq=0 win=0 rtt=1.9 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=79 flags=RA seq=1 win=0 rtt=1.6 ms
len=44 ip=192.168.0.1 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=5840 rtt=1.8
ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=81 flags=RA seq=3 win=0 rtt=1.7 ms
len=40 ip=192.168.0.1 ttl=64 DF id=0 sport=82 flags=RA seq=4 win=0 rtt=1.6 ms
Polecenie wysyła na kolejne porty, zaczynając od portu o numerze 78, pakiety
SYN. Odpowiedzi z flagami RA oznaczają, iż pakiet został odrzucony i port naj-
prawdopodobniej jest zamknięty. Odpowiedź SA oznacza port otwarty. Jak widać,
od hosta 192.168.0.1 otrzymano odpowiedź z flagami SA z portu źródłowego 80.
Oznacza to, że najpewniej komputer o adresie 192.168.0.1 ma uruchomiony serwer
www.
Opcja -a IP służy do ustalania źródłowego adresu IP dla wysyłanych pakietów.
Dodatkowo za pomocą opcji -i można ustalić liczbę wysyłanych pakietów w czasie
jednej sekundy. Poniżej wygenerowano dużą liczbę fałszywych połączeń na port 80
badanego hosta:
# hping3 -a 192.168.0.155 -S 192.168.0.1 -i u10000 -p 80
HPING 192.168.0.1 (wlan0 192.168.0.1): S set, 40 headers + 0 data bytes
192.168.0.1 hping statistic
561 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Podając się za 192.168.0.155, wysłano 561 pakietów z flagą SYN na port 80 kompu-
tera 192.168.0.1. Oto jak wygląda fragment takiego wysyłania fałszywych pakietów:
16:23:19.617380 IP 192.168.0.155.1138 > 192.168.0.1.www: Flags [S], seq 478053686, win
512, length 0
16:23:19.627438 IP 192.168.0.155.1139 > 192.168.0.1.www: Flags [S], seq 328202492, win
126
7. Skanowanie - sposób kontroli serwerów sieciowych
512, length 0
16:23:19.637495 IP 192.168.0.155.1140 > 192.168.0.1.www: Flags [S], seq 1930392010, win
512, length 0
16:23:19.647551 IP 192.168.0.155.1141 > 192.168.0.1.www: Flags [S], seq 1194871468, win
512, length 0
16:23:19.657613 IP 192.168.0.155.1142 > 192.168.0.1.www: Flags [S], seq 982934497, win
512, length 0
Do manipulowania pakietami hping służy jeszcze wielu opcji. Jednymi z cie-
kawszych mogą być: -t ttl (ustawienie czasu życia pakietu), -m mtu (ustawie-



 

 

 

 

 

 

 

 

 

 

 

 

   
 
  len=40 ip=192...
Pomodliłem się do każdego boga jaki istniał bym był w wstanie wkurzyć tę kobietę do granic możliwości.