Guía rápida de Python para sobrevivir un día revisando redes

Por si aún no te habías puesto con Python y necesitas urgentemente una ‘chuleta’ para entender los scripts de Python y hacer algunas pruebas como un sysadmin.

Te proporcionaré una guía rápida para entender scripts en Python y luego cómo hacer un mini script para verificar ping y comprobar acceso a servidores remotos usando telnet. Además, mencionaré algunas bibliotecas útiles para el testeo de redes en Python.

Guía Rápida para Entender Scripts de Python

  1. Estructura Básica: Un script de Python generalmente comienza con una línea que indica con qué intérprete se debe ejecutar el script (por ejemplo, #!/usr/bin/env python3). Luego sigue con importaciones de bibliotecas, definición de funciones y la lógica principal.
  2. Importaciones: Al comienzo del script, encontrarás líneas que comienzan con import. Estas líneas importan bibliotecas que proporcionan funciones adicionales.
  3. Funciones: Las funciones se definen usando la palabra clave def seguida del nombre de la función y parámetros entre paréntesis. Ejemplo: def mi_funcion(param1, param2):.
  4. Ejecución Principal: A menudo, los scripts tienen una comprobación if __name__ == "__main__": al final. Esto indica que el script se ejecuta directamente (no importado como un módulo en otro script).
  5. Comentarios: Los comentarios en Python comienzan con # y son útiles para entender la intención del código.

Conceptos básicos como variables, salida de texto, funciones e iteraciones:

1. Variables

  • Definición: Las variables en Python se utilizan para almacenar datos.
  • Tipos de Datos Comunes: int (enteros), float (decimales), str (cadenas de texto), bool (booleanos).
  • Ejemplo:
  numero = 10        # int
  precio = 19.99     # float
  nombre = "Alice"   # str
  esActivo = True    # bool

2. Salida de Texto (Print)

  • Función print(): Se utiliza para enviar datos a la salida estándar (usualmente la pantalla).
  • Ejemplo:
  print("Hola Mundo")
  print("El número es", numero)

3. Funciones

  • Definición: Las funciones son bloques de código reutilizables.
  • Sintaxis:
  def mi_funcion(param1, param2):
      # Código de la función
      return resultado
  • Ejemplo:
  def sumar(a, b):
      return a + b
  print(sumar(3, 4))  # Imprime 7

4. Iteraciones

  • Bucles for: Usados para iterar sobre una secuencia (lista, tupla, diccionario, conjunto o cadena).
  • Ejemplo:
  for i in range(5):  # Itera de 0 a 4
      print(i)
  • Bucles while: Se ejecuta mientras una condición sea verdadera.
  • Ejemplo:
  i = 0
  while i < 5:
      print(i)
      i += 1

5. Condicionales

  • if, elif, else: Se utilizan para ejecutar bloques de código basados en condiciones.
  • Ejemplo:
  if numero < 10:
      print("Menor que 10")
  elif numero == 10:
      print("Igual a 10")
  else:
      print("Mayor que 10")

6. Listas y Diccionarios

  • Listas: Colecciones ordenadas y modificables. Se definen con corchetes [].
  • Ejemplo:
  mi_lista = [1, 2, 3]
  print(mi_lista[0])  # Imprime 1
  • Diccionarios: Colecciones no ordenadas con valores en pares clave-valor. Se definen con llaves {}.
  • Ejemplo:
  mi_diccionario = {"nombre": "Alice", "edad": 25}
  print(mi_diccionario["nombre"])  # Imprime Alice

7. Comentarios

  • Uso: Para explicar el código o para deshabilitar temporalmente partes del código.
  • Sintaxis: Se utiliza # para comentarios de una sola línea.
  • Ejemplo:
  # Esto es un comentario
  print("Hola")  # Esto también es un comentario

Esta guía cubre los aspectos fundamentales de Python, pero recuerda que Python es un lenguaje muy extenso y flexible con muchas más características y bibliotecas para explorar. Te recomiendo practicar con ejemplos y proyectos pequeños para consolidar tu aprendizaje.

Mini Script de Testeo para Ping y Telnet

Para verificar el ping y realizar pruebas de telnet, puedes usar bibliotecas como os para ping y telnetlib para telnet. Aquí tienes un ejemplo básico:

import os
import telnetlib

def check_ping(hostname):
    response = os.system("ping -c 1 " + hostname)
    return response == 0

def check_telnet(host, port):
    try:
        telnet = telnetlib.Telnet(host, port)
        telnet.close()
        return True
    except:
        return False

# Ejemplo de uso
if __name__ == "__main__":
    host = "192.168.1.1"
    print("Ping a", host, ":", "Exitoso" if check_ping(host) else "Fallido")
    print("Telnet a", host, ":", "Exitoso" if check_telnet(host, 23) else "Fallido")

Bibliotecas para Testeo de Redes en Python

  1. socket: Para operaciones de bajo nivel con sockets.
  2. requests: Ideal para realizar solicitudes HTTP.
  3. scapy: Potente para manipulación de paquetes y pruebas de red.
  4. paramiko: Útil para SSH y SFTP.
  5. telnetlib: Para interacciones Telnet.

Recuerda que para ejecutar scripts que realizan operaciones de red, es posible que necesites permisos adicionales, dependiendo de tu sistema y configuración de red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.