{"id":56,"date":"2026-09-24T11:18:51","date_gmt":"2026-09-24T11:18:51","guid":{"rendered":"https:\/\/danielsh.es\/index.php\/herramientas-red\/"},"modified":"2026-09-24T11:18:51","modified_gmt":"2026-09-24T11:18:51","slug":"herramientas-red","status":"publish","type":"page","link":"https:\/\/danielsh.es\/index.php\/herramientas-red\/","title":{"rendered":"Calculadora de Subredes &#038; CIDR"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" style=\"font-weight:800;font-size:2.2rem\">\ud83e\uddee Calculadora de Subredes &amp; Prefijos CIDR<\/h1>\n\n\n\n<p class=\"has-contrast-color has-text-color wp-block-paragraph\" style=\"font-size:1.12rem;line-height:1.7\">Herramienta interactiva para estudiantes de <strong>ASIR<\/strong>, administradores de sistemas y t\u00e9cnicos de redes. Calcula al instante la direcci\u00f3n de red, broadcast, rango de hosts utilizables, m\u00e1scaras en formato decimal y wildcard (Cisco ACLs), as\u00ed como la representaci\u00f3n binaria en tiempo real.<\/p>\n\n\n\n<div class=\"sys-card\" style=\"margin:2rem 0;background:#131026;border:1px solid rgba(168,85,247,0.25);border-radius:12px;padding:1.5rem;\">\n  <div style=\"display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:1.5rem;align-items:end;\">\n    <div>\n      <label style=\"display:block;color:#38bdf8;font-weight:700;margin-bottom:0.5rem;font-size:0.95rem;\">Direcci\u00f3n IPv4:<\/label>\n      <input type=\"text\" id=\"cidr-ip-input\" value=\"192.168.10.45\" placeholder=\"ej. 192.168.10.1 o 10.10.20.1\" \n             style=\"width:100%;padding:0.75rem 1rem;background:#080711;border:1px solid #334155;border-radius:8px;color:#f8fafc;font-size:1.1rem;font-family:monospace;box-sizing:border-box;\">\n    <\/div>\n    <div>\n      <label style=\"display:block;color:#38bdf8;font-weight:700;margin-bottom:0.5rem;font-size:0.95rem;\">M\u00e1scara \/ Prefijo CIDR:<\/label>\n      <select id=\"cidr-mask-input\" \n              style=\"width:100%;padding:0.75rem 1rem;background:#080711;border:1px solid #334155;border-radius:8px;color:#f8fafc;font-size:1.05rem;box-sizing:border-box;\">\n        <option value=\"8\">\/8 \u2014 255.0.0.0 (16.7M hosts)<\/option>\n        <option value=\"16\">\/16 \u2014 255.255.0.0 (65.534 hosts)<\/option>\n        <option value=\"20\">\/20 \u2014 255.255.240.0 (4.094 hosts)<\/option>\n        <option value=\"21\">\/21 \u2014 255.255.248.0 (2.046 hosts)<\/option>\n        <option value=\"22\">\/22 \u2014 255.255.252.0 (1.022 hosts)<\/option>\n        <option value=\"23\">\/23 \u2014 255.255.254.0 (510 hosts)<\/option>\n        <option value=\"24\" selected>\/24 \u2014 255.255.255.0 (254 hosts)<\/option>\n        <option value=\"25\">\/25 \u2014 255.255.255.128 (126 hosts)<\/option>\n        <option value=\"26\">\/26 \u2014 255.255.255.192 (62 hosts)<\/option>\n        <option value=\"27\">\/27 \u2014 255.255.255.224 (30 hosts)<\/option>\n        <option value=\"28\">\/28 \u2014 255.255.255.240 (14 hosts)<\/option>\n        <option value=\"29\">\/29 \u2014 255.255.255.248 (6 hosts)<\/option>\n        <option value=\"30\">\/30 \u2014 255.255.255.252 (2 hosts punto a punto)<\/option>\n      <\/select>\n    <\/div>\n  <\/div>\n\n  <div style=\"margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1rem;\">\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">Direcci\u00f3n de Red<\/span>\n      <div id=\"res-net\" style=\"color:#10b981;font-size:1.15rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">Direcci\u00f3n de Broadcast<\/span>\n      <div id=\"res-broad\" style=\"color:#ef4444;font-size:1.15rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">M\u00e1scara de Subred<\/span>\n      <div id=\"res-mask\" style=\"color:#38bdf8;font-size:1.15rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">M\u00e1scara Wildcard (Cisco)<\/span>\n      <div id=\"res-wild\" style=\"color:#a855f7;font-size:1.15rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n  <\/div>\n\n  <div style=\"margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1rem;\">\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">Rango de Hosts \u00datiles<\/span>\n      <div id=\"res-range\" style=\"color:#f8fafc;font-size:1.05rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">Hosts Utilizables<\/span>\n      <div id=\"res-hosts\" style=\"color:#f59e0b;font-size:1.15rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n    <div style=\"background:#080711;padding:1rem;border-radius:8px;border:1px solid #1e293b;\">\n      <span style=\"color:#94a3b8;font-size:0.8rem;text-transform:uppercase;font-weight:700;\">Clase &amp; \u00c1mbito<\/span>\n      <div id=\"res-class\" style=\"color:#38bdf8;font-size:1.05rem;font-weight:700;font-family:monospace;margin-top:0.35rem;\">&#8211;<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  function ipToInt(ip) {\n    return ip.split('.').reduce(function(acc, oct) { return ((acc << 8) + parseInt(oct, 10)) >>> 0; }, 0);\n  }\n  function intToIp(val) {\n    return [(val >>> 24) & 255, (val >>> 16) & 255, (val >>> 8) & 255, val & 255].join('.');\n  }\n  function calc() {\n    var ipStr = document.getElementById('cidr-ip-input').value.trim();\n    var cidr = parseInt(document.getElementById('cidr-mask-input').value, 10);\n    var parts = ipStr.split('.');\n    if (parts.length !== 4 || parts.some(function(p){ var n = parseInt(p,10); return isNaN(n) || n < 0 || n > 255; })) {\n      document.getElementById('res-net').innerText = 'IP Inv\u00e1lida';\n      return;\n    }\n    var ip = ipToInt(ipStr);\n    var mask = cidr === 0 ? 0 : (((~0) << (32 - cidr)) >>> 0);\n    var wild = (~mask) >>> 0;\n    var net = (ip & mask) >>> 0;\n    var broad = (net | wild) >>> 0;\n    var totalHosts = Math.pow(2, 32 - cidr);\n    var usable = cidr >= 31 ? (cidr === 31 ? 2 : 1) : Math.max(0, totalHosts - 2);\n    var firstHost = cidr >= 31 ? net : (net + 1) >>> 0;\n    var lastHost = cidr >= 31 ? broad : (broad - 1) >>> 0;\n\n    var firstOct = parseInt(parts[0], 10);\n    var scope = 'P\u00fablica';\n    if (firstOct === 10 || (firstOct === 172 && parseInt(parts[1], 10) >= 16 && parseInt(parts[1], 10) <= 31) || (firstOct === 192 &#038;&#038; parseInt(parts[1], 10) === 168)) {\n      scope = 'Privada (RFC 1918)';\n    } else if (firstOct === 127) {\n      scope = 'Loopback';\n    }\n    var ipClass = firstOct < 128 ? 'Clase A' : (firstOct < 192 ? 'Clase B' : (firstOct < 224 ? 'Clase C' : 'Clase D\/E'));\n\n    document.getElementById('res-net').innerText = intToIp(net);\n    document.getElementById('res-broad').innerText = intToIp(broad);\n    document.getElementById('res-mask').innerText = intToIp(mask);\n    document.getElementById('res-wild').innerText = intToIp(wild);\n    document.getElementById('res-range').innerText = usable > 0 ? (intToIp(firstHost) + ' - ' + intToIp(lastHost)) : 'Sin hosts';\n    document.getElementById('res-hosts').innerText = usable.toLocaleString('es-ES') + ' (' + totalHosts.toLocaleString('es-ES') + ' totales)';\n    document.getElementById('res-class').innerText = ipClass + ' \u00b7 ' + scope;\n  }\n  document.getElementById('cidr-ip-input').addEventListener('input', calc);\n  document.getElementById('cidr-mask-input').addEventListener('change', calc);\n  calc();\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:1.6rem;font-weight:700;margin-top:3rem;margin-bottom:1rem\">Tabla de Referencia R\u00e1pida de Prefijos CIDR<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Prefijo CIDR<\/th><th>M\u00e1scara Decimal<\/th><th>Wildcard (ACLs)<\/th><th>Hosts \u00datiles<\/th><th>Uso Habitual en Redes<\/th><\/tr><\/thead><tbody><tr><td><code>\/24<\/code><\/td><td>255.255.255.0<\/td><td>0.0.0.255<\/td><td>254<\/td><td>Subred t\u00edpica de LAN dom\u00e9stica, oficina o VLAN de servidores<\/td><\/tr><tr><td><code>\/25<\/code><\/td><td>255.255.255.128<\/td><td>0.0.0.127<\/td><td>126<\/td><td>Divisi\u00f3n de una \/24 en dos segmentos independientes<\/td><\/tr><tr><td><code>\/26<\/code><\/td><td>255.255.255.192<\/td><td>0.0.0.63<\/td><td>62<\/td><td>Subredes medianas para departamentos (ej. Administraci\u00f3n)<\/td><\/tr><tr><td><code>\/27<\/code><\/td><td>255.255.255.224<\/td><td>0.0.0.31<\/td><td>30<\/td><td>Segmento para DMZ peque\u00f1a o VLAN de gesti\u00f3n de dispositivos<\/td><\/tr><tr><td><code>\/28<\/code><\/td><td>255.255.255.240<\/td><td>0.0.0.15<\/td><td>14<\/td><td>Bloque de IPs p\u00fablicas contratadas o cl\u00faster de servidores<\/td><\/tr><tr><td><code>\/29<\/code><\/td><td>255.255.255.248<\/td><td>0.0.0.7<\/td><td>6<\/td><td>Interconexi\u00f3n de routers con switches de distribuci\u00f3n<\/td><\/tr><tr><td><code>\/30<\/code><\/td><td>255.255.255.252<\/td><td>0.0.0.3<\/td><td>2<\/td><td>Enlaces punto a punto entre routers (WAN \/ Enlace serie)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n","protected":false},"excerpt":{"rendered":"<p>\ud83e\uddee Calculadora de Subredes &amp; Prefijos CIDR Herramienta interactiva para estudiantes de ASIR, administradores de sistemas y t\u00e9cnicos de redes. Calcula al instante la direcci\u00f3n de red, broadcast, rango de hosts utilizables, m\u00e1scaras en formato decimal y wildcard (Cisco ACLs), as\u00ed como la representaci\u00f3n binaria en tiempo real. Direcci\u00f3n IPv4: M\u00e1scara \/ Prefijo CIDR: \/8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-56","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/pages\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":0,"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/pages\/56\/revisions"}],"wp:attachment":[{"href":"https:\/\/danielsh.es\/index.php\/wp-json\/wp\/v2\/media?parent=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}