Date: Thu, 6 Jun 2002 22:49:49 -0600 From: "Mike Roest" <bsd-lists@blahz.ab.ca> To: "'BSD Freak'" <bsd-freak@mbox.com.au>, "'FreeBSD Questions'" <freebsd-questions@FreeBSD.ORG> Subject: RE: Converting decimal dotted subnet mask to CIDR in a script Message-ID: <000101c20dde$c4914230$465d4018@zeus> In-Reply-To: <000001c20ddc$4916c370$465d4018@zeus>
next in thread | previous in thread | raw e-mail | index | archive | help
Here's a quick python script that does it. You should be able to port
this to any language fairly easily
--code--
#!/usr/local/bin/python
from string import *
subnet = "255.255.255.0"
(octet1,octet2,octet3,octet4) = subnet.split(".")
octet1 = int(octet1)
octet2 = int(octet2)
octet3 = int(octet3)
octet4 = int(octet4)
worker = octet1
count = 0
while worker != 0:
if worker % 2 == 1:
count = count + 1
worker = worker/2
worker = octet2
while worker != 0:
if worker % 2 == 1:
count = count +1
worker = worker/2
worker = octet3
while worker != 0:
if worker % 2 == 1:
count = count +1
worker = worker/2
worker = octet4
while worker != 0:
if worker % 2 == 1:
count= count+1
worker = worker/2
print count
--end code--
--Mike
-----Original Message-----
From: owner-freebsd-questions@FreeBSD.ORG
[mailto:owner-freebsd-questions@FreeBSD.ORG] On Behalf Of Mike Roest
Sent: Thursday, June 06, 2002 10:32 PM
To: 'BSD Freak'; 'FreeBSD Questions'
Subject: RE: Converting decimal dotted subnet mask to CIDR in a script
You can
1)split each of the octects at the decimals.
2)convert each resulting numbers to binary
3)count the number of ones in the 4 binary numbers.
4)bang you have the result.
This procedure "should" work for all subnet masks
-Mike
-----Original Message-----
From: owner-freebsd-questions@FreeBSD.ORG
[mailto:owner-freebsd-questions@FreeBSD.ORG] On Behalf Of BSD Freak
Sent: Thursday, June 06, 2002 10:05 PM
To: FreeBSD Questions
Subject: Converting decimal dotted subnet mask to CIDR in a script
Hi all,
I have a variable in a script we use
$MASK=255.255.255.0
Is there a utility or an easy way to process $MASK and get
$MASKCIDR=24
the CIDR value of 255.255.255.0
Many thanks...
---------------------------------------------------------------------
Faxes delivered directly to any email address, new to mBox!
Find out more http://www.mbox.com.au/fax
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000101c20dde$c4914230$465d4018>
