blob: ef4d9e15cf09beb59d83cd6c39c76780cacf1559 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Then /^the hostname should not have been leaked on the network$/ do
hostname = $vm.execute("hostname").stdout.chomp
packets = PacketFu::PcapFile.new.file_to_array(:filename => @sniffer.pcap_file)
packets.each do |p|
# if PacketFu::TCPPacket.can_parse?(p)
# ipv4_tcp_packets << PacketFu::TCPPacket.parse(p)
if PacketFu::IPPacket.can_parse?(p)
payload = PacketFu::IPPacket.parse(p).payload
elsif PacketFu::IPv6Packet.can_parse?(p)
payload = PacketFu::IPv6Packet.parse(p).payload
else
@sniffer.save_pcap_file
raise "Found something in the pcap file that either is non-IP, or cannot be parsed"
end
if payload.match(hostname)
raise "Hostname leak detected"
end
end
end
|