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 un comentario

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

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies