Esempio n. 1
0
        private void bynKillProcess_Click(object sender, EventArgs e)
        {
            _data.Protocol   = processProtocol.Text;
            _data.IpSource   = ipSource.Text;
            _data.PortSource = portSource.Text;
            _data.IpDestin   = ipDestin.Text;
            _data.PortDestin = portDestin.Text;
            _data.Status     = processStatus.Text;
            uint pid = 0;

            if (uint.TryParse(processId.Text, out pid))
            {
                _data.ProcessId = pid;
            }
            var temp = _datas.Where(x => ((_data.ProcessId > 0 && x.ProcessId == _data.ProcessId) || _data.ProcessId <= 0) &&
                                    ((!string.IsNullOrEmpty(_data.Protocol) && x.Protocol == _data.Protocol) || string.IsNullOrEmpty(_data.Protocol)) &&
                                    ((!string.IsNullOrEmpty(_data.IpSource) && x.IpSource == _data.IpSource) || string.IsNullOrEmpty(_data.IpSource)) &&
                                    ((!string.IsNullOrEmpty(_data.PortSource) && x.PortSource == _data.PortSource) || string.IsNullOrEmpty(_data.PortSource)) &&
                                    ((!string.IsNullOrEmpty(_data.IpDestin) && x.IpDestin == _data.IpDestin) || string.IsNullOrEmpty(_data.IpDestin)) &&
                                    ((!string.IsNullOrEmpty(_data.PortDestin) && x.PortDestin == _data.PortDestin) || string.IsNullOrEmpty(_data.PortDestin)) &&
                                    ((!string.IsNullOrEmpty(_data.Status) && x.Status == _data.Status) || string.IsNullOrEmpty(_data.Status))).FirstOrDefault();
            List <string> cmd = new List <string>();

            cmd.Add(string.Format("taskkill /PID {0} /F", temp.ProcessId));
            CommandLineController.RunCommandLine(cmd);
            GetDataFromCommand();
        }
Esempio n. 2
0
 void Awake()
 {
     instance = this;
 }
Esempio n. 3
0
        public void GetDataFromCommand()
        {
            List <string> cmd = new List <string>();

            cmd.Add("netstat -ano");
            var  data  = CommandLineController.ReadCommandLine(cmd);
            uint index = 0;

            _datas.Clear();
            result.Text = "Total process: " + (data.Count - 10);
            foreach (var item in data)
            {
                if (index > 9 && item != "" && (item.Contains("TCP") || item.Contains("UDP")))
                {
                    var    pmm   = new ProcessInfo();
                    int    len   = item.Length;
                    string line  = item.Trim();
                    int    start = line.IndexOf(' ');
                    pmm.Protocol = line.Substring(0, start);
                    //---------------------------------------------------------------------------
                    line  = line.Substring(start + 1);
                    line  = line.TrimStart();
                    start = line.IndexOf(' ');
                    string subString = line.Substring(0, start);
                    int    startPort = subString.LastIndexOf(':');
                    pmm.IpSource   = subString.Substring(0, startPort);
                    pmm.PortSource = subString.Substring(startPort + 1);
                    //---------------------------------------------------------------------------
                    line           = line.Substring(start + 1);
                    line           = line.TrimStart();
                    start          = line.IndexOf(' ');
                    subString      = line.Substring(0, start);
                    startPort      = subString.LastIndexOf(':');
                    pmm.IpDestin   = subString.Substring(0, startPort);
                    pmm.PortDestin = subString.Substring(startPort + 1);
                    //---------------------------------------------------------------------------
                    line  = line.Substring(start + 1);
                    line  = line.TrimStart();
                    start = line.IndexOf(' ') == -1 ? line.Length : line.IndexOf(' ');
                    uint pid = 0;
                    if (uint.TryParse(line.Substring(0, start), out pid))
                    {
                        pmm.Status    = "EMPTY";
                        pmm.ProcessId = pid;
                    }
                    else
                    {
                        pmm.Status    = line.Substring(0, start);
                        line          = line.Substring(start + 1);
                        pmm.ProcessId = uint.Parse(line);
                    }
                    _datas.Add(pmm);
                }
                index++;
            }
            result.Text += "\r\nTotal ip source: " + _datas.Select(x => x.IpSource).Distinct().Count();
            result.Text += "\r\nTotal ip destin: " + _datas.Select(x => x.IpDestin).Distinct().Count();
            result.Text += "\r\nTotal port open: " + _datas.Select(x => x.PortSource).Distinct().Count();
            processDataSource.DataSource          = null;
            processDataSource.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            processDataSource.DataSource          = _datas;
            this.Refresh();
        }