Wie finde ich das Slash-Format einer IP-Adresse?

1190
user2750830

Zum Beispiel in dieser IP-Adresse: 145.32.59.24

Das Schrägstrichformat sollte / 16 in der Antwort sein.

Aber ich habe keine Ahnung, wie das zu bestimmen ist.

Ich verstehe, dass dies eine IP-Adresse der Klasse B ist.

Bitte helfen Sie mir ... ich habe mich so sehr bemüht, das herauszufinden.

0
http://www.vlsm-calc.net/ipclasses.php listet alle Klassen und ihre Subnetzmasken auf. Sobald Sie die Klasse kennen, sollte es leicht sein, das 'Slash-Format' zu verwenden. Vinayak Garg vor 10 Jahren 1
@ VinayakGarg, setze dies als Antwort. Ihre Lösung ermöglicht es, das 'Slash-Format' erfolgreich zu bestimmen - und beantwortet so die Frage. VL-80 vor 10 Jahren 1
Praktischer Hinweis: Im wirklichen Leben würde dies funktionieren, wenn das Internet noch klassisch ist. Mit der Einführung von CIDR werden IP-Klassen jedoch nicht mehr im Internet (und in den meisten anderen Netzwerken) verwendet. Daher kann die Maske eines Subnetzes nicht ermittelt werden. mtak vor 10 Jahren 9

2 Antworten auf die Frage

4
mpez0

Seit der Einführung des Classless Internet Domain Routing (CIDR) im Jahr 1993 sind die ABC- "Klassen" des Netzwerks / Hosts immer weniger nützlich und werden immer weniger verwendet. Es gibt keine zuverlässige Methode, um die Partitionierung einer IPv4-Adresse in das Netzwerk und die Host-Komponenten allein von der Adresse zu bestimmen. Das / n-Format zum Angeben der Netzmaske setzt eine zusammenhängende Netzmaske dieser vielen Bits voraus, wobei der ganz rechte Rest der Host-Teil ist.

Die alte Klasse A würde also als / 8, B als / 16 und C als / 24 ausgedrückt. Mit CIDR sind Sie jedoch nicht auf diese Partitionen beschränkt, sondern können die 32-Bit-Adresse beliebig teilen. Sie benötigen die Netzmaske, um das richtige / n zu bestimmen. Umgekehrt kann man bei gegebenem / n die Netzmaske bestimmen. Zum Beispiel hätte / 16 eine 255.255.0.0 Netzmaske.

1
krowe

Dies wird als "Netzmaske" bezeichnet. nicht das 'slash format'. Wenn überhaupt, können Sie es 'CIDR-Notation' nennen. Das Format ist in der Regel irrelevant. Dadurch wird die Netzmaske im dot-notationFormat zurückgegeben:

#!/bin/sh ifconfig "$1" | sed -rn '2s/ .*:(.*)$/\1/p' 

Rufen Sie es mögen: script.sh eth0. Wenn Sie möchten, können Sie dies analysieren, um die CIDR-Notation zu erstellen, oder Sie können versuchen, sie aus der Ausgabe zu analysieren, ip addrderen Anzeige bereits in der CIDR-Notation angezeigt wird. Ich habe diesen Code jedoch nicht zur Hand.

Sie haben vielleicht bemerkt, dass keine dieser Lösungen tatsächlich eine IP-Adresse benötigt und eine Netzmaske ausspuckt. Das ist nicht möglich. Der Grund, warum wir bei der Konfiguration unserer IP eine Netzmaske angeben müssen, liegt darin, dass sie nicht automatisch von der IP bestimmt werden kann. Die Netzmaske ist ein Filter, der auf eine IP-Adresse angewendet werden soll. Es enthält Informationen, die einer IP-Adresse nicht eigen sind. Beide Lösungen geben eigentlich nur die Netzmaske zurück, die zum Konfigurieren der Schnittstelle verwendet wird.