C#获取Windows进程监听的TCP/UDP端口实例

 更新时间:2020年6月25日 11:39  点击:1964

1、在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP、port、状态和监听的PID。
那么可以执行CMD这个进程得到监听的端口号信息,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();

[!--infotagslink--]

相关文章

  • Springboot+TCP监听服务器搭建过程图解

    这篇文章主要介绍了Springboot+TCP监听服务器搭建过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-28
  • C# Socket的TCP通讯的实例代码

    本篇文章主要介绍了C# Socket的TCP通讯,socket通讯方式有两种:同步和异步,详细的介绍了这两种方法,有兴趣的可以了解一下。...2020-06-25
  • C#基于TCP协议的服务器端和客户端通信编程的基础教程

    这篇文章主要介绍了C#基于TCP协议的服务器端和客户端通信编程的基础教程,文中讲解了C#中TCP编程主要相关的TcpListener类与TcpClient类用法,需要的朋友可以参考下...2020-06-25
  • 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例

    这篇文章主要介绍了使用C#实现基于TCP和UDP协议的网络通信程序的示例,文中分别编写了基本的服务器端和客户端,代码十分简单,需要的朋友可以参考下...2020-06-25
  • win2003连接限制TCP连接限制

    windows 2003 连接限制TCP连接限制。目前我们有一台windows 2003 SP2的操作系统,提供web服务,还有一个自主开发的提供音频直播的服务...2016-01-27
  • 如何实现socket网络编程的多线程

    首先,学好计算机网络知识真的很重要。虽然,学不好不会影响理解下面这个关于宏观讲解,但是,学好了可以自己打渔吃,学不好就只能知道眼前有鱼吃却打不到渔。在Java中网络程序有2种协议:TCP和UDP,下面可以和小编一起学习下...2020-04-25
  • C++ boost::asio编程-异步TCP详解及实例代码

    这篇文章主要介绍了C++ boost::asio编程-异步TCP详解及实例代码的相关资料,需要的朋友可以参考下...2020-04-25
  • 浅谈socket TCP编程中connect的一些坑

    下面小编就为大家带来一篇浅谈socket TCP编程中connect的一些坑。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • ipv6实现tcp编程示例

    这篇文章主要介绍了ipv6实现tcp编程示例,需要的朋友可以参考下...2020-04-25
  • 详解PHP Swoole与TCP三次握手

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于IP的传输层协议。TCP在IP报文的协议号是6。TCP是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。本文将详细介绍PHP Swoole与TCP三次握手。...2021-05-27
  • Java网络编程TCP实现文件上传功能

    这篇文章主要为大家详细介绍了Java网络编程TCP实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-04
  • GO语言实现简单TCP服务的方法

    这篇文章主要介绍了GO语言实现简单TCP服务的方法,实例分析了Go语言实现TCP服务的技巧,需要的朋友可以参考下...2020-05-05
  • C#获取Windows进程监听的TCP/UDP端口实例

    本文介绍了C#获取Windows下某进程监听的TCP/UDP端口的方法,希望对您有所帮助。...2020-06-25
  • QT网络编程Tcp下C/S架构的即时通信实例

    下面小编就为大家带来一篇QT网络编程Tcp下C/S架构的即时通信实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • C# 使用Tcp/Udp协议的示例代码

    这篇文章主要介绍了C# 使用Tcp/Udp协议的示例,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#中TCP粘包问题的解决方法

    这篇文章主要为大家详细介绍了C#中TCP粘包问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 在Nginx服务器中配置针对TCP的负载均衡的方法

    这篇文章主要介绍了在Nginx服务器中配置针对TCP的负载均衡的方法,另外还介绍了TCP负载均衡的执行原理,需要的朋友可以参考下...2016-01-27
  • Java网络编程TCP实现聊天功能

    这篇文章主要为大家详细介绍了Java网络编程TCP实现聊天功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,需要的朋友可以参考下的相关资料...2021-07-04
  • nginx搭建tcp代理服务器

    Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,大部分门户网站都把它作为首选WEB前端。下面讲讲如何利用Nginx搭建tcp代理服务器...2016-01-27
  • C++ boost::asio编程-同步TCP详解及实例代码

    这篇文章主要介绍了C++ boost::asio编程-同步TCP详解及实例代码的相关资料,需要的朋友可以参考下...2020-04-25