⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 落雪无痕网络IP端口扫描器C#源代码
💻 CS
字号:
//------------------如果需要交流,可加我QQ:43914504,或者E_mail:lishuangzs@sohu.com.友情下载:http://www.codefans.net---------------------
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net.Sockets;
using System.Net;
using System.Threading;
//------------------如果需要交流,可加我QQ:43914504,或者E_mail:lishuangzs@sohu.com.友情下载:http://www.codefans.net---------------------

namespace 落雪无痕网络端口扫描器
{
    public partial class Form1 : Form
    {
        int ip1, ip2, ip3, ip4;
        //string ipfinal = null;
        string[] t = new string[5];
        string ss = null;
       
        Thread fThread;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Text = null;
            ss = this.textBox1.Text;

            //this.timer1.Enabled = true;
            this.richTextBox1.Text = "正在进行扫描,请稍候......\n";
            fThread = new Thread(new ThreadStart(runs));

            fThread.Start();


           
        }
        public void ipstart_get(string ff)
        {
            t =ff.Split('.');
            ip1 = Convert.ToInt16(t[0].ToString().Trim());
            ip2 = Convert.ToInt16(t[1].ToString().Trim());
            ip3 = Convert.ToInt16(t[2].ToString().Trim());
            ip4 = Convert.ToInt16(t[3].ToString().Trim());
            
            
        }

        public void IPAdd()   //这个算法的用处是:将你的IP 增加1  如果你将此方法用 for循环的话,你可以循环出指定IP段的所有IP地址
        {
            if (++ip4 > 255)
            {
                ip3++;
                ip4 = 1;
            }

            if (ip3 > 255)
            {
                ip2++;
                ip3 = 1;
            }

            if (ip2 > 255)
            {
                ip1++;
                ip2 = 1;
            }

            if (ip1 > 255)
            {
                ip1 = 1;
            }
        }   
        public void Startscan(string yy)
        {
            Int32 port = Convert.ToInt32(comboBox1.Text.Trim());
            try
            {
                TcpClient tcp = new TcpClient(); //去连接指定IP的指定端口  如果成功  就显示 端口开放  不成功就抛出异常 端口未开放
                tcp.Connect(this.textBox1.Text, port);
                this.richTextBox1.AppendText(ss+"   端口:" + port.ToString() + "开放\n");
               
            }
            catch
            {
                this.richTextBox1.AppendText(ss+"  端口:" + port.ToString() + "未开放\n");
               
            }

        }

  //-----------------------------------如果需要交流,可加我QQ:43914504,或者E_mail:lishuangzs@sohu.com---------------------    

        public void runs()
        {
            while (true) //这个是死循环  循环计算出 IP
            {
                
                if (!ss.Equals(this.textBox2.Text))//当初始地址 不等于结束地址的时候  继续操作  如果相等  就结束循环
                {
                    Startscan(ss);
                    ipstart_get(ss);
                    IPAdd();
                    ss = ip1.ToString() + "." + ip2.ToString() + "." + ip3.ToString() + "." + ip4.ToString();
                   
                }
                else
                 {
                    Startscan(ss);
                     break;
                 }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -