• 大小: 55KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-12
  • 语言: C#
  • 标签: C#  端口  

资源简介

我自学网络编程时,关于C#的一些内容,自己写的程序

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace PortScan
{
    public partial class MainWnd : Form
    {

        string[] portListArray = null;
        static int portSum = 0;
        public MainWnd()
        {
            InitializeComponent();
            updatelist += new UpdateListBox(refreshlistbox);
        }

        private void button1_Click(object sender EventArgs e)
        {
            int connState = 0;
            String scanHost = textBox1.Text;
            try
            {
                IPAddress ipaddr = (IPAddress)Dns.Resolve(scanHost).AddressList.GetValue(0);
                textBox1.Text = ipaddr.ToString();
            }
            catch {
                textBox1.Focus();
                MessageBox.Show(“请输入正确的主机地址,该地址DNS无法进行解析““系统提示“);
                return;
            }
            /*
            Int32 threadNum = (Int32)startPort.Value;
            Int32 end = (Int32)endPort.Value;
            for (; threadNum <= end; threadNum++) {
                NormalScan(threadNum);
                listBox1.Refresh();
            }
            */
            Int32 start = (Int32)startPort.Value;
            Int32 end = (Int32)endPort.Value;
            Int32 threadNum = end - start;
            portListArray = new String[threadNum];

            ThreadPool.SetMaxThreads(threadNumthreadNum);
                for(threadNum = start;threadNum <= end;threadNum++){
                    ThreadPool.QueueUserWorkItem(new WaitCallback(NormalScan)threadNum);
                }
            
        }

        public delegate void UpdateListBox(String str);
        private UpdateListBox updatelist;

        private void NormalScan(object state) {
            Int32 port = (Int32)state;
            String msg = ““;
            TcpClient tcp = new TcpClient();
            try
            {
                tcp.Connect(IPAddress.Parse(textBox1.Text) port);
                portSum++;
                msg = port.ToString() + “端口开放“;
                
                //多线程时不能直接调用UI线程中的控件
                updatelist(msg);
                tcp.Close();
            }
            catch
            {
                msg = port.ToString() + “端口不开放“;
                updatelist(msg);
            }
            
        }

        private void refreshlistbox(String  str)
        {
            //判断该方法是否被主线程调用,也就是创建listBox控件的线程,当控件的InvokeRequired属性为ture时,说明是被主线程以外的线程调用。如果不加判断,会造成异常  
            if (this.listBox1.InvokeRequired)
            {
                //再次创建一个TestClass类的对象  
                //为新对象的updatelist对象搭载方法  
                this.updatelist = new UpdateListBox(refreshlistbox);
                //th

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        187  2016-05-19 20:04  PortScanMultiThread\PortScan\App.config

     文件      13312  2016-05-21 10:05  PortScanMultiThread\PortScan\bin\Debug\PortScan.exe

     文件        187  2016-05-19 20:04  PortScanMultiThread\PortScan\bin\Debug\PortScan.exe.config

     文件      30208  2016-05-21 10:05  PortScanMultiThread\PortScan\bin\Debug\PortScan.pdb

     文件      22984  2016-05-21 10:08  PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe

     文件        187  2016-05-19 20:04  PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe.config

     文件        490  2015-10-30 15:19  PortScanMultiThread\PortScan\bin\Debug\PortScan.vshost.exe.manifest

     文件       3631  2016-05-21 14:35  PortScanMultiThread\PortScan\MainWnd.cs

     文件       9854  2016-05-19 20:30  PortScanMultiThread\PortScan\MainWnd.Designer.cs

     文件       5817  2016-05-19 20:30  PortScanMultiThread\PortScan\MainWnd.resx

     文件       1308  2016-05-21 08:48  PortScanMultiThread\PortScan\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7035  2016-05-21 09:24  PortScanMultiThread\PortScan\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       1591  2016-05-21 10:08  PortScanMultiThread\PortScan\obj\Debug\PortScan.csproj.FileListAbsolute.txt

     文件        977  2016-05-19 20:30  PortScanMultiThread\PortScan\obj\Debug\PortScan.csproj.GenerateResource.Cache

     文件       2209  2016-05-19 20:28  PortScanMultiThread\PortScan\obj\Debug\PortScan.csprojResolveAssemblyReference.cache

     文件      13312  2016-05-21 10:05  PortScanMultiThread\PortScan\obj\Debug\PortScan.exe

     文件        180  2016-05-19 20:30  PortScanMultiThread\PortScan\obj\Debug\PortScan.MainWnd.resources

     文件      30208  2016-05-21 10:05  PortScanMultiThread\PortScan\obj\Debug\PortScan.pdb

     文件        180  2016-05-19 20:28  PortScanMultiThread\PortScan\obj\Debug\PortScan.Properties.Resources.resources

     文件          0  2016-05-19 20:04  PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2016-05-19 20:04  PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2016-05-19 20:04  PortScanMultiThread\PortScan\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       3840  2016-05-19 20:28  PortScanMultiThread\PortScan\PortScan.csproj

     文件        522  2016-05-19 20:12  PortScanMultiThread\PortScan\Program.cs

     文件       1336  2016-05-19 20:04  PortScanMultiThread\PortScan\Properties\AssemblyInfo.cs

     文件       2868  2016-05-19 20:04  PortScanMultiThread\PortScan\Properties\Resources.Designer.cs

     文件       5612  2016-05-19 20:04  PortScanMultiThread\PortScan\Properties\Resources.resx

     文件       1095  2016-05-19 20:04  PortScanMultiThread\PortScan\Properties\Settings.Designer.cs

     文件        249  2016-05-19 20:04  PortScanMultiThread\PortScan\Properties\Settings.settings

     文件        239  2016-05-19 20:11  PortScanMultiThread\PortScan\Scan.cs

............此处省略14个文件信息

评论

共有 条评论