GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare lo strumento da riga di comando sipcalc Linux

Gli unici numeri di rete che posso tenere nella mia testa sono ora e sono sempre stati una rete di classe C con una maschera di rete a 24 bit, come 192.168.1.0/24. So che sono disponibili 254 indirizzi host utilizzabili con un indirizzo di trasmissione di 192.168.1.255, un indirizzo gateway/router di 192.168.1.1 o 192.168.1.254 (a seconda di chi gestisce la rete) e una maschera di rete leggibile dall'uomo di 255.255.255.0 . Questa è la mia rete standard. Dopotutto, 254 host sono sufficienti per qualsiasi sottorete, giusto? Sbagliato. Alcuni anni fa, ho dovuto uscire dal mio scenario standard di 254 host per sottorete quando ho deciso di utilizzare una maschera di rete a 22 bit (255.255.252.0) per ottenere uno spazio di indirizzi utilizzabile di 1022.

Sapevo poco di questo spazio di indirizzi ed era frustrante cercare le semplici informazioni di cui avevo bisogno senza scorrere i forum con tutte le chiacchiere inattive e la retorica fuori tema. Immagino che alcune persone abbiano solo bisogno di uno spazio in cui esprimere le proprie lamentele su tutto. Sto divagando.

Il problema

Dal momento che tutto ha un indirizzo IP in questi giorni, il mio server DHCP stava esaurendo gli indirizzi IP e ho dovuto fare qualcosa di semplice per alleviare la situazione. Avevo la ridicola idea che 254 indirizzi sarebbero stati sufficienti per circa 130 dipendenti, 30 server, 10 stampanti, due router, 10 punti di accesso wireless e pochi altri dispositivi casuali in ciascuna delle nostre due posizioni. Avevo dimenticato che tutti hanno un telefono collegato al WiFi. Puoi vedere che il mio indirizzo 254 non coprirebbe i PC di tutti più i loro telefoni e non ospiterebbe i miei altri dispositivi necessari. Ho ricevuto troppe chiamate e ticket che descrivevano problemi che non erano così facili da risolvere finché non ho capito che avrei esaurito gli indirizzi IP. E, sfortunatamente, i server DHCP distribuiscono gli indirizzi in base all'ordine di arrivo, in base all'ordine di arrivo, indipendentemente da chi (o cosa) riceve quegli indirizzi.

Ho scoperto il sipcalc comando per semplificarmi la vita durante la determinazione di intervalli di indirizzi IP, maschere di rete e potenziali indirizzi di gateway. Il sipcalc command è una sorta di calcolatore della riga di comando che mostra tutte le informazioni relative all'IP necessarie per inserire le informazioni DHCP o impostare gli indirizzi IP statici.

Utilizzo sipcalc

Ecco un esempio di rete standard di Classe C a 24 bit che utilizza sipcalc .

$ sipcalc 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0

[CIDR]
Host address		- 192.168.1.0
Host address (decimal)	- 3232235776
Host address (hex)	- C0A80100
Network address		- 192.168.1.0
Network mask		- 255.255.255.0
Network mask (bits)	- 24
Network mask (hex)	- FFFFFF00
Broadcast address	- 192.168.1.255
Cisco wildcard		- 0.0.0.255
Addresses in network	- 256
Network range		- 192.168.1.0 - 192.168.1.255
Usable range		- 192.168.1.1 - 192.168.1.254

E l'equivalente esempio di maschera di rete a 22 bit.

$ sipcalc 192.168.1.0/22
-[ipv4 : 192.168.1.0/22] - 0

[CIDR]
Host address		- 192.168.1.0
Host address (decimal)	- 3232235776
Host address (hex)	- C0A80100
Network address		- 192.168.0.0
Network mask		- 255.255.252.0
Network mask (bits)	- 22
Network mask (hex)	- FFFFFC00
Broadcast address	- 192.168.3.255
Cisco wildcard		- 0.0.3.255
Addresses in network	- 1024
Network range		- 192.168.0.0 - 192.168.3.255
Usable range		- 192.168.0.1 - 192.168.3.254

Se sei uno di quelli a cui piace vedere molte informazioni, indipendentemente dal loro valore, prova ad aggiungere il -a (tutti) passa al tuo comando.

$ sipcalc -a 192.168.1.0/24
-[ipv4 : 192.168.1.0/24] - 0

[Classful]
Host address		- 192.168.1.0
Host address (decimal)	- 3232235776
Host address (hex)	- C0A80100
Network address		- 192.168.1.0
Network class		- C
Network mask		- 255.255.255.0
Network mask (hex)	- FFFFFF00
Broadcast address	- 192.168.1.255

[CIDR]
Host address		- 192.168.1.0
Host address (decimal)	- 3232235776
Host address (hex)	- C0A80100
Network address		- 192.168.1.0
Network mask		- 255.255.255.0
Network mask (bits)	- 24
Network mask (hex)	- FFFFFF00
Broadcast address	- 192.168.1.255
Cisco wildcard		- 0.0.0.255
Addresses in network	- 256
Network range		- 192.168.1.0 - 192.168.1.255
Usable range		- 192.168.1.1 - 192.168.1.254

[Classful bitmaps]
Network address		- 11000000.10101000.00000001.00000000
Network mask		- 11111111.11111111.11111111.00000000

[CIDR bitmaps]
Host address		- 11000000.10101000.00000001.00000000
Network address		- 11000000.10101000.00000001.00000000
Network mask		- 11111111.11111111.11111111.00000000
Broadcast address	- 11000000.10101000.00000001.11111111
Cisco wildcard		- 00000000.00000000.00000000.11111111
Network range		- 11000000.10101000.00000001.00000000 -
			  11000000.10101000.00000001.11111111
Usable range		- 11000000.10101000.00000001.00000001 -
			  11000000.10101000.00000001.11111110

[Networks]
Network			- 192.168.1.0     - 192.168.1.255 (current)

Personalmente, penso che le informazioni di Classless Inter-Domain Routing (CIDR) siano le più utili. È l'output predefinito per sipcalc comando. Non sono sicuro di chi usi le informazioni bitmap, ma è lì per quelli di voi che lo fanno. Non ho mai avuto un'istanza nella mia carriera per conoscerlo o usarlo. Forse la sua conoscenza è utile per gli esami di certificazione di rete, ma oltre a ciò, non sono sicuro che lo vedrai mai in una rete o un'applicazione nella vita reale. Se lo fai, usa sipcalc per semplificarti la vita.

[ Potresti anche divertirti:eseguire una rapida scansione NMAP per fare l'inventario della mia rete ]

opzioni sipcalc

Se hai letto qualcuno dei miei articoli, sai che uso un sottoinsieme di opzioni di comando, proprio quelle di cui ho bisogno, in effetti. Raramente ho il tempo o la pazienza di esplorare ogni opzione per un comando. In genere prendo la pagina man, trovo una o due opzioni che mi diano le informazioni di cui ho bisogno e poi vado avanti. Per quelli di voi che amano esplorare ogni anfratto, godetevi tutto sipcalc 's angoli e fessure (elenco delle opzioni) dalla pagina man:

OPTIONS
       -a --all
              Give  all  possible  information about an adress or
              interface, this is equivalent to giving  the  flags
              -b -c -i -n 0 for IPv4 and -e -r -t for IPv6.


       -b --cidr-bitmap (IPv4)
              Display CIDR based bitmaps.


       -c --classfull-addr (IPv4)
              Display classfull address information.


       -d --resolve
              Enable name resolution.


       -e --v4inv6 (IPv6)
              Display v4inv6 address information.


       -h --help
              Display the commandline help.


       -i --cidr-addr (default IPv4)
              Display CIDR address information.


       -I, --addr-int=INT
              Explicitly  add  an interface.  This can be used to
              circumvent   the   sipcalc   "smart   parsing"   of
              addresses/interfaces  on  the commandline. This can
              be useful if you for example for some  reason  have
              an  interface  with  the  same  name  as  an actual
              address, eg. 127.0.0.1 or ::1 etc.   See  also:  -4
              -6.


       -n --subnets=NUM
              Display  NUM  extra subnets (starting from the cur-
              rent subnet). Will display all subnets in the  cur-
              rent /24 if NUM is 0.


       -r --v6rev (IPv6)
              Display IPv6 reverse DNS information.


       -s --v4split=MASK (IPv4)
              Split  the  current  network  into  subnets of MASK
              size. MASK can be given in dotted quad, hex or CIDR
              form.


       -S, --v6split=MASK (IPv6)
              Split  the  current  network  into  subnets of MASK
              size. MASK must be given in CIDR form, either  with
              or with the '/' character.


       -t, --v6-standard (default IPv6)
              Display IPv6 address information.


       -u, --split-verbose
              This  will put network splitting into verbose mode.
              This means that  all  the  subnets  generated  when
              splitting  a network will be passed back to sipcalc
              for explicit parsing giving the same output  as  if
              the address had been given on the commandline.  All
              options passed to sipcalc on the  commandline  will
              also be inherited when the subnet is passed back to
              sipcalc for parsing, with one exception, the  -s/-S
              flag,  we don't want an endless loop.  Sending only
              the -s/-S and -u flags to  sipcalc  will  give  the
              default output (-i for ipv4 and -t for ipv6).


       -v --version
              Display version information.


       -x --classful-bitmap (IPv6)
              Display a classfull bitmap.


       -4, --addr-ipv4=ADDR
              Explicitly add an IPv4 address.  See also: -I -6.


       -6, --addr-ipv6=ADDR
              Explicitly add an IPv6 address.  See also: -I -4.

Per me, le informazioni IPv6 sono quasi inutili perché se dovessi convertire una delle mie reti in essa, DHCP sarebbe il mio migliore amico. Preferirei non guardare o tentare di digitare indirizzi a 128 bit. Fino ad allora, sipcalc e continuerò la nostra relazione minimalista orientata a IPv4.

[ Cerchi ulteriori informazioni sull'automazione dei sistemi? Inizia con The Automated Enterprise, un libro gratuito di Red Hat. ]

Concludi

Il sipcalc command è uno di quei comandi che tieni nel tuo arsenale personale di amministratore di sistema per quando ne hai bisogno. E non ne hai bisogno molto spesso a meno che non ti occupi di creare, gestire e assegnare spazi di indirizzi IP su base giornaliera. Alcuni amministratori di sistema convogliano sipcalc 's informazioni in un file di testo e stamparlo per riferimento futuro. Trovo che inviare le informazioni a una pagina HTML sia molto più pratico che tenere traccia di frammenti di carta per il resto dei miei giorni o fissarli al muro del mio cubicolo già sovraffollato.


Linux
  1. Come usare il comando sed di Linux

  2. Come usare il comando Linux grep

  3. Come usare il comando cronologia in Linux

  4. Come installare e utilizzare Mosh Command Line Tool Linux

  5. Come utilizzare il comando id in Linux

Come utilizzare il proxy sulla riga di comando di Linux?

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux