コード例 #1
0
        public void Start()
        {
            #region 启动系统性能计数器统计
            try
            {
                NetFlow.Start();
                NetFlow.DataMonitorEvent += DataMonitorEvent;
                _IsNetFlowRun             = true;
            }
            catch { }
            #endregion

            #region 启动Socket包统计
            if (PermissionTool.IsAdmin())
            {
                List <IPAddress> hosts = NetCardInfoTool.GetIPv4Address();
                AllIPv4Address = NetCardInfoTool.GetAllIPv4Address();
                foreach (var host in hosts)
                {
                    try
                    {
                        NetPacketTool p = new NetPacketTool(host);
                        p.NewPacket += new NewPacketEventHandler(NewPacketEvent);
                        p.Start();
                        NetPacketList.Add(p);
                    }
                    catch { }
                }
                if (ListTool.HasElements(NetPacketList))
                {
                    _IsNetPacketRun = true;
                }
            }
            #endregion
        }
コード例 #2
0
        private bool Init()
        {
            _Instances = NetCardInfoTool.GetInstanceNames();
            if (ListTool.HasElements(_Instances))
            {
                UploadCounter   = new List <PerformanceCounter>();
                DownloadCounter = new List <PerformanceCounter>();
                for (int i = 0; i < _Instances.Count(); i++)
                {
                    try
                    {
                        // 添加 上行流量计数器
                        UploadCounter.Add(new PerformanceCounter("Network Interface", "Bytes Sent/sec", _Instances[i]));
                    }
                    catch { }
                    try
                    {
                        // 添加 下行流量计数器
                        DownloadCounter.Add(new PerformanceCounter("Network Interface", "Bytes Received/sec", _Instances[i]));
                    }
                    catch { }
                }
            }

            if (ListTool.HasElements(UploadCounter) && ListTool.HasElements(DownloadCounter))
            {
                return(true);
            }
            return(false);
        }
コード例 #3
0
        private void BtnLoad_Click(object sender, EventArgs e)
        {
            List <string> list111 = NetcardControlTool.GetList();

            MacList = NetCardInfoTool.GetNetworkCardInfo();
            if (Ls.Ok(MacList))
            {
                LbxNetworkList.Items.Clear();
                foreach (var item in MacList)
                {
                    LbxNetworkList.Items.Add(item.Item2);
                }
            }
        }
コード例 #4
0
ファイル: TestForm.cs プロジェクト: xinyutian86/Fork
        private void TestForm_Load(object sender, EventArgs e)
        {
            nft.Start();
            nft.DataMonitorEvent += DataMonitorEvent;

            List <IPAddress> hosts = NetCardInfoTool.GetIPv4Address();

            foreach (var host in hosts)
            {
                NetPacketTool p = new NetPacketTool(host);
                p.NewPacket += new NewPacketEventHandler(OnNewPacket);
                p.Start();
                npt.Add(p);
            }
        }
コード例 #5
0
        private void CheckRestart()
        {
            bool rest = false;

            string[] ints = NetCardInfoTool.GetInstanceNames();
            if (ListTool.IsNullOrEmpty(NetFlow.Instances) && ListTool.HasElements(ints))
            {
                rest = true;
            }
            if (ListTool.HasElements(NetFlow.Instances) && ListTool.HasElements(ints) &&
                string.Join("-", NetFlow.Instances) != string.Join("-", ints))
            {
                rest = true;
            }

            if (rest)
            {
                //重启 系统性能计数器
                NetFlow.Restart();
                //重启 抓包监听
                List <IPAddress> hosts = NetCardInfoTool.GetIPv4Address();
                AllIPv4Address = NetCardInfoTool.GetAllIPv4Address();
                foreach (var host in hosts)
                {
                    try
                    {
                        if (!NetPacketList.Any(x => x.IP.ToString() == host.ToString()))
                        {
                            NetPacketTool p = new NetPacketTool(host);
                            p.NewPacket += new NewPacketEventHandler(NewPacketEvent);
                            p.Start();
                            NetPacketList.Add(p);
                        }
                    }
                    catch { }
                }
            }
        }
コード例 #6
0
ファイル: NetWorkService.cs プロジェクト: xinyutian86/Fork
        public static void StartNetCapture()
        {
            int span = 0;

            if (!NetCaptureRun)
            {
                NetCaptureRun = true;
                Task.Factory.StartNew(() =>
                {
                    //获取实时数据包
                    #region 设置IP
                    var networkInfo = NetCardInfoTool.GetNetworkCardInfo();
                    if (!ListTool.IsNullOrEmpty(networkInfo))
                    {
                        IP = networkInfo[0].Item3;
                    }
                    #endregion
                    GetNetBag();
                    GetNetProcess();//获取联网进程

                    while (NetCaptureLoop)
                    {
                        //if (span >= 1)
                        //{
                        //    GetNetProcess();//获取联网进程
                        //    span = 0;
                        //}
                        Thread.Sleep(1000);
                        CalcBagFlow();//计算进程流量
                        span++;
                    }
                    NS.IsStart    = false;
                    NetCaptureRun = false;
                });
            }
        }
コード例 #7
0
 /// <summary>
 /// 网卡信息
 /// 【名称、描述、物理地址(Mac)、Ip地址、网关地址】
 /// </summary>
 /// <returns></returns>
 public static List <Tuple <string, string, string, string, string> > NetworkCardInfo()
 {
     return(NetCardInfoTool.GetNetworkCardInfo());
 }
コード例 #8
0
        private void BtnTest_Click(object sender, EventArgs e)
        {
            Task.Factory.StartNew(() =>
            {
                try
                {
                    string manage = "SELECT * From Win32_NetworkAdapter";
                    ManagementObjectSearcher searcher     = new ManagementObjectSearcher(manage);
                    ManagementObjectCollection collection = searcher.Get();
                    foreach (ManagementObject obj in collection)
                    {
                        foreach (var item in obj.Properties)
                        {
                            log.i("   :::   " + item.Name + "   :::   " + item.Value);
                        }
                        log.i("==============================");
                        log.i("==============================");
                    }
                }
                catch { }
                //====================================
                log.v("STEP 1:获取网卡列表");
                var list = NetCardInfoTool.GetNetworkCardInfoId();
                if (Ls.ok(list))
                {
                    foreach (var item in list)
                    {
                        log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {item.Item4} | {item.Item5}");
                    }
                }
                //====================================
                log.v("STEP 2:检查网卡状态");
                if (Ls.ok(list))
                {
                    foreach (var item in list)
                    {
                        var status = NetCardInfoTool.GetOpStatus(item.Item3);
                        log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
                    }
                }
                //====================================
                log.v("STEP 3:Ping 10.49.129.7");
                bool pingflag1 = PingTool.Ping("10.49.129.7");
                if (pingflag1)
                {
                    log.v("Ping 正常");
                }
                else
                {
                    log.v("Ping 异常");
                }
                //====================================
                log.v("STEP 4:禁用网卡");
                NetConLibTool.Disconnect();
                //if (Ls.ok(list))
                //{
                //    foreach (var item in list)
                //    {
                //        ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(item.Item1);
                //        if (network != null)
                //        {
                //            bool disflag = NetcardControlTool.Disable(network);
                //            log.v($"{item.Item1} | {item.Item2} | {item.Item3} | 禁用: {(disflag ? "成功" : "失败")}");
                //        }
                //    }
                //}
                //====================================
                log.v("STEP 5:检查网卡状态");
                if (Ls.ok(list))
                {
                    foreach (var item in list)
                    {
                        var status = NetCardInfoTool.GetOpStatus(item.Item3);
                        log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
                    }
                }
                //====================================
                log.v("STEP 6:Ping 10.49.129.7");
                bool pingflag2 = PingTool.Ping("10.49.129.7");
                if (pingflag2)
                {
                    log.v("Ping 正常");
                }
                else
                {
                    log.v("Ping 异常");
                }
                //====================================
                log.v("STEP 7:遍历启用网卡");
                NetConLibTool.Connect();
                //if (Ls.ok(list))
                //{
                //    foreach (var item in list)
                //    {
                //        ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(item.Item1);
                //        if (network != null)
                //        {
                //            bool disflag = NetcardControlTool.Enable(network);
                //            log.v($"{item.Item1} | {item.Item2} | {item.Item3} | 启用: {(disflag ? "成功" : "失败")}");
                //        }
                //    }
                //}
                //====================================
                log.v("STEP 8:等待一下");
                Sleep.S(20);
                //====================================
                log.v("STEP 9:检查网卡状态");
                if (Ls.ok(list))
                {
                    foreach (var item in list)
                    {
                        var status = NetCardInfoTool.GetOpStatus(item.Item3);
                        log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
                    }
                }
                //====================================
                log.v("STEP 10:Ping 10.49.129.7");
                bool pingflag3 = PingTool.Ping("10.49.129.7");
                if (pingflag3)
                {
                    log.v("Ping 正常");
                }
                else
                {
                    log.v("Ping 异常");
                }
                //====================================

                SetResult("测试结束,已生成测试报告");
            });
        }