Exemple #1
0
        private void MikrotikIPSecTunelsPrint_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                IP curIP = SelectedIP;

                Thread runThread = new Thread(new ThreadStart(() =>
                {
                    try
                    {
                        #region Вывод списка направлений туннеля
                        MK mikrotikIPSecTunels = new MK(curIP.IPAddress);
                        if (!mikrotikIPSecTunels.Login(SelectedCredentials.Login, SelectedCredentials.Password))
                        {
                            Log("Could not log in");
                            mikrotikIPSecTunels.Close();
                            return;
                        }
                        mikrotikIPSecTunels.Send("/ip/ipsec/installed-sa/print");
                        mikrotikIPSecTunels.Send(".tag=listInstalledSAs", true);
                        StringBuilder result = new StringBuilder();
                        //List<string[]> temp = new List<string[]>();
                        foreach (string h in mikrotikIPSecTunels.Read())
                        {
                            var massElements = h.Split('=');
                            if (massElements.Count() > 9)
                            {
                                result.AppendLine($"src-address {massElements[7]} ---> dst-address {massElements[9]}");
                            }
                        }
                        Dispatcher.Invoke(() =>
                        {
                            ((Button)e.OriginalSource).Tag = result;
                        });

                        #endregion
                    }
                    catch (Exception ex)
                    {
                        Log(ex.Message);
                    }
                }));
                runThread.Start();
            }
            catch (Exception ex)
            {
                Log(ex.Message);
            }
            //StringBuilder test = new StringBuilder();
            //test.AppendLine($"src-address 192.168.61.102 ---> dst-address 8.8.8.8");
            //test.AppendLine($"src-address 8.8.8.8 ---> dst-address 192.168.61.102");
            //((Button)e.OriginalSource).Tag = test.ToString();
        }
Exemple #2
0
        private void MikrotikIPSec_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                Thread runThread = new Thread(new ThreadStart(() =>
                {
                    try
                    {
                        #region Вывод списка каналов

                        MK mikrotikIPSec = new MK(SelectedIP.IPAddress);
                        if (!mikrotikIPSec.Login(SelectedCredentials.Login, SelectedCredentials.Password))
                        {
                            Log("Could not log in");
                            mikrotikIPSec.Close();
                            return;
                        }
                        mikrotikIPSec.Send("/ip/ipsec/policy/print");
                        mikrotikIPSec.Send(".tag=policies", true);
                        StringBuilder result = new StringBuilder();
                        foreach (string h in mikrotikIPSec.Read())
                        {
                            var massElements = h.Split('=');
                            if (massElements.Count() > 9)
                            {
                                foreach (var item in massElements)
                                {
                                    result.AppendLine(item);
                                }
                            }
                        }
                        Dispatcher.Invoke(() =>
                        {
                            ((Button)e.OriginalSource).Tag = result;
                        });

                        #endregion
                    }
                    catch (Exception ex)
                    {
                        Log(ex.Message);
                    }
                }));
                runThread.Start();
            }
            catch (Exception ex)
            {
                Log(ex.Message);
            }
        }