예제 #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Text = "";
            ProcessCmdUtils pcm      = null;
            Process         ps       = null;
            RegexUtils      rgu      = new RegexUtils();
            string          nmapPath = Environment.CurrentDirectory + "\\tools\\nmap\\nmap.exe"; //测试

            if (!File.Exists(nmapPath))
            {
                MessageBox.Show(ConstModel.TOOLS_ERROR_NMAP);
                return;
            }

            string ip = textBox1.Text;

            int port = 0;

            string cmd = "";

            try
            {
                port = Convert.ToInt32(textBox2.Text);
                if (rgu.IPCheck(ip) || port >= ConstModel.MINIMUM_PORT_NUMBER && port <= ConstModel.MAXIMUM_PORT_NUMBER)
                {
                    cmd = nmapPath + " -sT -p " + port + " " + ip;
                }
                else
                {
                    MessageBox.Show(ConstModel.VOID_PARAMS);
                    return;
                }

                pcm = new ProcessCmdUtils();
                ps  = pcm.DoTask(cmd, OutputNmapHandler);
            }
            catch (Exception ex)
            {
                if (ex.GetType().ToString() == ConstModel.DATA_FORMAT_ERROR)
                {
                    MessageBox.Show(ConstModel.VOID_PORT_NUM);
                    return;
                }
            }
            finally
            {
                if (ps != null)
                {
                    ps.Close();
                }
            }
        }
예제 #2
0
        static int psTaskID = -1; //检测是否有上次执行的task,如果值为-1,则执行,否则kill掉上次执行未完成任务
        private void button1_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = "";
            listBox1.Items.Clear();
            ProcessCmdUtils pcm = null;
            Process         ps  = null;

            string cmd = "";

            if (psTaskID != -1)
            {
                ProcessCmdUtils procKill   = new ProcessCmdUtils();
                bool            killStatus = procKill.KillProcExec(psTaskID);
                //Console.WriteLine("try external "+psTaskID);
                if (killStatus)
                {
                    psTaskID = -1;
                }
            }

            try
            {
                string address = textBox1.Text;

                cmd = "TRACERT.exe " + address;

                pcm = new ProcessCmdUtils();
                ps  = pcm.DoTask(cmd, OutputHandler);

                psTaskID = ps.Id;//将运行的process name 赋值给 paTaskName
            }
            catch
            {
                throw;
            }
            finally
            {
                ps.Close();
            }
        }