美文网首页
第二章-主机扫描

第二章-主机扫描

作者: JJJJJJJJJJC | 来源:发表于2019-10-17 16:04 被阅读0次

namespace Tcp常规扫描程序
{

    public partial class Form1 : Form
    {
        public int connState=0;
        public int portSum = 0;
        string 主机str;
        int 开始端口 { get { return int.Parse(tex开始端口.Text); } }
        int 结束端口 { get { return int.Parse(tex结束端口.Text); } }
        int 线程数 { get { return int.Parse(tex线程数.Text); } }
        IPAddress ip地址;
        public Form1()
        {
            InitializeComponent();
            Control.CheckForIllegalCrossThreadCalls = false;
        }

        private void 开始bt_Click(object sender, EventArgs e)
        {
            connState = 0;
            portSum = 0;
            主机str = textBox1.Text;

            try
            {
                  ip地址 = IPAddress.Parse(主机str);
                textBox1.Text = ip地址.ToString();
            }
            catch(Exception a)
            {
                textBox1.Focus();
                MessageBox.Show("请输入正确的主句地址,改地址dns无法解析", "系统提示");
                return;
            }

            ThreadPool.SetMaxThreads(线程数, 线程数);//设置最大线程数
            for (int _线程数 = 开始端口; _线程数 <= 结束端口; _线程数++)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(正常扫描), _线程数);
            }
        }
 
        public void 正常扫描(object state)
        {
            Int32 port = (Int32)state;
            string tMsg = "";
            string 获取数据 = "";
            connState++;

            try
            {
                TcpClient tcp = new TcpClient();
                tcp.Connect(ip地址, port);
                portSum++;
                tMsg = port.ToString() + "端口开放";
                listBox1.Items.Add(tMsg);

                Stream sm = tcp.GetStream();
                sm.Write(Encoding.Default.GetBytes(tMsg.ToCharArray()), 0, tMsg.Length);
                StreamReader sr = new StreamReader(tcp.GetStream(), Encoding.Default);
                try
                {
                    获取数据 = sr.ReadLine();
                    //这行失败,无法读取协议消息.将自动跳转到catch语句
                    if (获取数据.Length != 0)
                    {
                        tMsg = port.ToString() + "端口数据:" + 获取数据.ToString();
                        listBox1.Items.Add("接受到数据:" + tMsg);
                    }
                }
                catch (Exception a) { }
                finally
                {
                    sr.Close();
                    sm.Close();
                    tcp.Close();
                    Thread.Sleep(0);//制定标识应挂起改线程以使其他等待线程能够执行
                }
            }
            catch (Exception a) { }
            finally
            {
                Thread.Sleep(0);
                //asyncOpsAreDone.Close();
            }
        }
    }
}

相关文章

  • Nmap

    扫描活跃主机 Nmap 命令: 目标主机是否存活 路由 扫描TCP端口 快速扫描常用端口 指定扫描端口 扫描UDP...

  • 第二章-主机扫描

  • 风炫安全WEB安全学习第四十七节课 信息收集之主机漏洞扫描器

    信息收集之主机漏洞扫描 主机漏洞扫描工具,直白来解释就是:检测扫描目标主机中可能存在的漏洞,如果发现潜在漏洞,就报...

  • 一些工具的使用命令

    nmap 只扫描主机存活 nmap -sn 192.168.1.1/24 -sn 不扫描端口,只ping主机 r...

  • 常用nmap方法

    基本命令 扫描单一的一个主机:# nmap 192.168.1.1 扫描多个主机:# nmap 192.168.1...

  • 云主机安全加固策略

    用漏洞扫描工具扫描了我的阿里云主机,以下是体检报告结果。这是对119.23.74.132阿里云主机系统扫描后的结果...

  • Linux 安全工具

    Linux 安全工具 主机|端口扫描 nmap https://nmap.org/ 主要功能: 主机发现 端口扫描...

  • 4. 漏洞扫描

    1、写出NMAP主机、端口、版本、os发现、漏洞发现参数 (1) 扫描主机命令:nmap -sn ip范围 扫描结...

  • Win10系统下安装Nessus教程(IP无限制)

    Nessus是一款非常不错的漏洞扫描软件,主要用于扫描主机安全情况,方便大家做安全测试,由于要做主机扫描,所以就用...

  • Fping - Linux的高性能Ping工具

    fping是一个主机扫描工具,相比于ping工具可以批量扫描主机。 常用参数 例子 参考:https://www....

网友评论

      本文标题:第二章-主机扫描

      本文链接:https://www.haomeiwen.com/subject/nuuymctx.html