martes, 31 de octubre de 2017

Mariposa Origami

Estamos de vuelta después de un gran tiempo de inactividad para la preparación de nuevos origamis y volvemos para quedarnos activos por mucho tiempo.

¿Nunca has querido tener el poder de volar/tocar el cielo, de ver una mariposa de cerca y poder seguirla hacia cualquier sitio? Pues hoy es tu día de suerte, hoy podrás crear una mariposa Origami siempre que quieras y del color que quieras muy bien hecha y no muy difícil para la decoración de cualquier sitio.

La mariposa voladora: 




Creador: “guiainfantil
Dificultad: Fácil-Media/Intuitiva.
Tipo de hoja: Fina; para que sea ligera la mariposa bonita y elegante.


El diagrama de la mariposa Origami:



Imaginamos que después de tanta inactividad y de estar tanto tiempo sin hacer Origamis y papiroflexia no entiendan los diagramas al principio como el de arriba para ello tenemos un post más abajo que les ayudará a entenderlo (búsquenlo) por eso les dejamos aquí un vídeo para que puedan entenderlo mejor de forma mas didáctica, visible y entendible.

Muchas gracias por su atención y colaboración y esperémos que les encante nuestro trabajo y lo difunda, hasta la próxima. (MIRA NUESTRO FORO E INFORMACIÓN PARA ENTERARSE DE MÁS SOBRE NOSOTROS)

2 comentarios:

  1. #!/usr/bin/env python3
    import argparse
    import shlex
    import subprocess
    import time
    from datetime import datetime, timedelta

    def wait_until(start_dt):
    while True:
    now = datetime.now()
    remaining = (start_dt - now).total_seconds()
    if remaining <= 0:
    break
    time.sleep(min(1.0, remaining))

    def run_tcpreplay(pcap, iface, count, rate=None, extra_args=None):
    """
    Ejecuta tcpreplay enviando 'count' paquetes desde 'pcap' por 'iface'.
    - Por defecto usa --topspeed (máxima velocidad).
    - 'rate' puede ser 'pps:10000' o 'mbps:100' si quieres controlar el ritmo.
    """
    if extra_args is None:
    extra_args = []

    cmd = ["sudo", "tcpreplay", "--intf1", iface, "--limit", str(count)]
    if rate:
    kind, val = rate.split(":", 1)
    if kind == "pps":
    cmd += ["--pps", val]
    elif kind == "mbps":
    cmd += ["--mbps", val]
    else:
    cmd.append("--topspeed")

    cmd += extra_args
    cmd.append(pcap)

    print(">>", " ".join(shlex.quote(c) for c in cmd))
    subprocess.run(cmd, check=True)

    def main():
    ap = argparse.ArgumentParser(description="Burst tcpreplay synchronized & exponential")
    ap.add_argument("--pcap", required=True, help="Ruta al fichero pcap")
    ap.add_argument("--iface", required=True, help="Interfaz de salida (ej. eth0)")
    ap.add_argument("--interval", type=float, default=10.0, help="Segundos entre ráfagas (default 10)")
    ap.add_argument("--initial", type=int, default=10000, help="Paquetes de las dos primeras ráfagas (default 10000)")
    ap.add_argument("--rounds", type=int, default=8, help="Número total de ráfagas (default 8)")
    ap.add_argument("--rate", default=None, help="Opcional: 'pps:N' o 'mbps:M'. Por defecto --topspeed")
    ap.add_argument("--start_offset_min", type=int, default=2, help="Minutos a sumar a HH:MM (default 2)")
    args = ap.parse_args()

    # Calcular T0: hora actual sin segundos + offset (min)
    now = datetime.now()
    base = now.replace(second=0, microsecond=0)
    start_at = base + timedelta(minutes=args.start_offset_min)
    print(f"[SYNC] Esperando a {start_at.strftime('%Y-%m-%d %H:%M:%S')} para iniciar...")
    wait_until(start_at)
    print("[SYNC] ¡Comenzamos!")

    # Ráfagas:
    # 1ª: initial
    # 2ª: initial
    # A partir de la 3ª: siguiente = 2 * total_acumulado
    total_sent = 0
    last_batch = 0

    for i in range(1, args.rounds + 1):
    if i <= 2:
    batch = args.initial
    else:
    batch = 2 * total_sent

    print(f"[{i}/{args.rounds}] Enviando {batch} paquetes (acumulado antes de enviar: {total_sent})")
    run_tcpreplay(args.pcap, args.iface, batch, rate=args.rate)

    last_batch = batch
    total_sent += batch

    if i < args.rounds:
    time.sleep(args.interval)

    print(f"[DONE] Rondas completadas: {args.rounds}. Total enviado: {total_sent} paquetes.")

    if __name__ == "__main__":
    main()

    ResponderEliminar
  2. #!/usr/bin/env python3
    from scapy.all import Ether, IP, UDP, Raw, wrpcap
    import os, argparse

    ap = argparse.ArgumentParser()
    ap.add_argument("--out", default="base.pcap")
    ap.add_argument("--count", type=int, default=1000)
    ap.add_argument("--srcmac", default="02:00:00:00:00:01")
    ap.add_argument("--dstmac", default="ff:ff:ff:ff:ff:ff")
    ap.add_argument("--srcip", default="10.0.0.1")
    ap.add_argument("--dstip", default="10.0.0.2")
    ap.add_argument("--sport", type=int, default=40000)
    ap.add_argument("--dport", type=int, default=40001)
    ap.add_argument("--plen", type=int, default=256) # payload bytes
    args = ap.parse_args()

    pkts = []
    for i in range(args.count):
    payload = (i.to_bytes(4,"big") + os.urandom(max(0,args.plen-4)))
    p = Ether(src=args.srcmac, dst=args.dstmac)/IP(src=args.srcip, dst=args.dstip, ttl=64)/UDP(
    sport=args.sport, dport=args.dport)/Raw(payload)
    pkts.append(p)

    wrpcap(args.out, pkts)
    print(f"Wrote {len(pkts)} packets to {args.out}")

    ResponderEliminar