summaryrefslogtreecommitdiff
path: root/lib/fake_agent.rb
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2015-02-06 17:04:27 -0700
committermo khan <mo@mokhan.ca>2015-02-06 17:04:27 -0700
commit55c6cc6d83391a98fe87898e8fdb8eb987de1e40 (patch)
tree19e694778016071de0a98b0af126a5043fb7dfed /lib/fake_agent.rb
parent0d938af572044200f4a1f23a7006268d53117358 (diff)
extract method to yield packets back from each capture.
Diffstat (limited to 'lib/fake_agent.rb')
-rw-r--r--lib/fake_agent.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/fake_agent.rb b/lib/fake_agent.rb
index 227ae2b..1f8b221 100644
--- a/lib/fake_agent.rb
+++ b/lib/fake_agent.rb
@@ -45,7 +45,15 @@ class FakeAgent
capture.stream.each do |p|
packet = Packet.parse(p)
if packet.is_ip?
- next if packet.ip_saddr == Utils.ifconfig(interface)[:ip_saddr]
+ yield packet if block_given?
+ end
+ end
+ end
+
+ def packet_capture(interface)
+ sniff(interface) do |packet|
+ if packet.ip_saddr == Utils.ifconfig(interface)[:ip_saddr]
+ else
packet_info = [packet.ip_saddr, packet.ip_daddr, packet.size, packet.proto.last]
puts "%-15s -> %-15s %-4d %s" % packet_info
end