Exemplo n.º 1
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            device = CaptureDeviceList.Instance[cmbDeviceList.SelectedIndex];
            device.Open();
            device.Filter = "tcp and (port " + config.LoginAgentPort + " or port " + config.ZoneAgentPort + ") and host " + config.ServerIp;
            packetStrings = new Queue <A3Packet>();
            packetData    = new List <A3Packet>();

            bs = new BindingSource();
            dataGridPackets.DataSource = bs;

            BackgroundThreadStop = false;
            backgroundThread     = new Thread(BackgroundThread);
            backgroundThread.Start();

            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;

            device.Open();

            // start the background capture
            device.StartCapture();

            btnStart.Enabled = false;
            btnStop.Enabled  = true;
            lblStatus.Text   = "Capturing packets started ...";
            this.Text        = this.Text + "*";
        }
Exemplo n.º 2
0
        public void Listen(PacketArrivalEventHandler device_OnPacketArrival)
        {
            if (_thread != null && _thread.IsAlive)
            {
                return;
            }
            _thread = new Thread(new ThreadStart(() =>
            {
                ////遍历网卡
                foreach (PcapDevice device in SharpPcap.CaptureDeviceList.Instance)
                {
                    if (device.Description.ToLower().Contains("oray"))
                    {
                        continue;
                    }
                    ////分别启动监听,指定包的处理函数
                    device.OnPacketArrival += new PacketArrivalEventHandler(device_OnPacketArrival);
                    device.Open(DeviceMode.Normal, 1000);
                    device.Capture(500);

                    //device.StartCapture();
                }
            }));
            _thread.Start();
        }
Exemplo n.º 3
0
        private void StartCapture(int itemIndex)
        {
            packetCount             = 0;
            device                  = CaptureDeviceList.Instance[itemIndex];
            packetStrings           = new Queue <PacketWrapper>();
            bs                      = new BindingSource();
            dataGridView.DataSource = bs;
            LastStatisticsOutput    = DateTime.Now;

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;
            device.Open();

            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();

            // start the background capture
            device.StartCapture();

            // disable the stop icon since the capture has stopped
            startStopToolStripButton.Image       = global::WinformsExample.Properties.Resources.stop_icon_enabled;
            startStopToolStripButton.ToolTipText = "Stop capture";
        }
Exemplo n.º 4
0
        public static void StartSniffing(ComboboxItem deviceItem)
        {
            PacketDataSource.Clear();
            var devices = CaptureDeviceList.Instance;

            currentDevice = devices.Where(fn => fn.Name.Contains(deviceItem.Value.ToString())).FirstOrDefault(); //find device by name ID
            if (currentDevice != null)
            {
                try
                {
                    //this needs more work, app is still slow and blocking
                    arrivalEventHandler            = new PacketArrivalEventHandler(device_OnPacketArrival);
                    currentDevice.OnPacketArrival += arrivalEventHandler;
                    BackgroundThreadStop           = false;
                    BackgroundThread = new System.Threading.Thread(RunBackgroundThread);
                    BackgroundThread.Start();

                    currentDevice.Open(DeviceMode.Promiscuous, 1000);

                    //string filter = "ip and tcp";
                    //device.Filter = filter;

                    // Start capture 'INFINTE' number of packets
                    currentDevice.Capture();
                } catch
                {
                }
            }
        }
Exemplo n.º 5
0
        public void StartCapture(int itemIndex, string filter)
        {
            packetCount          = 0;
            device               = CaptureDeviceList.Instance[itemIndex]; //选折网卡
            packetStrings        = new Queue <PacketWrapper>();
            LastStatisticsOutput = DateTime.Now;

            // start the background thread
            BackgroundThreadStop          = false;
            backgroundThread              = new Thread(BackgroundThread);
            backgroundThread.IsBackground = true;
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);   //当包抵达时要进行的操作
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped); //停止抓包要做的操作
            device.OnCaptureStopped   += captureStoppedEventHandler;
            device.Open();

            device.Filter = filter;

            Debug.WriteLine("-- 正在监听网卡{0} {1},开始抓包!", device.Name, device.Description);
            // start the background capture
            device.StartCapture();
        }
Exemplo n.º 6
0
 private void StartCapture(int itemIndex)
 {
     packetId                   = 0;
     device                     = CaptureDeviceList.Instance[itemIndex] as WinPcapDevice;
     arrivalEventHandler        = new PacketArrivalEventHandler(OnPacketArrival);
     device.OnPacketArrival    += arrivalEventHandler;
     captureStoppedEventHandler = new CaptureStoppedEventHandler(OnCaptureStopped);
     device.OnCaptureStopped   += captureStoppedEventHandler;
     device.Open(OpenFlags.MaxResponsiveness, 1000);
     device.KernelBufferSize = 104857600;
     device.Filter           = "ip and tcp";
     device.StartCapture();
 }
Exemplo n.º 7
0
        private ICaptureDevice InitializeDevice()
        {
            /* Retrieve the device list  part of initialization*/
            CaptureDeviceList devices = CaptureDeviceList.Instance;
            ICaptureDevice    device  = CaptureDeviceList.Instance[Convert.ToInt32(_config["packets:interface"])];

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;

            return(device);
        }
Exemplo n.º 8
0
        private void StartCapture_Internal()
        {
            if (!_portsCurrentlyUnderWatch.Any())
            {
                return;
            }

            _packetCaptureHandler = (sender, e) =>
            {
                PacketData packetData = BuildPacketData(e.Packet);
                _packetObserver?.OnPacketCapture(packetData);
            };
            _captureDevice.OnPacketArrival += _packetCaptureHandler;
        }
Exemplo n.º 9
0
        void Program_OnPacketArrival(object sender, CaptureEventArgs e)
        {
            PacketArrivalEventHandler empty = null;
            // парсинг всего пакета
            Packet packet = Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data);
            // получение только IP пакета из всего фрейма
            var ipPacket  = IpPacket.GetEncapsulated(packet);
            var tcpPacket = TcpPacket.GetEncapsulated(packet);

            if (ipPacket != null)
            {
                DateTime time = e.Packet.Timeval.Date;
                int      len  = e.Packet.Data.Length;
                // IP адрес отправителя
                var srcIp = ipPacket.SourceAddress.ToString();
                // IP адрес получателя
                var dstIp = ipPacket.DestinationAddress.ToString();
                dstIps.Add(dstIp);
                //MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                //var result = MessageBox.Show("Отправитель - " + srcIp + "\n" + "Адресат - " + dstIp, "Package is detected!");
                if (srcIp.Substring(0, 3) == "192")
                {
                    ip = srcIp;
                }

                if (dstIp.Substring(0, 3) == "192")
                {
                    ip = dstIp;
                }

                if (srcIp == textBox2.Text || dstIp == textBox2.Text)
                {
                    detected = true;
                }

                string port = "";
                if (tcpPacket != null)
                {
                    port = tcpPacket.SourcePort.ToString();
                }

                if (detected)
                {
                    //listBox2.Items.Add("Отправитель - " + srcIp + "; Адресат - " + dstIp + ";");
                    packagesInfo += "Отправитель - " + srcIp + "; Адресат - " + dstIp + ";" + " Порт: " + port + ";" + Environment.NewLine;
                    detectedOnce  = true;
                }
            }
        }
Exemplo n.º 10
0
        void do分析_Click(object sender, EventArgs e)
        {
            var __配置 = new M抓包配置
            {
                项目 = _当前项目,
                录像 = this.in来源_文件.Checked
            };

            _B项目.保存项目映射(_当前项目.称, _当前项目.当前通信设备);
            H程序配置.设置("当前项目索引", this.in项目.SelectedIndex.ToString());
            if (__配置.录像)
            {
                var __录像名 = this.in文件.Text.Trim();
                if (!File.Exists(__录像名))
                {
                    XtraMessageBox.Show("请选择文件!");
                    return;
                }
                var __放映机 = new CaptureFileReaderDevice(__录像名);
                __配置.网卡 = __放映机;
                显示抓包列表窗口(__配置);
                __放映机.Close();
            }
            else
            {
                __配置.网卡 = (ICaptureDevice)this.in网卡.SelectedItem;
                if (__配置.网卡 == null)
                {
                    XtraMessageBox.Show("请选择网卡!");
                    return;
                }
                H程序配置.设置("当前网卡索引", this.in网卡.SelectedIndex.ToString());
                var __录像目录 = H路径.获取绝对路径("录像\\");
                if (!Directory.Exists(__录像目录))
                {
                    Directory.CreateDirectory(__录像目录);
                }
                var __录像机 = new CaptureFileWriterDevice(Path.Combine(__录像目录, _当前项目.称 + " " + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss")));
                PacketArrivalEventHandler __处理抓包 = (object sender1, CaptureEventArgs e1) => __录像机.Write(e1.Packet);
                __配置.网卡.OnPacketArrival += __处理抓包;
                显示抓包列表窗口(__配置);
                __配置.网卡.OnPacketArrival -= __处理抓包;
                __录像机.Close();
            }
        }
Exemplo n.º 11
0
        private void button2_Click(object sender, EventArgs e)
        {
            textBox2.ReadOnly = true;
            detectedOnce      = false;
            label5.Text       = "Scanning...";
            button1.Enabled   = false;
            button3.Enabled   = false;
            if (listBox1.SelectedItem == null)
            {
                MessageBox.Show("You did not select the device to be scanned in the list on the left.", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                progressBar1.Value = 0;
                button1.Enabled    = true;
                button3.Enabled    = true;
                timer1.Stop();
                label5.Text = String.Empty;
                return;
            }
            int deviceSelected = listBox1.FindString(listBox1.SelectedItem.ToString());
            //textBox2.Clear();
            PacketArrivalEventHandler emptyHandler = null;
            // выбираем первое устройство в спсике (для примера)
            ICaptureDevice captureDevice = deviceList[deviceSelected];

            // регистрируем событие, которое срабатывает, когда пришел новый пакет

            captureDevice.OnPacketArrival += new PacketArrivalEventHandler(Program_OnPacketArrival);
            // открываем в режиме promiscuous, поддерживается также нормальный режим
            captureDevice.Open(DeviceMode.Promiscuous, 1000);
            // начинаем захват пакетов
            (new Thread(delegate()
            {
                packagesInfo = String.Empty;
                captureDevice.StartCapture();
                Thread.Sleep(30200);

                captureDevice.OnPacketArrival -= new PacketArrivalEventHandler(Program_OnPacketArrival);
                //textBox2.Text = packageInfo;
                textBox2.BeginInvoke(new InvokeDelegate(InvokeMethod));
                textBox1.BeginInvoke(new InvokeDelegate(InvokeMethodResult));
            })).Start();
            timer1.Start();
        }
Exemplo n.º 12
0
        public void StartCapture()
        {
            packetCount = 0;
            if (device is null)
            {
                device = CaptureDeviceList.Instance[0];
            }


            packetQue = new Queue <IL2RPacket>();
            //bs = new BindingSource();
            //dataGridView.DataSource = bs;
            LastStatisticsOutput = DateTime.Now;


            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;


            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            device.Open();
            //filter to capture only packets from L2R that have data
            //string filter = "src port 12000 and len > 60";
            device.Filter = filter;
            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();


            // start the background capture
            device.StartCapture();

            //// disable the stop icon since the capture has stopped
            //startStopToolStripButton.Image = global::WinformsExample.Properties.Resources.stop_icon_enabled;
            //startStopToolStripButton.ToolTipText = "Stop capture";
        }
Exemplo n.º 13
0
 public Sniffer()
 {
     InitializeComponent();
     datas = new List <String>();
     devs  = WinPcapDeviceList.Instance;
     packetArrivalHandler = new PacketArrivalEventHandler(deviceOnPacketArrival);
     if (devs.Count > 0)
     {
         foreach (WinPcapDevice d in devs)
         {
             d.Open();
             chooseComboBox.Items.Add("MAC:" + d.MacAddress + " " + d.Description);
             d.Close();
         }
     }
     startButton.Enabled    = false;
     stopButton.Enabled     = false;
     startToolStrip.Enabled = false;
     stopToolStrip.Enabled  = false;
 }
Exemplo n.º 14
0
        private void do仅录像_Click(object sender, EventArgs e)
        {
            var _网卡    = (ICaptureDevice)this.in网卡.SelectedItem;
            var __录像目录 = H路径.获取绝对路径("录像\\");

            if (!Directory.Exists(__录像目录))
            {
                Directory.CreateDirectory(__录像目录);
            }
            var __录像机 = new CaptureFileWriterDevice(Path.Combine(__录像目录, _当前项目.称 + " " + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss")));
            PacketArrivalEventHandler __处理抓包 = (object sender1, CaptureEventArgs e1) => __录像机.Write(e1.Packet);

            _网卡.OnPacketArrival += __处理抓包;
            _网卡.Open();
            _网卡.Filter = H公共.获取过滤表达式(_当前项目.当前通信设备);
            _网卡.StartCapture();
            XtraMessageBox.Show(string.Format("开始时间: {0}, 按OK键终止录像!", DateTime.Now), "录像中", MessageBoxButtons.OK, MessageBoxIcon.Information);
            _网卡.OnPacketArrival -= __处理抓包;
            _网卡.Close();
            __录像机.Close();
        }
Exemplo n.º 15
0
        private void StartCapture(int itemIndex, string filter)
        {
            packetCount = 0;

            device = CaptureDeviceList.Instance[itemIndex];

            LastStatisticsOutput = DateTime.Now;

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;

            int readTimeoutMilliseconds = 1000;

            device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds);

            string filter1 = "not arp";

            if (!chkNull.isNull(filter))
            {
                filter1 += " and " + filter;
            }

            // "ip and tcp " + filter;// and not src host " + txtHostIP.Text + " and not dst host " + txtHostIP.Text;
            device.Filter = filter1;

            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();

            // start the background capture
            device.StartCapture();
        }
Exemplo n.º 16
0
        private void StartCapture(int itemIndex)
        {
            packetCount = 0;
            device      = CaptureDeviceList.Instance[itemIndex];

            // set device name
            deviceNameLbl.Text =
                device.Name.Substring(device.Name.LastIndexOf('\\') + 1,
                                      device.Name.Length - device.Name.LastIndexOf('\\') - 1);

            packetStrings           = new Queue <PacketWrapper>();
            bs                      = new BindingSource();
            dataGridView.DataSource = bs;
            LastStatisticsOutput    = DateTime.Now;

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;
            device.Open(DeviceMode.Normal, readTimeout);

            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();

            // start the background capture
            device.StartCapture();

            // disable the stop icon since the capture has stopped
            statusImage.LoadAsync("Resources/work.png");
            startToolStripMenuItem.Text  = "Stop capture";
            startToolStripMenuItem.Image = Properties.Resources.stopbtn;
        }
Exemplo n.º 17
0
        private void StartCapture()
        {
            packetCount = 0;
            //device = devices[itemIndex];
            packetStrings           = new Queue <PacketWrapper>();
            bs                      = new BindingSource();
            dataGridView.DataSource = bs;
            LastStatisticsOutput    = DateTime.Now;

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;


            var interval = 0;

            int.TryParse(textBoxInterfaceMonitorInterval.Text, out interval);
            device.Open(DeviceMode.Normal, interval);

            // device filter add
            if (textBoxCaptureFilter.Text != "")
            {
                device.Filter = textBoxCaptureFilter.Text;
            }

            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();

            // start the background capture
            device.StartCapture();
        }
        /// <summary>
        /// Start capturing packets.
        /// </summary>
        public void StartCapture()
        {
            packetCount = 0;

            if (device is null)
            {
                device = CaptureDeviceList.Instance[0];
            }

            packetQue = new Queue <IL2RPacket>();
            //bs = new BindingSource();
            //dataGridView.DataSource = bs;
            LastStatisticsOutput = DateTime.Now;


            // setup background capture
            arrivalEventHandler        = new PacketArrivalEventHandler(Device_OnPacketArrival);
            device.OnPacketArrival    += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(Device_OnCaptureStopped);
            device.OnCaptureStopped   += captureStoppedEventHandler;


            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread     = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            device.Open();
            //filter to capture only packets from L2R that have data
            //string filter = "src port 12000 and len > 60";
            device.Filter = filter;
            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();


            // start the background capture
            device.StartCapture();
        }
Exemplo n.º 19
0
        private void StartCapture()
        {
            _packetCount  = 0;
            _device       = _devices[_view.SelectedDevice];
            packetStrings = new Queue <PacketWrapper>();
            bs            = new System.Windows.Forms.BindingSource();
            _view.SetDataSource(bs);
            LastStatisticsOutput = DateTime.Now;

            _backgroundThread     = new Thread(BackgroundThreadFunc);
            _backgroundThreadStop = false;
            _backgroundThread.Start();

            arrivalEventHandler        = new PacketArrivalEventHandler(device_OnPacketArrival);
            _device.OnPacketArrival   += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            _device.OnCaptureStopped  += captureStoppedEventHandler;
            _device.Open();

            captureStatistics = _device.Statistics;
            UpdateCaptureStatistics();

            _device.StartCapture();
        }
Exemplo n.º 20
0
        private void StartCapture(int itemIndex)
        {
            packetCount = 0;
            device = CaptureDeviceList.Instance[itemIndex];
            packetStrings = new Queue<PacketWrapper>();
            bs = new BindingSource();
            dataGridView.DataSource = bs;
            LastStatisticsOutput = DateTime.Now;

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival += arrivalEventHandler;
            captureStoppedEventHandler = new CaptureStoppedEventHandler(device_OnCaptureStopped);
            device.OnCaptureStopped += captureStoppedEventHandler;
            device.Open();

            // force an initial statistics update
            captureStatistics = device.Statistics;
            UpdateCaptureStatistics();

            // start the background capture
            device.StartCapture();

            // disable the stop icon since the capture has stopped
            startStopToolStripButton.Image = global::WinformsExample.Properties.Resources.stop_icon_enabled;
            startStopToolStripButton.ToolTipText = "Stop capture";
        }
Exemplo n.º 21
0
        private void _StopCapture()
        {
            // if capturing was not started, just return
            if (null == _curNIC)
            {
                return;
            }

            _requestStop = true;

            _threadObject.Join();
            _threadObject = null;

            _curNIC.OnPacketArrival -= _eventPacketArrival;
            _curNIC.OnCaptureStopped -= _eventCaptureStopped;

            _eventPacketArrival = null;
            _eventCaptureStopped = null;
            _curNIC = null;
        }
Exemplo n.º 22
0
        private bool _StartCapture()
        {
            // if capturing is already started, just return true
            if (null != _curNIC)
            {
                return true;
            }

            int nSelectedNIC = OConfiguration.instanceOf().GetSelectedNIC();
            if (nSelectedNIC < 0)
            {
                MessageBox.Show("There is no device selected.", "Error");
                return false;
            }
            if (nSelectedNIC >= CaptureDeviceList.Instance.Count)
            {
                MessageBox.Show("The selected device is not valid. Select device again", "Error");
                return false;
            }

            // clear all packet before starting capture
            _capturedPackets.Clear();
            // clear all current packet list
            _curPacketList.Clear();
            // clear ui
            lstPackets.Items.Clear();
            hexEdit.ByteProvider = null;

            _curNIC = CaptureDeviceList.Instance[nSelectedNIC];
            _threadObject = new Thread(_ThreadProc);
            _threadObject.Start();

            // Set up capture
            _eventPacketArrival = new PacketArrivalEventHandler(_OnPacketArrival); ;
            _eventCaptureStopped = new CaptureStoppedEventHandler(_OnCaptureStopped);
            _curNIC.OnPacketArrival += _eventPacketArrival;
            _curNIC.OnCaptureStopped += _eventCaptureStopped;
            _curNIC.Open();
            // start capture
            _curNIC.StartCapture();

            return true;
        }
Exemplo n.º 23
0
        private void StartCapture(int itemIndex)
        {
            device = CaptureDeviceList.Instance[itemIndex];

            // start the background thread
            BackgroundThreadStop = false;
            backgroundThread = new System.Threading.Thread(BackgroundThread);
            backgroundThread.Start();

            // setup background capture
            arrivalEventHandler = new PacketArrivalEventHandler(device_OnPacketArrival);
            device.OnPacketArrival += arrivalEventHandler;
            device.Open();
            if (filter!=null)
            device.Filter = filter;
            // start the background capture
            device.StartCapture();
            timer1.Start();
        }
Exemplo n.º 24
0
 private packetListener() { packetArrivalEvent = new PacketArrivalEventHandler(packetArrive); packList = new List<sPacket>(); }