Navigation

    Netgate Discussion Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search

    Bash Script – Obtener redes y AS number por su dominio

    Español
    2
    4
    905
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      javcasta last edited by

      Hola.

      Una aportación a la causa :)

      Un bash-script (para ser ejecutado desde shell), para un pfSense, para obtener el AS number y las redes de un dominio.

      Como funciona, paso a paso:

      Para obtener la IPv4 del dominio: pfsense.org

      host -4 pfsense.org | grep "pfsense.org has address" | cut -d " " -f 4
            208.123.73.69

      Para obtener el AS number de ese dominio por su IPv4

      whois -h v4.whois.cymru.com – "-c 208.123.73.69"

      AS      | IP              | CC | AS Name

      30312  | 208.123.73.69    | US | NETGATE - Netgate, US

      Filtramos para obtener solo el nº

      whois -h v4.whois.cymru.com – "-c 208.123.73.69" | grep -v "AS" | cut -d "|" -f 1

      30312

      Obtenemos las redes/subredes del AS Number

      whois -h whois.radb.net – '-i origin AS30312' | awk '/^route:/ {print $2;}' | sort | uniq

      192.207.126.0/24
          208.123.73.0/24

      El código del script:

      #!/bin/bash
      ############################################################################
      #                         GET Nets and AS by domain                        #
      #                       BASH SCRIPT FOR PFSENSE 2.3                        #
      #             BY JAVIER CASTAÑÓN - 2016 - HTTPS://JAVCASTA.COM             #
      ############################################################################
      #      uso: alojar getNetsByDomain.sh en carpeta,p.e. /tmp o /scripts      #
      #        ejecutarlo desde shell:# sh /tmp/getNetsByDomain.sh               #
      ############################################################################
      read -p 'Enter domain (foo.bar): ' INPUTDOMAIN
      LAIP=$(host -4 $INPUTDOMAIN | grep "$INPUTDOMAIN has address" | cut -d " " -f 4)
      printf "IP for $INPUTDOMAIN is $LAIP \n"
      printf "getting AS NUMBER... \n"
      ASNUMBER=$(whois -h whois.cymru.com -- "-c $LAIP" | grep -v "AS" | cut -d "|" -f 1)
      ASSTRING="AS$ASNUMBER"
      printf "ASN for $INPUTDOMAIN is $ASSTRING \n"
      whois -h whois.radb.net -- "-i origin $ASSTRING" | awk '/^route:/ {print $2;}' | sort | uniq > /tmp/thenet.tmp
      THENET=$(cat /tmp/thenet.tmp)
      printf "The nets for $INPUTDOMAIN is in file /tmp/thenet.tmp: \n"
      echo $THENET
      

      (Nota: a veces el whois a whois.cymru.com da un time out, y suele tardar unos 30sg, no ejecutar demasiados whois queries ya que el servidor ese se satura bastante y te corta)

      Lo tengo en: https://www.javcasta.com/pfsense-bash-script-obtener-redes-y-as-por-su-dominio-getnetsbydomain-sh/

      Salu2

      – add --

      Las redes obtenidas el script las guarda en /tmp/thenet.tmp , con el objeto de vía scripting poder confeccionar aliases de pfSense para un dominio de forma cómoda, cuando lo tenga, ya avisaré.

      1 Reply Last reply Reply Quote 0
      • J
        javcasta last edited by

        Hola

        Se me olvidaba lo más importante. Como pfSense trae la utilidad Bulk import para Alias, no sigo con scripting para esto, pues ya es trivial implementar el alias:

        Una vez obtenida la lista de redes de un dominio vía el script en /tmp/thenet.tmp

        Para crear un alias para ese dominio, por ejemplo si hemos obtenido la lista para facebook.es:

        Copiamos el contenido de /tmp/thenet.tmp editandolo. (se puede usar Diagnostics > Edit file)

        Vamos a    Firewall> Aliases > IP: [ Import ] (abajo a la derecha)

        Y pegamos la lista de redes en Aliases to import, (ponemos un name al alias facebook_es y descripción si se desea y save)

        Y hemos creado un alias para un dominio

        Salu2

        1 Reply Last reply Reply Quote 0
        • F
          Finger last edited by

          maestro!!

          1 Reply Last reply Reply Quote 0
          • J
            javcasta last edited by

            Hola

            Finger, jaja, no, maestro no,  parado, tengo tiempo :)

            Salu2

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Products

            • Platform Overview
            • TNSR
            • pfSense Plus
            • Appliances

            Services

            • Training
            • Professional Services

            Support

            • Subscription Plans
            • Contact Support
            • Product Lifecycle
            • Documentation

            News

            • Media Coverage
            • Press
            • Events

            Resources

            • Blog
            • FAQ
            • Find a Partner
            • Resource Library
            • Security Information

            Company

            • About Us
            • Careers
            • Partners
            • Contact Us
            • Legal
            Our Mission

            We provide leading-edge network security at a fair price - regardless of organizational size or network sophistication. We believe that an open-source security model offers disruptive pricing along with the agility required to quickly address emerging threats.

            Subscribe to our Newsletter

            Product information, software announcements, and special offers. See our newsletter archive to sign up for future newsletters and to read past announcements.

            © 2021 Rubicon Communications, LLC | Privacy Policy