diff --git a/bulk_ip_lookup/Form1.Designer.cs b/bulk_ip_lookup/Form1.Designer.cs index f35101d..ef4505d 100644 --- a/bulk_ip_lookup/Form1.Designer.cs +++ b/bulk_ip_lookup/Form1.Designer.cs @@ -79,6 +79,7 @@ private void InitializeComponent() this.columnHeader4}); this.listView2.Cursor = System.Windows.Forms.Cursors.Hand; this.listView2.Dock = System.Windows.Forms.DockStyle.Left; + this.listView2.FullRowSelect = true; this.listView2.GridLines = true; this.listView2.HoverSelection = true; this.listView2.LabelEdit = true; diff --git a/bulk_ip_lookup/Form1.cs b/bulk_ip_lookup/Form1.cs index 2926b83..bd802fe 100644 --- a/bulk_ip_lookup/Form1.cs +++ b/bulk_ip_lookup/Form1.cs @@ -25,19 +25,18 @@ public void InsertIntoList(ListViewItem item) { try { - if (InvokeRequired) - { - Invoke(new InsertIntoListDelegate(InsertIntoList), item); - } - else - { - listView2.Items.Add(item); - } + if (InvokeRequired) Invoke(new InsertIntoListDelegate(InsertIntoList), item); + else listView2.Items.Add(item); } - catch(Exception ee) { MessageBox.Show(ee.ToString()); } + catch(Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "InsertIntoList. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } private int progress = 0; + /// + /// Является ли текст IP адресом + /// + /// + /// private static bool CheckIp(string address) { try @@ -45,7 +44,7 @@ private static bool CheckIp(string address) string[] nums = address.Split('.'); return nums.Length == 4 && nums.All(n => int.TryParse(n, out int useless)) && nums.Select(int.Parse).All(n => n < 256); } - catch { return false; } + catch { File.AppendAllText("EventLog.txt", "CheckIp. Общая ошибка: " + address.ToString() + Environment.NewLine); return false; } } private void Progress_change(int step) @@ -54,8 +53,7 @@ private void Progress_change(int step) { progress += step; - if (progress > 0) - Invoke((ThreadStart)delegate { progresslabel.Text = progress.ToString(); }); + if (progress > 0) Invoke((ThreadStart)delegate { progresslabel.Text = progress.ToString(); }); else Invoke((ThreadStart)delegate { progresslabel.Text = ""; }); } } @@ -65,12 +63,13 @@ private void Progress_change(int step) /// private async void GetHostEntryAsync(object IP) { + string ip = ""; try { string[] y = new string[2]; //bool lookuped = false; try { - string ip = (string)IP; + ip = (string)IP; char[] trimcharachters = { ' ', '\t' }; ip = ip.Trim(trimcharachters); y[0] = (string)IP; @@ -80,25 +79,19 @@ private async void GetHostEntryAsync(object IP) { y[1] = Dns.GetHostEntry(ip).HostName; y[0] = ip; - //lookuped = true; - } - else - { - y[1] = "incorrect IP"; - // y[1] = Dns.GetHostAddressesAsync(ip).ToString(); - // y[0] = ip; } + else y[1] = "incorrect IP"; } catch (Exception ee) { - y[1] = ee.Message; + y[1] = ee.Message; } await Task.Factory.StartNew(() => InsertIntoList(new ListViewItem(y))).ConfigureAwait(false); } - catch { } + catch { File.AppendAllText("EventLog.txt", "GetHostEntryAsync. Ошибка проверки IP: " + ip + Environment.NewLine); } Progress_change(-1); } - catch (Exception ee){ MessageBox.Show(ee.ToString()); } + catch (Exception ee){ MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "GetHostEntryAsync. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } private void LinkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) @@ -125,49 +118,48 @@ private void Form1_Load_1(object sender, EventArgs e) /// private int Get_IPs_count_for_mask(int mask) { - int count = 0; + int max = 0; switch (mask) { case 24: - count = 256; + max = 256; break; case 25: - count = 128; + max = 128; break; case 26: - count = 64; + max = 64; break; case 27: - count = 32; + max = 32; break; case 28: - count = 16; + max = 16; break; case 29: - count = 8; + max = 8; break; case 30: - count = 4; + max = 4; break; case 31: - count = 2; + max = 2; break; case 32: - count = 1; + max = 1; break; default: - count = 0; + max = 0; break; } - return count; + return max; } private void Form1_DragEnter(object sender, DragEventArgs e) { try { - if (listView2.Items != null && listView2.Items.Count != 0) - listView2.Items.Clear(); + if (listView2.Items != null && listView2.Items.Count != 0) listView2.Items.Clear(); if (e.Data.GetData("FileName") is Array data1) { if ((data1.Length == 1) && (data1.GetValue(0) is String)) @@ -176,16 +168,14 @@ private void Form1_DragEnter(object sender, DragEventArgs e) try { if (new FileInfo(filename).Length < 3000) - { - GET_DNS_NAME(File.ReadAllText(filename)); - } + GET_DNS_NAME(File.ReadAllText(filename)); } catch (Exception ee){ MessageBox.Show(ee.ToString()); } } } listView2.Refresh(); } - catch(Exception ee) { MessageBox.Show(ee.ToString()); } + catch(Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "Form1_DragEnter. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } private void ListView2_MouseClick(object sender, MouseEventArgs e) @@ -205,11 +195,6 @@ private void ОтменаToolStripMenuItem_Click(object sender, EventArgs e) contextMenuStrip1.Hide(); } - private void PictureBox5_Click(object sender, EventArgs e) - { - //listView2.select - } - private void PictureBox1_Click(object sender, EventArgs e) { @@ -221,16 +206,12 @@ private void PictureBox1_Click(object sender, EventArgs e) if (listView2.SelectedItems.Count != 0) { for (int i = 0; i < listView2.SelectedItems.Count; i++) - { - lines[i] += listView2.SelectedItems[i].SubItems[0].Text + "," + listView2.SelectedItems[i].SubItems[1].Text; - } + lines[i] += listView2.SelectedItems[i].SubItems[0].Text + "," + listView2.SelectedItems[i].SubItems[1].Text; } else { for (int i = 0; i < listView2.Items.Count; i++) - { - lines[i] += listView2.Items[i].SubItems[0].Text + "," + listView2.Items[i].SubItems[1].Text; - } + lines[i] += listView2.Items[i].SubItems[0].Text + "," + listView2.Items[i].SubItems[1].Text; } DateTime D = DateTime.Now; string filename = "nslookup " + D.Year + "." + D.Month + "." + D.Day + " " + D.Hour + "-" + D.Minute + "-" + D.Second + ".txt"; @@ -238,7 +219,7 @@ private void PictureBox1_Click(object sender, EventArgs e) System.Diagnostics.Process.Start("explorer.exe", "/select, " + filename); } } - catch(Exception ee) { MessageBox.Show(ee.ToString()); } + catch(Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "PictureBox1_Click. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } /// @@ -251,14 +232,12 @@ private void CopyFromView() if (listView2.Items != null && listView2.Items.Count != 0) { string lines = string.Empty; - for (int i = 0; i < listView2.SelectedItems.Count; i++) - { - lines += listView2.SelectedItems[i].SubItems[0].Text + Environment.NewLine; - } + for (int i = 0; i < listView2.SelectedItems.Count; i++) + lines += listView2.SelectedItems[i].SubItems[0].Text + Environment.NewLine; Clipboard.SetText(lines); } } - catch(Exception ee) { MessageBox.Show(ee.ToString()); } + catch(Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "CopyFromView. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } private void СкопироватьToolStripMenuItem_Click(object sender, EventArgs e) @@ -290,11 +269,11 @@ private async void GET_DNS_NAME(string lines) y[0] = address.ToString(); await Task.Factory.StartNew(() => InsertIntoList(new ListViewItem(y))).ConfigureAwait(false); Progress_change(-1); - } + } } catch (Exception ee) { - y[0] = ee.Message; + y[0] = ee.Message; File.AppendAllText("EventLog.txt", "GET_DNS_NAME. Ошибка поиска IP: " + ee.ToString() + Environment.NewLine); } await Task.Factory.StartNew(() => InsertIntoList(new ListViewItem(y))).ConfigureAwait(false); } @@ -303,41 +282,43 @@ private async void GET_DNS_NAME(string lines) Regex ip_pattern = new Regex(@"\d+\.\d+\.\d+\.\d+\/\d+|\d+\.\d+\.\d+\.\d+"); MatchCollection ip_finded = ip_pattern.Matches(lines); Invoke((ThreadStart)delegate { progresslabel.Text = ip_finded.Count.ToString(); }); - - for (int i = 0; i < ip_finded.Count; i++) + try { - string fgdf = ip_finded[i].ToString(); - if (fgdf.Contains("/")) + for (int i = 0; i < ip_finded.Count; i++) { - string[] masksize = fgdf.Split('/'); - string[] oktets = masksize[0].Split('.'); - int masksize_int = Convert.ToInt32(masksize[1]); - if (masksize_int >= 24) + string fgdf = ip_finded[i].ToString(); + if (fgdf.Contains("/")) { - if (masksize_int <= 32) + string[] masksize = fgdf.Split('/'); + string[] oktets = masksize[0].Split('.'); + int masksize_int = Convert.ToInt32(masksize[1]); + if (masksize_int >= 24) { - int ip_max = Get_IPs_count_for_mask(masksize_int); - if (ip_max > 256) ip_max = 256; - Progress_change(ip_max); - for (int j = 0; j < ip_max; j++) + if (masksize_int <= 32) { - Thread myThread = new Thread(new ParameterizedThreadStart(GetHostEntryAsync)); - myThread.Start(oktets[0] + "." + oktets[1] + "." + oktets[2] + "." + (Convert.ToInt32(oktets[3]) + j)); - Progress_change(-1); + int ip_max = Get_IPs_count_for_mask(masksize_int); + if (ip_max > 255) ip_max = 255; + Progress_change(ip_max); + + for (int j = 0; j < ip_max; j++) + { + Thread myThread = new Thread(new ParameterizedThreadStart(GetHostEntryAsync)); + myThread.Start(oktets[0] + "." + oktets[1] + "." + oktets[2] + "." + (Convert.ToInt32(oktets[3]) + j)); + Progress_change(-1); + } } } } + else + { + Thread myThread = new Thread(new ParameterizedThreadStart(GetHostEntryAsync)); + myThread.Start(fgdf); + } } - else - { - Thread myThread = new Thread(new ParameterizedThreadStart(GetHostEntryAsync)); - myThread.Start(fgdf); - } - } - } - catch (Exception ee){ - MessageBox.Show(ee.ToString()); + } + catch (Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "GET_DNS_NAME. Ошибка поиска IP: " + ee.ToString() + Environment.NewLine); } } + catch (Exception ee){MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "GET_DNS_NAME. Общая ошибка: " + ee.ToString() + Environment.NewLine); } try { Invoke((ThreadStart)delegate { RemoveDuplicates_In_ListView(listView2); }); } catch { }//удаляем дубликаты } /// @@ -368,7 +349,7 @@ public void RemoveDuplicates_In_ListView(ListView ListView) } catch (Exception ee) { - MessageBox.Show(ee.ToString()); + MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "GetHostEntryAsync. Общая ошибка: " + ee.ToString() + Environment.NewLine); } } private void PictureBox2_Click(object sender, EventArgs e) diff --git a/bulk_ip_lookup/IP_Bulk_lookup.csproj b/bulk_ip_lookup/IP_Bulk_lookup.csproj index 525ce81..b2aeb26 100644 --- a/bulk_ip_lookup/IP_Bulk_lookup.csproj +++ b/bulk_ip_lookup/IP_Bulk_lookup.csproj @@ -138,10 +138,15 @@ + + + + + diff --git a/bulk_ip_lookup/Program.cs b/bulk_ip_lookup/Program.cs index 89dcb58..7eaede1 100644 --- a/bulk_ip_lookup/Program.cs +++ b/bulk_ip_lookup/Program.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Windows.Forms; namespace IP_Bulk_lookup @@ -11,9 +12,13 @@ internal static class Program [STAThread] private static void Main() { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); + try + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + catch (Exception ee) { MessageBox.Show(ee.ToString()); File.AppendAllText("EventLog.txt", "Program.cs Общая ошибка: " + ee.ToString() + Environment.NewLine); } } } } diff --git a/bulk_ip_lookup/Properties/Resources.Designer.cs b/bulk_ip_lookup/Properties/Resources.Designer.cs index 3fade44..4074d5b 100644 --- a/bulk_ip_lookup/Properties/Resources.Designer.cs +++ b/bulk_ip_lookup/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace IP_Bulk_lookup.Properties { // с помощью такого средства, как ResGen или Visual Studio. // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen // с параметром /str или перестройте свой проект VS. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -110,6 +110,16 @@ internal static System.Drawing.Icon Icon { } } + /// + /// Поиск локализованного ресурса типа System.Drawing.Icon, аналогичного (Значок). + /// + internal static System.Drawing.Icon Icon1 { + get { + object obj = ResourceManager.GetObject("Icon1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + /// /// Поиск локализованного ресурса типа System.Drawing.Bitmap. /// diff --git a/bulk_ip_lookup/Properties/Resources.resx b/bulk_ip_lookup/Properties/Resources.resx index e12341d..db52ff9 100644 --- a/bulk_ip_lookup/Properties/Resources.resx +++ b/bulk_ip_lookup/Properties/Resources.resx @@ -118,22 +118,25 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\bin\Debug\export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\bin\Debug\Icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\upload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\bin\Debug\Clipboard_Copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Clipboard_Copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\bin\Debug\Clipboard_Paste.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Clipboard_Paste.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\bin\Debug\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\upload.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/bulk_ip_lookup/Resources/decrypt.png b/bulk_ip_lookup/Resources/decrypt.png new file mode 100644 index 0000000..b04fd8c Binary files /dev/null and b/bulk_ip_lookup/Resources/decrypt.png differ diff --git a/bulk_ip_lookup/Resources/encrypt.png b/bulk_ip_lookup/Resources/encrypt.png new file mode 100644 index 0000000..72efe3a Binary files /dev/null and b/bulk_ip_lookup/Resources/encrypt.png differ diff --git a/bulk_ip_lookup/Resources/sign_check.png b/bulk_ip_lookup/Resources/sign_check.png new file mode 100644 index 0000000..427bc30 Binary files /dev/null and b/bulk_ip_lookup/Resources/sign_check.png differ diff --git a/bulk_ip_lookup/Resources/sign_set.png b/bulk_ip_lookup/Resources/sign_set.png new file mode 100644 index 0000000..08ce5ae Binary files /dev/null and b/bulk_ip_lookup/Resources/sign_set.png differ