Ricerca nel sito web

22 Comandi di rete Linux per amministratore di sistema


Le attività di routine di un amministratore di sistema includono la configurazione, la manutenzione, la risoluzione dei problemi e la gestione di server e reti all'interno dei data center. Esistono numerosi strumenti e utilità in Linux progettati per scopi amministrativi.

In questo articolo esamineremo alcuni degli strumenti e delle utilità da riga di comando più utilizzati per la gestione della rete in Linux, suddivisi in diverse categorie. Spiegheremo alcuni esempi di utilizzo comune, che renderanno la gestione della rete molto più semplice in Linux.

Su questa pagina

  • Comando ifconfig
  • Comando ip
  • Comando ifup
  • Comando ethtool
  • comando ping
  • Comando traceroute
  • comando mtr
  • Comando del percorso
  • Comando nmcli
  • Comando netstat
  • ss Comando
  • comando nc
  • Comando nmap
  • comando ospite
  • scava Comando
  • Comando nslookup
  • Comando tcpdump
  • Utilità Wireshark
  • Strumento bmon
  • Firewall iptables
  • firewalld
  • Firewall UFW

Questo elenco è ugualmente utile per gli ingegneri di rete Linux a tempo pieno.

Strumenti di configurazione della rete, risoluzione dei problemi e debug

1. Comando ifconfig

ifconfig è uno strumento di interfaccia da riga di comando per la configurazione dell'interfaccia di rete e viene utilizzato anche per inizializzare le interfacce all'avvio del sistema. Una volta che un server è attivo e funzionante, può essere utilizzato per assegnare un indirizzo IP a un'interfaccia e abilitare o disabilitare l'interfaccia su richiesta.

Viene utilizzato anche per visualizzare l'indirizzo IP, l'indirizzo hardware/MAC e la dimensione MTU (unità massima di trasmissione) delle interfacce attualmente attive. ifconfig è quindi utile per il debug o l'ottimizzazione del sistema.

Di seguito è riportato un esempio per visualizzare lo stato di tutte le interfacce di rete attive.

ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

Per elencare tutte le interfacce attualmente disponibili, sia su che giù, utilizza il flag -a.

ifconfig -a 	

Per assegnare un indirizzo IP a un'interfaccia, utilizzare il comando seguente.

sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

Per attivare un'interfaccia di rete, digitare.

sudo ifconfig up eth0

Per disattivare o arrestare un'interfaccia di rete, digitare.

sudo ifconfig down eth0

Nota: sebbene ifconfig sia un ottimo strumento, ora è obsoleto (deprecato), il suo sostituto è il comando ip che viene spiegato di seguito.

2. Comando IP

Il comando ip è un'altra utile utilità della riga di comando per visualizzare e manipolare routing, dispositivi di rete e interfacce. È un sostituto di ifconfig e di molti altri comandi di rete. (Leggi il nostro articolo "Qual è la differenza tra ifconfig e ip Command" per saperne di più.)

Il seguente comando mostrerà l'indirizzo IP e altre informazioni su un'interfaccia di rete.

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

Per assegnare temporaneamente l'indirizzo IP a un'interfaccia di rete specifica (eth0), digitare.

sudo ip addr add 192.168.56.1 dev eth0

Per rimuovere un indirizzo IP assegnato da un'interfaccia di rete (eth0), digitare.

sudo ip addr del 192.168.56.15/24 dev eth0

Per mostrare la tabella dei vicini corrente nel kernel, digitare.

ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

3. comandi ifup, ifdown e ifquery

Il comando ifup attiva un'interfaccia di rete, rendendola disponibile per trasferire e ricevere dati.

sudo ifup eth0

Il comando ifdown disabilita un'interfaccia di rete, mantenendola in uno stato in cui non può trasferire o ricevere dati.

sudo ifdown eth0

Comando ifquery utilizzato per analizzare la configurazione dell'interfaccia di rete, consentendoti di ricevere risposte a domande su come è attualmente configurata.

sudo ifquery eth0

4. Comando Ethtool

ethtool è un'utilità della riga di comando per interrogare e modificare i parametri del controller dell'interfaccia di rete e i driver dei dispositivi. L'esempio seguente mostra l'utilizzo di ethtool e un comando per visualizzare i parametri per l'interfaccia di rete.

sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

5. Comando Ping

ping (Packet INternet Groper) è un'utilità normalmente utilizzata per testare la connettività tra due sistemi su una rete (Local Area Network (LAN) o Wide Area Network (WAN)). Utilizza ICMP (Internet Control Message Protocol) per comunicare con i nodi di una rete.

Per testare la connettività a un altro nodo, è sufficiente fornire, ad esempio, il suo IP o il nome host.

ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

Puoi anche dire al ping di uscire dopo un numero specificato di pacchetti ECHO_REQUEST, utilizzando il flag -c come mostrato.

ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

6. Comando Traceroute

Traceroute è un'utilità della riga di comando per tracciare il percorso completo dal tuo sistema locale a un altro sistema di rete. Stampa un numero di hop (IP del router) nel percorso che percorri per raggiungere il server finale. È un'utilità di risoluzione dei problemi di rete facile da usare dopo il comando ping.

In questo esempio, stiamo tracciando il percorso seguito dai pacchetti dal sistema locale a uno dei server di Google con indirizzo IP 216.58.204.46.

traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

7. Strumento diagnostico di rete MTR

MTR è un moderno strumento diagnostico di rete da riga di comando che combina le funzionalità di ping e traceroute in un unico strumento diagnostico. Il suo output viene aggiornato in tempo reale, per impostazione predefinita finché non esci dal programma premendo q.

Il modo più semplice per eseguire mtr è fornire un nome host o un indirizzo IP come argomento, come segue.

mtr google.com
OR
mtr 216.58.223.78
Uscita del campione
linux-console.net (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

Puoi limitare il numero di ping a un valore specifico e uscire da mtr dopo tali ping, utilizzando il flag -c come mostrato.

mtr -c 4 google.com

8. Comando di percorso

Il route è un'utilità della riga di comando per visualizzare o manipolare la tabella di routing IP di un sistema Linux. Viene utilizzato principalmente per configurare percorsi statici verso host o reti specifici tramite un'interfaccia.

È possibile visualizzare la tabella di routing IP del kernel digitando.

route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Sono disponibili numerosi comandi che è possibile utilizzare per configurare il routing. Eccone alcuni utili:

Aggiungi un gateway predefinito alla tabella di routing.

sudo route add default gw <gateway-ip>

Aggiungi un percorso di rete alla tabella di routing.

sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

Elimina una voce di instradamento specifica dalla tabella di instradamento.

sudo route del -net <network ip/cidr>

9. Comando Nmcli

Nmcli è uno strumento da riga di comando programmabile e facile da usare per segnalare lo stato della rete, gestire le connessioni di rete e controllare NetworkManager.

Per visualizzare tutti i tuoi dispositivi di rete, digita.

nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

Per verificare le connessioni di rete sul tuo sistema, digita.

nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

Per vedere solo le connessioni attive, aggiungi il flag -a.

nmcli con show -a

Strumenti di scansione della rete e analisi delle prestazioni

10. Comando Netstat

netstat è uno strumento da riga di comando che visualizza informazioni utili come connessioni di rete, tabelle di routing, statistiche di interfaccia e molto altro, riguardanti il sottosistema di rete Linux. È utile per la risoluzione dei problemi di rete e l'analisi delle prestazioni.

Inoltre, è anche uno strumento fondamentale di debug dei servizi di rete utilizzato per verificare quali programmi sono in ascolto su quali porte. Ad esempio, il seguente comando mostrerà tutte le porte TCP in modalità di ascolto e quali programmi sono in ascolto su di esse.

sudo netstat -tnlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

Per visualizzare la tabella di routing del kernel, usa il flag -r (che equivale a eseguire il comando route sopra).

netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

Nota: sebbene Netstat sia un ottimo strumento, ora è obsoleto (deprecato), il suo sostituto è il comando ss spiegato di seguito.

11. ss Comando

ss (socket Statistics) è una potente utility da riga di comando per indagare sui socket. Scarica le statistiche del socket e visualizza informazioni simili a netstat. Inoltre, mostra più informazioni TCP e sullo stato rispetto ad altre utilità simili.

L'esempio seguente mostra come elencare tutte le porte TCP (socket) aperte su un server.

ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

Per visualizzare tutte le connessioni TCP attive insieme ai relativi timer, esegui il comando seguente.

ss -to

12. Comando NC

NC (NetCat), noto anche come "Coltellino svizzero di rete", è una potente utility utilizzata per quasi tutte le attività relative ai socket di dominio TCP, UDP o UNIX. Viene utilizzato per aprire connessioni TCP, ascoltare porte TCP e UDP arbitrarie, eseguire la scansione delle porte e altro ancora.

Puoi anche usarlo come semplice proxy TCP, per testare i demoni di rete, per verificare se le porte remote sono raggiungibili e molto altro. Inoltre, puoi utilizzare nc insieme al comando pv per trasferire file tra due computer.

L'esempio seguente mostrerà come scansionare un elenco di porte.

nc -zv server2.tecmint.lan 21 22 80 443 3000

È inoltre possibile specificare un intervallo di porte come mostrato.

nc -zv server2.tecmint.lan 20-90

L'esempio seguente mostra come utilizzare nc per aprire una connessione TCP alla porta 5000 su server2.tecmint.lan, utilizzando la porta 3000 come porta di origine, con un timeout di 10 secondi.

nc -p 3000 -w 10 server2.tecmint.lan 5000 

13. Comando Nmap

Nmap (Network Mapper) è uno strumento potente ed estremamente versatile per gli amministratori di sistema/rete Linux. Viene utilizzato per raccogliere informazioni su un singolo host o esplorare le reti di un'intera rete. Nmap viene utilizzato anche per eseguire scansioni di sicurezza, controlli di rete e ricerca di porte aperte su host remoti e molto altro ancora.

Puoi scansionare un host utilizzando il suo nome host o indirizzo IP, ad esempio.

nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

In alternativa, utilizzare un indirizzo IP come mostrato.

nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

Leggi i nostri seguenti articoli utili sul comando nmap.

  1. Come utilizzare gli script Nmap Script Engine (NSE) in Linux
  2. Una guida pratica a Nmap (Network Security Scanner) in Kali Linux
  3. Scopri tutti gli indirizzi IP degli host live connessi alla rete in Linux

Utilità di ricerca DNS

14. Comando host

Il comando host è una semplice utility per eseguire ricerche DNS, traduce i nomi host in indirizzi IP e viceversa.

host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

15. comando scava

dig (domain information groper) è anche un'altra semplice utility di ricerca DNS, utilizzata per interrogare informazioni relative al DNS come A Record, CNAME, MX Record ecc., ad esempio:

dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

16. Comando NSLookup

Nslookup è anche una popolare utility da riga di comando per interrogare i server DNS sia in modo interattivo che non interattivo. Viene utilizzato per interrogare i record di risorse DNS (RR). Puoi trovare il record "A" (indirizzo IP) di un dominio come mostrato.

nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

Puoi anche eseguire una ricerca inversa del dominio come mostrato.

nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

Analizzatori di pacchetti di rete Linux

17. Comando Tcpdump

Tcpdump è uno sniffer di rete da riga di comando molto potente e ampiamente utilizzato. Viene utilizzato per acquisire e analizzare i pacchetti TCP/IP trasmessi o ricevuti su una rete su un'interfaccia specifica.

Per catturare pacchetti da una determinata interfaccia, specificala utilizzando l'opzione -i.

tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP linux-console.net.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > linux-console.net.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP linux-console.net.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > linux-console.net.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP linux-console.net.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

Per catturare un numero specifico di pacchetti, usa l'opzione -c per inserire il numero desiderato.

tcpdump -c 5 -i eth1

Puoi anche catturare e salvare i pacchetti in un file per un'analisi successiva, usa il flag -w per specificare il file di output.

tcpdump -w captured.pacs -i eth1

18. Utilità Wireshark

Wireshark è uno strumento popolare, potente, versatile e facile da usare per acquisire e analizzare i pacchetti in una rete a commutazione di pacchetto, in tempo reale.

È inoltre possibile salvare i dati acquisiti in un file per un controllo successivo. Viene utilizzato dagli amministratori di sistema e dagli ingegneri di rete per monitorare e ispezionare i pacchetti a fini di sicurezza e risoluzione dei problemi.

19. Strumento Bmon

bmon è una potente utility di monitoraggio e debug della rete basata su riga di comando per sistemi simili a Unix, acquisisce statistiche relative alla rete e le stampa visivamente in un formato user-friendly. È un monitor affidabile ed efficace della larghezza di banda in tempo reale e uno stimatore della velocità.

Strumenti di gestione del firewall Linux

20. Firewall Iptables

iptables è uno strumento da riga di comando per configurare, mantenere e controllare le tabelle di filtraggio dei pacchetti IP e il set di regole NAT. Viene utilizzato per configurare e gestire il firewall Linux (Netfilter). Ti consente di elencare le regole di filtro dei pacchetti esistenti; aggiungere, eliminare o modificare le regole del filtro dei pacchetti; elenca i contatori per regola delle regole di filtro dei pacchetti.

Puoi imparare come utilizzare Iptables per vari scopi dalle nostre guide semplici ma complete.

  1. Guida di base su IPTables (Firewall Linux) Suggerimenti/comandi
  2. 25 utili regole del firewall IPtable che ogni amministratore Linux dovrebbe conoscere
  3. Come configurare un firewall Iptables per abilitare l'accesso remoto ai servizi
  4. Come bloccare le richieste ICMP di ping sui sistemi Linux

21. Firewall

Firewalld è un demone potente e dinamico per gestire il firewall Linux (Netfilter), proprio come iptables. Utilizza "zone di rete" invece di INPUT, OUTPUT e FORWARD CHAINS in iptables. Nelle attuali distribuzioni Linux come RHEL/CentOS 7 e Fedora 21+, iptables viene attivamente sostituito da firewalld .

Per iniziare con firewalld, consulta le guide elencate di seguito:

  1. Regole utili di "FirewallD" per configurare e gestire il firewall in Linux
  2. Come configurare "FirewallD" in RHEL/CentOS 7 e Fedora 21
  3. Come avviare/arrestare e abilitare/disabilitare FirewallD e Iptables Firewall in Linux
  4. Impostazione di Samba e configurazione di FirewallD e SELinux per consentire la condivisione di file su Linux/Windows

Importante: Iptables è ancora supportato e può essere installato con il gestore pacchetti YUM. Tuttavia, non puoi utilizzare Firewalld e iptables contemporaneamente sullo stesso server: devi sceglierne uno.

22. UFW (Firewall semplice)

UFW è uno strumento di configurazione firewall ben noto e predefinito sulle distribuzioni Linux Debian e Ubuntu. Viene utilizzato per abilitare/disabilitare il firewall di sistema, aggiungere/eliminare/modificare/reimpostare le regole di filtraggio dei pacchetti e molto altro.

Per verificare lo stato del firewall UFW, digitare.

sudo ufw status

Se il firewall UFW non è attivo, puoi attivarlo o abilitarlo utilizzando il comando seguente.

sudo ufw enable

Per disabilitare il firewall UFW, utilizzare il comando seguente.

sudo ufw disable 

Leggi il nostro articolo Come configurare il firewall UFW su Ubuntu e Debian.

Se desideri trovare maggiori informazioni su un particolare programma, puoi consultare le sue pagine man come mostrato.

man programs_name

È tutto per ora! In questa guida completa, abbiamo esaminato alcuni degli strumenti e delle utilità da riga di comando più utilizzati per la gestione della rete in Linux, in diverse categorie, per amministratori di sistema e ugualmente utili per amministratori/ingegneri di rete a tempo pieno.

Puoi condividere le tue opinioni su questa guida tramite il modulo di commento qui sotto. Fatecelo sapere anche se ci sono sfuggiti strumenti/utilità di rete Linux importanti e utilizzati di frequente o qualsiasi informazione utile correlata.