The MAC based detection techniques work by exploiting holes found in the implementation
of the TCP/IP stack in some operating systems. On some TCP/IP stacks, under certain
specific circumstances the destination MAC address of the Ethernet header is never checked
or checked insufficiently, when the NIC is in promiscuous mode. Due to this fact, it is possible to generate an Ethernet packet with an incorrect MAC address that is passed to the TCP/IP processing code. Normally, such a packet would be rejected by the NIC and therefore
never reach the operating system for processing. However, when the NIC is in promiscuous
mode, it is actually possible to get these packets processed as if they had a correct MAC
address, on some implementations of the TCP/IP stack. The trick for this type of techniques is
to elicit a response from the TCP/IP stack, and in such a way determine if an incorrectly
addressed packet is acknowledged (AbdelallahElhadj et al., 2002; Wu & Wong, 1998).
Generally, there are two methods based on this technique used today; the ARP detection
method and the Etherping detection method (AbdelallahElhadj et al., 2002; Spangler, 2003).
In the load detection method, two measurements of response time are taken (figure 11). One
measurement is taken to determine the response time of the machine without heavy network
traffic, and the other measurement is taken to determine the response time of the machine
with heavy traffic. The load detection method is based on the assumption that the sniffer does
some parsing. A very large amount of ICMP request packets with an unused destination
address is sent on the network flooding it. Meanwhile, a computer which is suspected to be
running a sniffer has been sent an ICMP echo request packet before, and during the flooding
stage. The machine will parse the data if it is in promiscuous mode, which increases the load
on it. Extra time is needed for this increased load, so it will take longer to respond to the
ICMP echo request packet with an ICMP echo reply packet. The difference in the response
times of the suspected machine, and other machines indicates that the suspected machine is in
promiscuous mode. In which case, a sniffer could likely be running on that host (Hawes &
Naghibi, 2002).