예제 #1
0
        private void Save_file_as(object sender, RoutedEventArgs e)
        {
            TabItem currentPage = tabControl.SelectedItem as TabItem;

            if (IsAPcapFile(currentPage.Header.ToString()))
            {
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                saveFileDialog1.Filter = "Txt file|*.txt";
                saveFileDialog1.Title  = "Save Txt File";
                saveFileDialog1.ShowDialog();

                PcapFileControl pcf   = (PcapFileControl)currentPage.Content;
                List <MyPacket> lines = pcf.getPacketsData();

                if (saveFileDialog1.FileName != "")
                {
                    // Saves the Image via a FileStream created by the OpenFile method.
                    System.IO.FileStream fs =
                        (System.IO.FileStream)saveFileDialog1.OpenFile();
                    foreach (MyPacket line in lines)
                    {
                        WriteLine(fs, line.ToString() + Environment.NewLine);
                    }

                    fs.Close();

                    MessageBox.Show("Plik został zapisany", "Zapis udany");
                }
            }
            else
            {
                MessageBox.Show("Ten plik nie moze zostać zapisany", "Błąd zapisu");
            }
        }
예제 #2
0
        private void File_Open_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "PCAP Files (*.pcap)|*.pcap";
                openFileDialog.Title  = "Please select an file to open.";
                int newItemIndex = 0;
                if (openFileDialog.ShowDialog() == true)
                {
                    //TODO wczytywanie pliku lub plików
                    foreach (String s in openFileDialog.FileNames)
                    {
                        _tabAdd        = new TabItem();
                        _tabAdd.Header = ExtractFileName(s);
                        PcapFileControl pfc = new PcapFileControl(s);
                        _tabAdd.Content = pfc;
                        if (_tabItems.Count == 0)
                        {
                            _tabItems.Add(_tabAdd);
                        }
                        else
                        {
                            _tabItems.Insert(tabControl.SelectedIndex + 1, _tabAdd);
                        }
                        newItemIndex = tabControl.SelectedIndex + 1;
                    }

                    tabControl.DataContext = null;
                    tabControl.DataContext = _tabItems;

                    tabControl.Items.Refresh();
                    tabControl.SelectedIndex = newItemIndex;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Wystąpił błąd podczas otwierania pliku");
            }
        }
예제 #3
0
        private void File_Connect_Click(object sender, RoutedEventArgs e)
        {
            _tabAdd        = new TabItem();
            _tabAdd.Header = "Merged file.pcap";
            PcapFileControl mf = new PcapFileControl();

            _tabAdd.Content = mf;
            int newItemIndex = 0;


            _tabItems.Insert(0, _tabAdd);

            tabControl.DataContext = null;
            tabControl.DataContext = _tabItems;

            tabControl.Items.Refresh();
            tabControl.SelectedIndex = newItemIndex;

            ConnectFilesWindow cfw = new ConnectFilesWindow(_tabItems);

            cfw.Show();
        }
예제 #4
0
        private void Save_file(object sender, RoutedEventArgs e)
        {
            TabItem currentPage = tabControl.SelectedItem as TabItem;

            if (IsAPcapFile(currentPage.Header.ToString()))
            {
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(currentPage.Header + ".txt"))
                {
                    PcapFileControl pcf   = (PcapFileControl)currentPage.Content;
                    List <MyPacket> lines = pcf.getPacketsData();
                    foreach (MyPacket line in lines)
                    {
                        file.WriteLine(line);
                    }

                    MessageBox.Show("Plik został zapisany", "Zapis udany");
                }
            }
            else
            {
                MessageBox.Show("Ten plik nie moze zostać zapisany", "Błąd zapisu");
            }
        }
        private bool ConnectFiles()
        {
            addSelectedItemsToList();

            List <MyPacket> packets     = new List <MyPacket>();
            int             i           = 0;
            bool            isDuplicate = false;

            foreach (TabItem elem in _tabItems)
            {
                if (ListViewCFW.Items.Contains(elem.Header))
                {
                    if (_selectedItems.Contains(elem.Header))
                    {
                        if (IsAPcapFile(elem.Header.ToString()))
                        {
                            PcapFileControl pcapWindow = new PcapFileControl();
                            pcapWindow = (PcapFileControl)elem.Content;

                            foreach (MyPacket p in pcapWindow.listViewFileData.Items)
                            {
                                if (this.deleteDuplicate.IsChecked == true)
                                {
                                    if (i > 0) // Zawsze dodaję odaję wszystkie pakiety z pierwszego pliku. Przejdź jeśli index pliku jest większy niż 0
                                    {
                                        if (packets.Count > 0)
                                        {
                                            foreach (MyPacket listPacket in packets)
                                            {
                                                if ((p.SourceIP.Equals(listPacket.DestIP) && p.Checksum.Equals(listPacket.Checksum)) || !arePacketsTheSame(p, listPacket)) //sprawdzam czy dany pakiet jest duplikatem lub czy ma już swój duplikat na liście
                                                {
                                                    isDuplicate = true;
                                                }
                                            }
                                            if (isDuplicate == false) //dodaję pakiet jeśli jest unikalny
                                            {
                                                packets.Add(p);
                                            }
                                        } //jeśli na liście nie ma obiektów
                                        else
                                        {
                                            packets.Add(p);
                                        }
                                    }
                                    else  //uzupełnij listę pakietami z pierwszego pliku
                                    {
                                        packets.Add(p);
                                    }
                                }
                                else  // gdy checkbox nie jest zaznaczony
                                {
                                    packets.Add(p);
                                }
                            }
                            i++;
                        }
                    }
                }
            }

            PcapFileControl pfc = new PcapFileControl(packets);

            _tabItems[0].Content = pfc;

            return(true);
        }