¿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: “”
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)


#!/usr/bin/env python3
ResponderEliminarimport 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()
#!/usr/bin/env python3
ResponderEliminarfrom 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}")