= 16 && b <= 31) || (a === 192 && b === 168)) return this.i18n.private;
return this.i18n.public;
},
get cidr() { return this.network + '/' + this.prefix; },
get valid() {
return this.oct.every(o => { const n = +o; return o !== '' && Number.isInteger(n) && n >= 0 && n <= 255; })
&& this.prefix >= 0 && this.prefix <= 32;
},
get ip32() { return (((+this.oct[0])<<24)|((+this.oct[1])<<16)|((+this.oct[2])<<8)|(+this.oct[3]))>>>0; },
get mask32() { return this.prefix === 0 ? 0 : (0xFFFFFFFF << (32 - this.prefix)) >>> 0; },
dotted(n) { n = n >>> 0; return [(n>>>24)&255,(n>>>16)&255,(n>>>8)&255,n&255].join('.'); },
get network() { return this.dotted((this.ip32 & this.mask32) >>> 0); },
get broadcast() { return this.dotted((this.ip32 | (~this.mask32 >>> 0)) >>> 0); },
get mask() { return this.dotted(this.mask32); },
get wildcard() { return this.dotted((~this.mask32) >>> 0); },
get hosts() { return this.prefix >= 31 ? (this.prefix === 32 ? 1 : 2) : Math.pow(2, 32 - this.prefix) - 2; },
get firstHost() { return this.prefix >= 31 ? this.network : this.dotted(((this.ip32 & this.mask32) + 1) >>> 0); },
get lastHost() { return this.prefix >= 31 ? this.broadcast : this.dotted(((this.ip32 | (~this.mask32 >>> 0)) - 1) >>> 0); }
}">
Subnetz-Rechner
Netzadresse, Broadcast, Netzmaske und nutzbaren Host-Bereich für ein CIDR-Subnetz berechnen.
/
Netzadresse
Broadcast
Netzmaske
(Wildcard: )
Host-Bereich
Nutzbare Hosts
CIDR
Klasse
()
Ungültige Eingabe.