hping3
Assembleur et analyseur de paquets TCP/IP en ligne de commande. Fabrique des paquets TCP, UDP, ICMP et IP bruts personnalisés pour tester des pare-feux, faire du traceroute, et de la prise d'empreinte OS. Command-line TCP/IP packet assembler and analyzer. Crafts custom TCP, UDP, ICMP, and raw IP packets for firewall testing, tracerouting, and OS fingerprinting.
↗ http://www.hping.orgOverview
hping3 is a network tool that can send custom TCP, UDP, ICMP, and raw IP packets. Unlike ping which only sends ICMP, hping3 can probe any port, test firewall rules, perform traceroutes over TCP, detect ACL policies, and create simple network stress tests.
Basic Usage
ICMP ping (like regular ping)
sudo hping3 -1 target.com
TCP SYN scan on port 80
sudo hping3 -S -p 80 target.com
TCP ACK (bypass stateless firewalls)
sudo hping3 -A -p 80 target.com
UDP
sudo hping3 -2 -p 53 target.com
Verbose
sudo hping3 -S -p 80 -V target.com
Port Scanning
Scan a range of ports with SYN
sudo hping3 -S --scan 1-1000 target.com
Scan specific ports
sudo hping3 -S --scan 22,80,443,3389 target.com
Detect open ports (look for SYN-ACK response, TTL value)
sudo hping3 -S -p ++1 target.com # Increment port each packet
Traceroute
TCP traceroute (works through firewalls that block ICMP)
sudo hping3 -S -p 80 --traceroute target.com
UDP traceroute
sudo hping3 -2 -p 53 --traceroute target.com
Firewall Testing
Test if port 80 is open (SYN - should get SYN-ACK)
sudo hping3 -S -p 80 target.com -c 3
Test ACK bypass (some stateless firewalls allow ACK)
sudo hping3 -A -p 80 target.com
FIN scan (stealthy - RST from closed, no response from open)
sudo hping3 -F -p 80 target.com
XMAS scan (FIN+PSH+URG)
sudo hping3 -F -P -U -p 80 target.com
NULL scan (no flags)
sudo hping3 -p 80 target.com
Spoofed Source / Decoy Scanning
Spoof source IP (responses go to spoofed IP, not to you)
sudo hping3 -S -p 80 --spoof 1.2.3.4 target.com
Flood with spoofed IPs (network stress test — use carefully)
sudo hping3 -S -p 80 --flood --rand-source target.com
Idle Scan (IP ID Scanning)
Check zombie’s IP ID sequence (must be incremental)
sudo hping3 -S -p 80 zombie_host.com
Idle scan using zombie (classic nmap -sI equivalent)
sudo hping3 -S -p TARGET_PORT -a ZOMBIE_IP TARGET_IP
Custom Payloads
Send custom payload with TCP SYN
sudo hping3 -S -p 80 target.com -d 100 -E /dev/urandom
# Send specific data
echo "GET / HTTP/1.0\r\n\r\n" > payload.txt
sudo hping3 -S -p 80 --data 40 -E payload.txt target.com
Tips
- Always
sudo— raw sockets require root --floodsends as fast as possible without waiting for responses — use only on authorized targets- Compare
SA(SYN-ACK) vsRA(RST-ACK) vs no response to classify ports/firewall behavior - hping3 is useful for crafting specific packet patterns that firewalls would normally block
Help / Man page
hping3 [options] host
Modes (default: TCP):
-1 ICMP mode
-2 UDP mode
-9 Listen mode (RAW IP)
-S TCP SYN flag
-A TCP ACK flag
-F TCP FIN flag
-P TCP PUSH flag
-U TCP URG flag
-R TCP RST flag
Scanning:
--scan ports Scan port list
-p port Destination port
+p Increment port each packet
--traceroute Traceroute mode
Timing:
-c count Stop after N packets
-i delay Wait interval between packets
--fast Alias for -i u10000 (10 pps)
--flood Send as fast as possible
Spoofing:
-a addr Spoof source address
--rand-source Random source IP per packet
Data:
-d size Data size (bytes)
-E file Data from file
--sign signature Add signature
Output:
-V Verbose
-q Quiet
-n Numeric output only
Vue d’ensemble
hping3 est un outil réseau capable d’envoyer des paquets TCP, UDP, ICMP et IP bruts personnalisés. Contrairement à ping qui n’envoie que de l’ICMP, hping3 peut sonder n’importe quel port, tester des règles de pare-feu, faire du traceroute sur TCP, détecter des politiques d’ACL, et créer des tests de charge réseau simples.
Utilisation de base
# Ping ICMP (comme un ping classique)
sudo hping3 -1 target.com
# Scan TCP SYN sur le port 80
sudo hping3 -S -p 80 target.com
# TCP ACK (contourner les pare-feux sans état)
sudo hping3 -A -p 80 target.com
# UDP
sudo hping3 -2 -p 53 target.com
# Verbeux
sudo hping3 -S -p 80 -V target.com
Scan de ports
# Scanner une plage de ports en SYN
sudo hping3 -S --scan 1-1000 target.com
# Scanner des ports spécifiques
sudo hping3 -S --scan 22,80,443,3389 target.com
# Détecter les ports ouverts (chercher une réponse SYN-ACK, valeur TTL)
sudo hping3 -S -p ++1 target.com # Incrémente le port à chaque paquet
Traceroute
# Traceroute TCP (fonctionne à travers les pare-feux qui bloquent l'ICMP)
sudo hping3 -S -p 80 --traceroute target.com
# Traceroute UDP
sudo hping3 -2 -p 53 --traceroute target.com
Test de pare-feu
# Tester si le port 80 est ouvert (SYN, devrait recevoir un SYN-ACK)
sudo hping3 -S -p 80 target.com -c 3
# Tester le contournement ACK (certains pare-feux sans état laissent passer l'ACK)
sudo hping3 -A -p 80 target.com
# Scan FIN (furtif : RST depuis un port fermé, pas de réponse depuis un port ouvert)
sudo hping3 -F -p 80 target.com
# Scan XMAS (FIN+PSH+URG)
sudo hping3 -F -P -U -p 80 target.com
# Scan NULL (aucun flag)
sudo hping3 -p 80 target.com
Usurpation de source / scan par leurre
# Usurper l'IP source (les réponses partent vers l'IP usurpée, pas vers vous)
sudo hping3 -S -p 80 --spoof 1.2.3.4 target.com
# Flood avec des IPs usurpées (test de charge réseau : à utiliser avec prudence)
sudo hping3 -S -p 80 --flood --rand-source target.com
Idle scan (scan par IP ID)
# Vérifier la séquence d'IP ID du zombie (doit être incrémentale)
sudo hping3 -S -p 80 zombie_host.com
# Idle scan en utilisant un zombie (équivalent classique de nmap -sI)
sudo hping3 -S -p TARGET_PORT -a ZOMBIE_IP TARGET_IP
Payloads personnalisés
# Envoyer un payload personnalisé avec un TCP SYN
sudo hping3 -S -p 80 target.com -d 100 -E /dev/urandom
# Envoyer des données spécifiques
echo "GET / HTTP/1.0\r\n\r\n" > payload.txt
sudo hping3 -S -p 80 --data 40 -E payload.txt target.com
Conseils
- Toujours
sudo: les sockets bruts nécessitent le root --floodenvoie aussi vite que possible sans attendre les réponses : à utiliser uniquement sur des cibles autorisées- Comparez
SA(SYN-ACK) vsRA(RST-ACK) vs absence de réponse pour classifier les ports/le comportement du pare-feu - hping3 est utile pour fabriquer des motifs de paquets spécifiques que les pare-feux bloqueraient normalement
Aide / Page de manuel
hping3 [options] host
Modes (default: TCP):
-1 ICMP mode
-2 UDP mode
-9 Listen mode (RAW IP)
-S TCP SYN flag
-A TCP ACK flag
-F TCP FIN flag
-P TCP PUSH flag
-U TCP URG flag
-R TCP RST flag
Scanning:
--scan ports Scan port list
-p port Destination port
+p Increment port each packet
--traceroute Traceroute mode
Timing:
-c count Stop after N packets
-i delay Wait interval between packets
--fast Alias for -i u10000 (10 pps)
--flood Send as fast as possible
Spoofing:
-a addr Spoof source address
--rand-source Random source IP per packet
Data:
-d size Data size (bytes)
-E file Data from file
--sign signature Add signature
Output:
-V Verbose
-q Quiet
-n Numeric output only