Porte di input e output - PORTA PARALLELA - La PORTA SERIALE A 9 PIN - La PORTA USB - Il FireWire
Sommario:
- Cos'è Open Port
- Seleziona Apri porte con
nmap - Seleziona Apri porte con
netcat - Seleziona Apri porte usando Bash Pseudo Device
- Conclusione
Sia che tu stia risolvendo problemi di connettività di rete o configurando un firewall, una delle prime cose da verificare è quali porte sono effettivamente aperte sul tuo sistema.
Questo articolo descrive diversi approcci per scoprire quali porte sono aperte verso l'esterno sul tuo sistema Linux.
Cos'è Open Port
Una porta di ascolto è una porta di rete su cui un'applicazione è in ascolto. È possibile ottenere un elenco delle porte di ascolto sul sistema interrogando lo stack di rete con comandi come
ss
,
netstat
o
lsof
. Ogni porta di ascolto può essere aperta o chiusa (filtrata) utilizzando un firewall.
In termini generali, una porta aperta è una porta di rete che accetta pacchetti in entrata da posizioni remote.
Ad esempio, se si esegue un server Web in ascolto sulle porte
80
e
443
e tali porte sono aperte sul firewall, chiunque (tranne ips bloccati) sarà in grado di accedere ai siti Web ospitati sul server Web tramite il proprio browser. In questo caso, sia
80
che
443
sono porte aperte.
Le porte aperte possono comportare un rischio per la sicurezza in quanto ogni porta aperta può essere utilizzata dagli aggressori per sfruttare una vulnerabilità o eseguire qualsiasi altro tipo di attacco. È necessario esporre solo le porte necessarie per la funzionalità dell'applicazione e chiudere tutte le altre porte.
Seleziona Apri porte con
nmap
Nmap è un potente strumento di scansione della rete in grado di scansionare singoli host e reti di grandi dimensioni. Viene utilizzato principalmente per audit di sicurezza e test di penetrazione.
Se disponibile,
nmap
dovrebbe essere il tuo primo strumento quando si tratta di scansione delle porte. Oltre alla scansione delle porte,
nmap
può anche rilevare l'indirizzo Mac, il tipo di sistema operativo, le versioni del kernel e molto altro.
Il seguente comando emesso dalla console determina quali porte sono in ascolto per le connessioni TCP dalla rete:
sudo nmap -sT -p- 10.10.8.8
-sT
dice a
nmap
di cercare le porte TCP e
-p-
di cercare tutte le 65535 porte. Se
-p-
non viene utilizzato,
nmap
eseguirà la scansione di solo 1000 porte.
Starting Nmap 7.60 (https://nmap.org) at 2019-07-09 23:10 CEST Nmap scan report for 10.10.8.8 Host is up (0.0012s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds
L'output sopra mostra che solo le porte
22
,
80
e
8069
sono aperte sul sistema di destinazione.
Per cercare le porte UDP usa
-sU
invece di
-sT
:
sudo nmap -sU -p- 10.10.8.8
Per maggiori informazioni visita la pagina man di nmap e leggi tutte le altre potenti opzioni di questo strumento.
Seleziona Apri porte con
netcat
Netcat (o
nc
) è uno strumento da riga di comando in grado di leggere e scrivere dati attraverso connessioni di rete, utilizzando i protocolli TCP o UDP.
Con
netcat
è possibile eseguire la scansione di una singola porta o di un intervallo di porte.
Ad esempio, per cercare porte TCP aperte su una macchina remota con indirizzo IP
10.10.8.8
nell'intervallo
20-80
, utilizzare il comando seguente:
nc -z -v 10.10.8.8 20-80
L'opzione
-z
dice a
nc
di scansionare solo per porte aperte, senza inviare alcun dato e
-v
è per informazioni più dettagliate.
L'output sarà simile al seguente:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded!… Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
Per cercare le porte UDP passare l'opzione
-u
al comando
nc
:
nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded
Seleziona Apri porte usando Bash Pseudo Device
Un altro modo per verificare se una determinata porta è aperta o chiusa è utilizzare la pseudo-dispositivo Bash shell
/dev/tcp/..
o
/dev/udp/..
Quando si esegue un comando su uno pseudo-dispositivo
/dev/$PROTOCOL/$HOST/$IP
, Bash aprirà una connessione TCP o UDP all'host specificato sulla porta specificata.
La seguente istruzione if..else verificherà se la porta
443
su
kernel.org
è aperta:
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
Port is open
Come funziona il codice sopra?
Il timeout predefinito durante la connessione a una porta mediante uno pseudo dispositivo è enorme, quindi stiamo usando il comando
timeout
per terminare il comando test dopo 5 secondi. Se la connessione viene stabilita con la porta
443
di
kernel.org
il comando test restituirà true.
Puoi anche usare il ciclo for per verificare un intervallo di porte:
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
L'output sarà simile al seguente:
port 22 is open port 80 is open
Conclusione
Ti abbiamo mostrato diversi strumenti che puoi usare per cercare porte aperte. Esistono anche altre utilità e metodi per verificare la presenza di porte aperte, ad esempio è possibile utilizzare il modulo
socket
Python,
curl
,
telnet
o
wget
.
Come salvare tutte le schede aperte come segnalibri in Chrome, Firefox, IE
Vuoi aggiungere tutte le schede ai segnalibri tutto una volta? Puoi salvare tutte le schede o le pagine aperte come segnalibri o preferiti nei browser Web di Chrome, Firefox e Internet Explorer, seguendo questi passaggi.
Stampante hp deskjet 2600: come scansionare documenti su telefono e computer
Hai acquistato la nuova stampante HP DeskJet 2600? Oggi vi mostriamo come ottenere facilmente copie scansionate sul telefono e sul computer dalla stampante All-in-One DeskJet 2600.
Come verificare la presenza di porte in ascolto in Linux (porte in uso)
Questo articolo spiega come scoprire le porte in uso e quali servizi sono in ascolto su quali porte utilizzano i comandi netstat, ss e lsof. Le istruzioni sono applicabili a tutti i sistemi operativi basati su Linux e Unix come macOS.







