public void Start(IPAddress nicAddress, Filters <IPPacket> filters) { if (_sniffer == null || !nicAddress.Equals(_interfaceAddress)) { RecycleSniffer(nicAddress, filters); _interfaceAddress = nicAddress; } _dispatcher.Start(); _analyzer.Start(); _sniffer.Resume(filters); }
private void RecycleSniffer(IPAddress nicAddress, Filters <IPPacket> filters) { if (_sniffer != null) { _sniffer.Pause(); _sniffer.Stop(); _sniffer = null; } _sniffer = new SocketSniffer(nicAddress, filters, _analyzer); _sniffer.Start(); _sniffer.Resume(filters); }