Cosa fa#
Elenca tutti i file aperti dal sistema. Poiché in Unix "tutto è un file", questo include documenti, socket di rete, pipe, librerie e device hardware. In incident response è uno dei primi comandi da eseguire — mostra cosa sta facendo un processo in questo momento.
"Questo processo cosa ha aperto?" Ottimo quando hai già un pid o un nome processo sospetto.
Sintassi#
lsof [opzioni] [filtro]
Comandi essenziali#
| Comando | Flag | Significato flag | Cosa fa |
|---|---|---|---|
sudo lsof -i | -i | internet | Mostra tutti i socket di rete aperti. |
sudo lsof -i -P | -P | no Port names | Mostra porte numeriche invece degli alias (es. 22 invece di ssh). |
sudo lsof +L1 | +L1 | link count < 1 | Analisi Forense: Mostra file aperti che sono stati eliminati dal disco. |
sudo lsof -i :22 | -i :N | internet port N | Chi sta usando la porta 22? |
sudo lsof -p 1234 | -p | pid | Tutti i file aperti dal processo con PID 1234. |
sudo lsof -u root | grep /tmp | — | — | File aperti da root in /tmp — segnale sospetto. |
lsof -t -i :3000 | -t | terse | Restituisce solo il PID — utile in pipe con kill. |
Analisi Forense: Il flag +L1#
Perché è fondamentale#
Gli attaccanti spesso scaricano un malware, lo avviano e poi usano rm per eliminare l'eseguibile dal disco. Il processo rimane attivo in memoria, ma non c'è più traccia del file nel filesystem.
La logica del Link Count#
- L sta per Link Count (il numero di riferimenti a un file).
- Quando un file viene rimosso ma un processo lo tiene ancora aperto, il suo link count scende a 0.
+L1istruiscelsofa mostrare tutti i file con link count inferiore a 1.
sudo lsof +L1
# Se l'output mostra un processo in esecuzione da /tmp o /var/run che punta a un file (deleted), è un forte indicatore di compromissione.Leggere l'output (Rete)#
sudo lsof -i -P | grep LISTEN
# COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
# sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
# ^ ^ ^ ^ ^ ^ ^
# | | | | | | stato
# | | | | tipo (IPv4/IPv6/unix) indirizzo:porta
# | | | File Descriptor (u=read/write)
# | | utente proprietario
# | PID
# nome comandoCombinazioni utili#
# Incident response — panoramica rapida
sudo lsof -i -P | grep LISTEN # porte aperte
sudo lsof -i TCP | grep ESTABLISHED # connessioni attive
# Processo sospetto — tutto quello che ha aperto
sudo lsof -p 4821
# Trova chi occupa una porta e terminalo
kill $(lsof -t -i :8080)Scenario Reale#
Un alert segnala traffico anomalo. Usi ss -tulpn e trovi un PID strano. Esegui sudo lsof +L1 e noti che quel PID sta eseguendo un file chiamato ... (tre punti) in /tmp che risulta (deleted). Hai appena trovato un malware che cercava di nascondersi.
Collegato a#
- system — Hub Categoria
- investigazione-linux — Playbook di analisi
- kill — Per terminare processi individuati


