端口扫描器

public partial class Form1 : Form
    {
        private Thread T;                      //定义一个线程


        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            //点击开始扫描的功能
            Result_List.Items.Clear();


            T = new Thread(new ThreadStart(scanport));      //请求创建线程
            T.Start();
        }


        void scanport()
        {


            try
            {
                TcpClient client = new TcpClient();
                IPAddress address = IPAddress.Parse(IP_Address.Text);
                
                int i = int.Parse(PortMin.Text);
                int Max = int.Parse(PortMax.Text);


                for (; i <= Max; i++)
                {
                    try
                    {
                        //扫描制定的端口范围
                        client.Connect(address, i);
                        Result_List.Items.Add( address + "的端口" + i + "是打开的");
                    }
                    catch (SocketException)
                    {
                        Result_List.Items.Add( address  + "的端口" + i + "是关闭的");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {


            }
        }


using System.Net;
using System.Net.Sockets;   //两个网络库
using System.Threading;     //线程需要


网络Socket连接所需要的一般的两个库是上面的两个
第三个是需要线程编程的库
用ToolBox确实比MFC要容易,如果再更改,再贴代码

你可能感兴趣的:(编程,线程,网络,socket)