public void IsIPv4Test() { Assert.True(RegexUtil.IsIPv4("172.16.254.1")); Assert.False(RegexUtil.IsIPv4("172.316.254.1")); Assert.False(RegexUtil.IsIPv4(".254.255.0")); Assert.False(RegexUtil.IsIPv4("1.1.1.1a")); }
private void buttonScan_Click(object sender, EventArgs e) { try { string host = textBoxHost.Text; int beginPort = int.Parse(textBoxBeginPort.Text); int endPort = int.Parse(textBoxEndPort.Text); string ip = ""; if (RegexUtil.IsIPv4(host)) { ip = host; } else { ip = new DnsUtil().GetIpByUrl(host); } richTextBoxOut.Text = String.Format("开始扫描 {0}\r\n", ip); Thread thread = new Thread(ScanThreadPoolWork); thread.Start(this); for (int i = beginPort; i <= endPort; i++) { ScanPortWorkData data = new ScanPortWorkData(); data.Wnd = this; data.Host = ip; data.Port = i; ThreadPool.QueueUserWorkItem(new WaitCallback(IsPortOpenWork), data); } } catch (Exception ex) { richTextBoxOut.Text = ex.Message; } }