Hping è un assemblatore/analizzatore di pacchetti TCP/IP da riga di comando con funzionalità di scripting Tcl incorporata. Ispirato al comando ping, Hping è stato sviluppato da Antirez nel 1998. Come suggerisce il nome, hping non solo è in grado di inviare richieste di eco ICMP, ma supporta i protocolli TCP, UDP, ICMP e RAW-IP, ha una modalità traceroute, il possibilità di inviare file tra un canale coperto e molte altre funzionalità. Hping è spesso considerato uno strumento complementare a Nmap. Lo strumento funziona su tutti i principali sistemi operativi inclusi Linux, *BSD e Windows. Hping è stato utilizzato principalmente come strumento di sicurezza in passato, ma ora può essere utilizzato in molti modi per testare reti e host. Di seguito sono elencate le operazioni che puoi eseguire utilizzando hping:
- Test del firewall
- Scansione avanzata delle porte
- Test di rete, utilizzando diversi protocolli, TOS, frammentazione
- Scoperta MTU percorso manuale
- Traceroute avanzato, con tutti i protocolli supportati
- Impronta digitale del sistema operativo remoto
- Indovinare il tempo di attività in remoto
- Controllo stack TCP/IP
- Studenti che imparano TCP/IP
Come si installa Hping?
Hping è disponibile come RPM nel repository EPEL. Se hai impostato il repository EPEL, puoi installarlo con yum . Se non hai configurato il repository EPEL, dovrai configurarlo come di seguito:
#yum install epel-release
Installa Hping3
#yum install hping3
Come usare Hping/Hping3
Di seguito sono elencate le operazioni che puoi eseguire utilizzando hping.
Scansione porte
Scansione SYN TCP
Il modo più semplice per avviare una scansione TCP SYN classica è inviare pacchetti TCP SYN alle porte su host/ip. Il comando seguente eseguirà la scansione della porta 80 su IP 192.168.8.223. Dall'output, possiamo notare i flag SYN e ACK impostati che indicano una porta aperta.
VM-1#hping3 -S 192.168.8.223 -p 80 -c 1 HPING 192.168.8.223 (eth0 192.168.8.223): S set, 40 headers + 0 data bytes len=44 ip=192.168.8.223 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=29200 rtt=0.3 ms --- 192.168.8.223 hping statistic --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.3/0.3/0.3 ms VM-1#
Nota:l'opzione -c 1 consente di inviare il pacchetto SYN solo una volta.
Per scansionare un intervallo di porte a partire dalla porta 80 ed eseguire il comando seguente.
VM-1$hping3 -S 192.168.8.223 -p ++80 HPING 192.168.8.223 (eth0 192.168.8.223): S set, 40 headers + 0 data bytes len=44 ip=192.168.8.223 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=29200 rtt=0.4 ms len=40 ip=192.168.8.223 ttl=64 DF id=22960 sport=81 flags=RA seq=1 win=0 rtt=0.4 ms len=40 ip=192.168.8.223 ttl=64 DF id=23167 sport=82 flags=RA seq=2 win=0 rtt=0.3 ms ^C --- 192.168.8.223 hping statistic --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0.3/0.4/0.4 ms VM-1$
Dal comando sopra, puoi notare i flag R impostati. Questi sono i pacchetti RST restituiti che indicano che tutte queste porte sono chiuse.
Se vuoi scansionare un intervallo di porte, usa il seguente comando:
VM-1$hping3 -8 80-86 -S 192.168.8.223 Scanning 192.168.8.223 (192.168.8.223), port 80-86 7 ports to scan, use -V to see all the replies +----+-----------+---------+---+-----+-----+-----+ |port| serv name | flags |ttl| id | win | len | +----+-----------+---------+---+-----+-----+-----+ 80 http : .S..A... 64 0 29200 44 All replies received. Done. Not responding ports: VM-1$
Dall'intervallo di scansione delle porte compreso tra 80 e 86, solo la porta 80 è aperta con i flag SYN e ACK impostati.
Scansione ACK TCP
Questa scansione aiuterebbe a vedere se un host è attivo (ad esempio quando Ping è bloccato). Il comando seguente dovrebbe inviare una risposta RST se la porta è aperta.
VM-1$hping3 -p 80 -A 192.168.8.223 -c 1 HPING 192.168.8.223 (eth0 192.168.8.223): A set, 40 headers + 0 data bytes len=40 ip=192.168.8.223 ttl=64 DF id=50603 sport=80 flags=R seq=0 win=0 rtt=0.2 ms --- 192.168.8.223 hping statistic --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.2/0.2/0.2 ms VM-1$
e molti altri usi di hping. Per ulteriori informazioni sull'utilizzo di hping, visitare qui.