
Las IP que recolecta realmente son MUCHAS!.
Entonces, pegamos este codigo en la consola de comandos de routerOS y luego lo configuramos en el scheduler para que se ejecute cada 2 minutos. (o menos, dependiendo del procesador de tu equipo).
/system script add name=whatsapp policy=read,write,policy source="# chequear las entradas al \
DNS\r\
\n:foreach i in=[/ip dns cache find] do={\r\
\n:local bNew \"true\";\r\
\n:local cacheName [/ip dns cache all get \$i name] ;\r\
\n# Revisar el DNS si contiene cadenas whatsapp\r\
\n:if ([:find [/ip dns cache get \$i name] \"whatsapp\"] > 0) do={\r\
\n:local tmpAddress [/ip dns cache get \$i address] ;\r\
\n#---- Si address list esta vacio, no lo chequeo ( add address directly )\
\r\
\n:if ( [/ip firewall address-list find ] = \"\") do={\r\
\n/ip firewall address-list add address=\$tmpAddress list=whatsapp_dns_ips\
\_disabled=no comment=\$cacheName; \r\
\n} else={\r\
\n#------- chequeo cada entrada del address-list para no repetir las ips\r\
\n:foreach j in=[/ip firewall address-list find ] do={\r\
\n#---------- set bNew variable to false if address exists in address list\
\r\
\n:if ( [/ip firewall address-list get \$j address] = \$tmpAddress ) do={\
\r\
\n:set bNew \"false\";\r\
\n}\r\
\n}\r\
\n#------- Si la direccion (IP) es nueva, la agrego al ADDRESS-LIST\r\
\n:if ( \$bNew = \"true\" ) do={\r\
\n/ip firewall address-list add address=\$tmpAddress list=whatsapp_dns_ips\
\_disabled=no comment=\$cacheName; \r\
\n}\r\
\n}\r\
\n}\r\
\n}"
