简单的端口扫描程序
单线程方式
窗口设计
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Threading;
namespace WindowsFormsApp3
{
public partial class Form1 : Form
{
private string hostAddress;
private int start;
private int end;
private int port;
public Form1()
{
InitializeComponent();
}
private void label5_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
textBox4.Clear();
label5.Text = "0%";
hostAddress = textBox1.Text;
start = Int32.Parse(textBox2.Text);
end = Int32.Parse(textBox3.Text);
if (decideAddress())
{
textBox1.ReadOnly = true;
textBox2.ReadOnly = true;
textBox3.ReadOnly = true;
progressBar1.Minimum = start;
progressBar1.Maximum = end;
textBox4.AppendText("端口扫描器 v1.0.0" + Environment.NewLine + Environment.NewLine);
PortScan();
}
else
{
MessageBox.Show("输入错误,端口范围为[0-65536]!");
}
}
catch
{
MessageBox.Show("输入错误,端口范围为[0-65536]!");
}
}
private bool decideAddress()
{
if ((start >= 0 && start <= 65536) &&