GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie das Linux-Befehlszeilentool sipcalc

Die einzigen Netzwerknummern, die ich im Kopf behalten kann, sind jetzt und immer ein Klasse-C-Netzwerk mit einer 24-Bit-Netzmaske, wie z. B. 192.168.1.0/24. Ich weiß, dass 254 nutzbare Hostadressen mit einer Broadcast-Adresse von 192.168.1.255, einer Gateway-/Router-Adresse von 192.168.1.1 oder 192.168.1.254 (je nachdem, wer das Netzwerk betreibt) und einer für Menschen lesbaren Netzmaske von 255.255.255.0 verfügbar sind . Das ist mein Standardnetzwerk. Schließlich reichen 254 Hosts für jedes Subnetz aus, oder? Falsch. Vor ein paar Jahren musste ich mein Standard-Szenario mit 254 Hosts pro Subnetz verlassen, als ich mich entschied, eine 22-Bit-Netzmaske (255.255.252.0) zu verwenden, um einen nutzbaren Adressraum von 1022 zu erhalten.

Ich wusste wenig über diesen Adressraum, und es war frustrierend, nach den einfachen Informationen zu suchen, die ich brauchte, ohne durch Foren mit all dem müßigen Geschwätz und Off-Topic-Rhetorik zu scrollen. Ich schätze, manche Leute brauchen einfach einen Raum, in dem sie ihren Beschwerden über alles Luft machen können. Ich schweife ab.

Das Problem

Da heutzutage alles eine IP-Adresse hat, gingen meinem DHCP-Server die IP-Adressen aus, und ich musste etwas Einfaches tun, um die Situation zu lindern. Ich hatte die lächerliche Vorstellung, dass 254 Adressen für etwa 130 Mitarbeiter, 30 Server, 10 Drucker, zwei Router, 10 Wireless Access Points und ein paar andere zufällige Geräte an jedem unserer beiden Standorte ausreichen würden. Ich hatte vergessen, dass jeder ein Telefon hat, das er mit WLAN verbunden hat. Sie können sehen, dass meine 254-Adresse nicht alle PCs und ihre Telefone abdecken und meine anderen erforderlichen Geräte aufnehmen würde. Ich habe viel zu viele Anrufe und Tickets erhalten, in denen Probleme beschrieben wurden, die nicht so einfach zu beheben waren, bis ich herausfand, dass mir die IP-Adressen ausgegangen waren. Und unglücklicherweise vergeben DHCP-Server Adressen nach dem Prinzip „Wer zuerst kommt, mahlt zuerst“, ohne Rücksicht darauf, wer (oder was) diese Adressen erhält.

Ich habe den sipcalc entdeckt Befehl, um mir das Leben bei der Bestimmung von IP-Adressbereichen, Netzmasken und potenziellen Gateway-Adressen ein wenig zu erleichtern. Der sipcalc command ist eine Art Befehlszeilenrechner, der alle IP-bezogenen Informationen anzeigt, die Sie benötigen, um Ihre DHCP-Informationen einzugeben oder Ihre statischen IP-Adressen einzurichten.

sipcalc-Nutzung

Hier ist ein standardmäßiges 24-Bit-Klasse-C-Netzwerkbeispiel mit 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

Und das entsprechende 22-Bit-Netzmaskenbeispiel.

$ 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

Wenn Sie zu denen gehören, die gerne viele Informationen sehen, unabhängig von ihrem Wert, versuchen Sie, den -a hinzuzufügen (alle) wechseln zu Ihrem Befehl.

$ 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)

Ich persönlich denke, dass die Informationen zum Classless Inter-Domain Routing (CIDR) am nützlichsten sind. Es ist die Standardausgabe für sipcalc Befehl. Ich bin mir nicht sicher, wer Bitmap-Informationen verwendet, aber sie sind für diejenigen unter Ihnen da, die dies tun. Ich hatte noch nie einen Fall in meiner Karriere, um es zu kennen oder zu benutzen. Vielleicht ist die Kenntnis darüber für Netzwerkzertifizierungsprüfungen nützlich, aber darüber hinaus bin ich mir nicht sicher, ob Sie es jemals in einem realen Netzwerk oder einer realen Anwendung sehen werden. Verwenden Sie in diesem Fall sipcalc um es dir leicht zu machen.

[Das könnte Ihnen auch gefallen:Ausführen eines schnellen NMAP-Scans zum Inventarisieren meines Netzwerks]

sipcalc-Optionen

Wenn Sie einen meiner Artikel gelesen haben, wissen Sie, dass ich eine Teilmenge von Befehlsoptionen verwende – genau die, die ich benötige. Ich habe selten die Zeit oder die Geduld, alle Optionen für einen Befehl zu erkunden. Normalerweise gehe ich auf die Manpage, finde ein oder zwei Optionen, die mir die Informationen liefern, die ich benötige, und gehe dann weiter. Für diejenigen unter Ihnen, die es lieben, jeden Winkel und jede Ritze zu erkunden, genießen Sie bitte ganz sipcalc 's Ecken und Winkel (Optionsliste) von der Manpage:

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.

Für mich sind die IPv6-Informationen fast wertlos, denn wenn ich jemals eines meiner Netzwerke darauf umstelle, wird DHCP mein bester Freund sein. Ich würde lieber nicht auf 128-Bit-Adressen schauen oder versuchen, sie einzugeben. Bis dahin sipcalc und ich werde unsere minimalistische IPv4-orientierte Beziehung fortsetzen.

[ Suchen Sie nach mehr Informationen zur Systemautomatisierung? Beginnen Sie mit The Automated Enterprise, einem kostenlosen Buch von Red Hat. ]

Abschluss

Der sipcalc command ist einer dieser Befehle, die Sie in Ihrem persönlichen Sysadmin-Arsenal aufbewahren, wenn Sie es brauchen. Und Sie brauchen es nicht sehr oft, es sei denn, Sie müssen täglich IP-Adressräume erstellen, verwalten und zuweisen. Einige Systemadministratoren leiten sipcalc weiter 's-Informationen in eine Textdatei und drucken Sie sie zur späteren Bezugnahme aus. Ich finde, dass es viel praktischer ist, die Informationen an eine HTML-Seite zu senden, als für den Rest meiner Tage den Überblick über Zettel zu behalten oder sie an meiner bereits überfüllten Bürowand festzuheften.


Linux
  1. So verwenden Sie den Linux-Befehl sed

  2. So verwenden Sie den Linux-Grep-Befehl

  3. So verwenden Sie den Verlaufsbefehl unter Linux

  4. So installieren und verwenden Sie das Mosh Command Line Tool Linux

  5. So verwenden Sie den Befehl „screen“ unter Linux

Wie verwende ich Proxy in der Linux-Befehlszeile?

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux