Example #1
0
        private static void IPv4Handler(byte[] packetData)
        {
            TCPIP.IPPacket ip_packet = new TCPIP.IPPacket(packetData);
            ARP.ARPCache.Update(ip_packet.SourceIP, ip_packet.SourceMAC);

            if ((addressMap.ContainsKey(ip_packet.DestinationIP.To32BitNumber()) == true) ||
                (ip_packet.DestinationIP.address[3] == 255))
            {
                switch (ip_packet.Protocol)
                {
                case 1:
                    IPv4_ICMPHandler(packetData);
                    break;

                case 6:
                    IPv4_TCPHandler(packetData);
                    break;

                case 17:
                    IPv4_UDPHandler(packetData);
                    break;
                }
            }
        }
Example #2
0
 public static bool Contains(IPv4Address ipAddress)
 {
     ensureCacheExists();
     return(cache.ContainsKey(ipAddress.To32BitNumber()));
 }