/// <summary> /// Create a new ping manager. This class will handle sending and recieving of /// a single ping packet, including matching up the correct reply and calculating /// the round trip time. /// </summary> /// <param name="networkInterface"> /// The interface to send the ping packet on. /// </param> public IcmpPingManager(IPAddress networkInterface) { m_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, 1); m_sniffer.NewPacket += new NewPacketHandler(NewPacket); m_sniffer.StartListening(new IPEndPoint(networkInterface, 0), SnifferModeType.Asynchronous, ProtocolType.Icmp); m_timer.Elapsed += new ElapsedEventHandler(TimeOut); m_networkInterface = networkInterface; }
/// <summary> /// Create a new TCP SYN scanner /// </summary> /// <param name="networkInterface"> /// The local network interface to use. /// </param> public TcpSynScanner(IPEndPoint networkInterface) { m_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, 1); m_sniffer.NewPacket += new NewPacketHandler(NewPacket); m_sniffer.StartListening(new IPEndPoint(networkInterface.Address, 0), SnifferModeType.Asynchronous, ProtocolType.IP); m_timeoutTimer.Elapsed += new ElapsedEventHandler(TimeOut); m_localEndPoint = networkInterface; m_timeoutTimer.Interval = 1000.0; }