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(); }
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); } }