Skip to content

abkarada/BurstKernel-Virtual-Machine-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 burstkernel - Minimal Microkernel for NATGhost UDP Burst

burstkernel is a lightweight microkernel designed for the NATGhost project. Its sole purpose is to automatically send high-speed UDP bursts during system boot, without requiring any user interaction. This kernel is optimized for NAT traversal experiments and high-throughput packet injection.


🚀 Purpose

  • Automatically launches on boot and sends UDP bursts.
  • Scans PCI to detect the network interface (e.g., Intel E1000).
  • Uses MMIO to directly control the NIC without an operating system.
  • Sends UDP packets to a predefined target IP and port range.
  • Ideal for NAT hole punching and symmetric NAT testing scenarios.
  • Designed to run in thousands of parallel VMs with minimal overhead.

🧠 Architecture

├── boot/ │ └── boot.S # Multiboot-compliant bootloader stub ├── kernel/ │ ├── kernel.c # Main kernel logic and entry point │ ├── pci.c # PCI scanner to locate the NIC │ ├── e1000.c # MMIO-based Intel E1000 NIC driver │ ├── burst.c # High-speed UDP packet blaster │ └── config.h # Compile-time configuration (target IP/port) ├── build/ # Compiled object files ├── Makefile # Build instructions └── README.md # Project documentation

🧪 Testing with QEMU

qemu-system-i386 -cdrom kernel.iso -nographic Or, to simulate a real NIC environment: qemu-system-i386 -cdrom kernel.iso -device e1000 -netdev user,id=n1 -device e1000,netdev=n1

Testing with VirtualBox Create a new VM (32-bit, 64MB RAM is enough).

Set Network Adapter to Bridged Adapter or Host-only Adapter.

Attach kernel.iso to the virtual CD/DVD drive.

Boot the machine – packet blasting starts immediately.

Configuration #define TARGET_IP 0xC0A80001 // 192.168.0.1 #define START_PORT 10000 #define END_PORT 20000

Then rebuild: make clean && make all

Advanced Usage This project is part of the NATGhost framework, which aims to: Dynamically test NAT traversal capabilities. Analyze port allocation randomness. Perform coordinated bursts across thousands of VMs.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published