欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#獲取Windows進程監(jiān)聽的TCP/UDP端口實例

 更新時間:2013年11月20日 14:47:16   作者:  
本文介紹了C#獲取Windows下某進程監(jiān)聽的TCP/UDP端口的方法,希望對您有所幫助。

1、在Windows下用CMD netstat命令可以獲得當前進程監(jiān)聽端口號的信息,如netstat -ano可以看到IP、port、狀態(tài)和監(jiān)聽的PID。
那么可以執(zhí)行CMD這個進程得到監(jiān)聽的端口號信息,C#代碼如下:

復制代碼 代碼如下:

//進程id

            int pid = ProcInfo.ProcessID;

           

            //存放進程使用的端口號鏈表

            List<int> ports = new List<int>();

 

            Process pro = new Process();

            pro.StartInfo.FileName = "cmd.exe";

            pro.StartInfo.UseShellExecute = false;

            pro.StartInfo.RedirectStandardInput = true;

            pro.StartInfo.RedirectStandardOutput = true;

            pro.StartInfo.RedirectStandardError = true;

            pro.StartInfo.CreateNoWindow = true;

            pro.Start();

            pro.StandardInput.WriteLine("netstat -ano");

            pro.StandardInput.WriteLine("exit");

            Regex reg = new Regex("\\s+", RegexOptions.Compiled);

            string line = null;

            ports.Clear();

            while ((line = pro.StandardOutput.ReadLine()) != null)

            {

                line = line.Trim();

                if (line.StartsWith("TCP", StringComparison.OrdinalIgnoreCase))

                {

                    line = reg.Replace(line, ",");

                    string[] arr = line.Split(',');

                    if (arr[4] == pid.ToString())

                    {

                        string soc = arr[1];

                        int pos = soc.LastIndexOf(':');

                        int pot = int.Parse(soc.Substring(pos + 1));

                        ports.Add(pot);

                    }

                }

                else if (line.StartsWith("UDP", StringComparison.OrdinalIgnoreCase))

                {

                    line = reg.Replace(line, ",");

                    string[] arr = line.Split(',');

                    if (arr[3] == pid.ToString())

                    {

                        string soc = arr[1];

                        int pos = soc.LastIndexOf(':');

                        int pot = int.Parse(soc.Substring(pos + 1));

                        ports.Add(pot);

                    }

                }

            }

            pro.Close();

相關文章

  • C#版免費離線人臉識別之虹軟ArcSoft?V3.0(推薦)

    C#版免費離線人臉識別之虹軟ArcSoft?V3.0(推薦)

    本文只是簡單介紹了如何使用虹軟的離線SDK,進行人臉識別的方法,并且是圖片的方式,本地離線識別最大的好處就是沒有延遲,識別結果立馬呈現(xiàn),對C#離線人臉識別虹軟相關知識感興趣的朋友一起看看吧
    2021-12-12
  • Unity通過代碼修改按鈕點擊效果

    Unity通過代碼修改按鈕點擊效果

    這篇文章主要為大家詳細介紹了Unity通過代碼修改按鈕點擊效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • C#學習筆記之適配器模式詳解

    C#學習筆記之適配器模式詳解

    這篇文章主要為大家詳細介紹了C#學習筆記之適配器模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • C#數值轉換-顯式數值轉換表(參考)

    C#數值轉換-顯式數值轉換表(參考)

    就是在將一種類型轉換成另外一種類型時,需要額外的代碼來完成這種轉換。
    2013-04-04
  • DataGridView清除顯示的數據、設定右鍵菜單

    DataGridView清除顯示的數據、設定右鍵菜單

    這篇文章介紹了DataGridView清除顯示的數據、設定右鍵菜單的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • C# 操作符之三元操作符淺析

    C# 操作符之三元操作符淺析

    C# 操作符之三元操作符“?:”是如何使用的呢?C# 操作符之三元操作符“?:”需要注意的是什么呢?那么本文就向你簡單介紹C# 操作符之三元操作符“?:”的基本情況。
    2011-02-02
  • ref 和out傳參的區(qū)別分析

    ref 和out傳參的區(qū)別分析

    今天又遇到這個問題了,問了問同事,他說最近面試的時候,也問道他了,于是給我講了講,現(xiàn)在大概是記住了,分享一下。
    2013-04-04
  • C#數組應用分析

    C#數組應用分析

    C#數組應用分析...
    2007-08-08
  • WPF實現(xiàn)圓形進度條的示例代碼

    WPF實現(xiàn)圓形進度條的示例代碼

    這篇文章主要為大家詳細介紹了WPF如何實現(xiàn)圓形的進度條,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-01-01
  • C#遞歸實現(xiàn)顯示文件夾及所有文件并計算其大小的方法

    C#遞歸實現(xiàn)顯示文件夾及所有文件并計算其大小的方法

    這篇文章主要介紹了C#遞歸實現(xiàn)顯示文件夾及所有文件并計算其大小的方法,是遍歷算法中比較典型的一種應用,有不錯的學習借鑒價值,需要的朋友可以參考下
    2014-08-08

最新評論