Пример #1
0
        public MainForm()
        {
            InitializeComponent();
            _offlineParser           = new PcapParser();
            _onlineParser            = new PcapParser();
            _flows                   = new Flows();
            DynamicFilter.WorkingDir = Directory.GetCurrentDirectory();
            _options                 = new Options();

            this.FormClosing += new FormClosingEventHandler(MainForm_FormClosing);
            this.DragDrop    += new DragEventHandler(Form_DragDrop);

            DateTime now = DateTime.Now;

            fromDateTimePicker.Value              = now.AddHours(-now.Hour).AddMinutes(-now.Minute).AddSeconds(-now.Second);
            toDateTimePicker.Value                = fromDateTimePicker.Value.AddDays(1).AddSeconds(-1);
            _filtersForm                          = new FiltersForm(_options, this);
            _filtersForm.FiltersTree.AfterSelect += new TreeViewEventHandler(FiltersTree_AfterSelect);

            _flowsForm = new FlowsForm(this);
            _mapForm   = new MapForm();
            _statForm  = new StatisticsForm();

            _filtersForm.Show(dockPanel, DockState.DockLeft);
            _flowsForm.Show(dockPanel, DockState.Document);
            _statForm.Show(dockPanel, DockState.Document);

            DockPane pane = dockPanel.DockPaneFactory.CreateDockPane(
                _flowsForm, DockState.Document, true);
            DockPane pane1 = dockPanel.DockPaneFactory.CreateDockPane(
                _statForm, pane, DockAlignment.Bottom, 0.5, true);

            _mapForm.Show(pane1, _statForm);
        }
Пример #2
0
 public InterfacesForm(PcapParser pcapParser)
 {
     InitializeComponent();
     _pcapParser = pcapParser;
     _images     = new ImageList();
     _images.Images.Add(Resources._interface);
     InterfacesTreeView.ImageList = _images;
     fillInterfacesList();
 }
        public void LoadPcapFile(PcapFile file)
        {
            var stopwatch       = Stopwatch.StartNew();
            int packetCount     = 0;
            var errors          = new List <Exception>();
            var packetSummaries = new List <PacketSummary>();

            PcapParser.Parse(file.FilePath, p =>
            {
                try
                {
                    // insert packet summaries in batches
                    if (packetSummaries.Count >= 50000)
                    {
                        this.packetSummaryRepository.Create(packetSummaries);
                        packetCount += packetSummaries.Count;
                        packetSummaries.Clear();
                    }

                    Console.Write($"\rPackets: {packetCount}\tElapsed Time: {(int)(stopwatch.ElapsedMilliseconds / 1000)} (s)");

                    packetSummaries.Add(PacketSummary.Parse(p).ForFile(file.Id));
                }
                catch (Exception e)
                {
                    errors.Add(e);
                }
            });

            this.packetSummaryRepository.Create(packetSummaries);
            packetCount += packetSummaries.Count;
            packetSummaries.Clear();
            Console.Write($"\rPackets: {packetCount}/{packetCount + errors.Count}\tElapsed Time: {(int)(stopwatch.ElapsedMilliseconds / 1000)} (s)");
            Console.WriteLine(Environment.NewLine);

            stopwatch.Stop();
            //errors.ForEach(e => this.userInterface.Error(e.ToString()));
        }
 public void Parse(object ogj, string filepath)
 {
     _allPackets   = PcapParser.ParsePcapFile(filepath);
     Packets       = PacketToViewModelBindingList(_allPackets);
     CurrentHeader = CurrentData = "";
 }
        public void ParseTest()
        {
            var result = PcapParser.ParsePcapFile("../../../../TestFiles/test.pcap");

            Assert.That(result.Count, Is.EqualTo(147));
        }