【问题标题】:listen to specific port c#监听特定端口 c#
【发布时间】:2012-02-22 21:41:28
【问题描述】:

我想在c#中监听特定端口,但我不想在net中编写聊天程序。 我只想监听一个端口并接收来自该端口的所有字节。 我之前问过这个问题,但我没有得到有用的答案。我再说一遍,我不想拥有客户端和服务器程序,我只想拥有一个在我的计算机上运行并显示从特定端口接收到哪些字节的程序,或者一个显示 IP 是什么的程序连接到每个端口,例如 CMD 中的“netstat”命令。(我不想在我的 C# 程序中使用 CMD 命令) 请帮帮我。

【问题讨论】:

  • 继续阅读在 C# 中使用套接字。您所要做的就是在指定端口上创建一个侦听套接字,并在数据进入时对数据做任何您想做的事情。您尝试过什么吗?你写过代码吗? StackOverflow 帮助那些自助的人 ;)
  • 至于您问题的最后一部分 - 在此处查看有关使用 netstat 背后的 API 的问题:stackoverflow.com/questions/9110211/…
  • “我之前问过这个问题,但我没有得到有用的答案”...发布您要求参考的上一个问题的网址可能会有所帮助
  • Kitsune:我写程序,尝试了很多,但我现在做不到.....
  • @Mostafa 在寻求有关程序(或其他任何东西,真的)的帮助时,最好告诉我们您尝试了什么,它是如何工作的,以及您遇到的具体问题。

标签: c# .net port listen


【解决方案1】:

我认为这应该让你开始。这将向您显示与netstat 类似的信息:

using System;
using System.Net;
using System.Net.NetworkInformation;

static void Main()
{

    IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
    TcpConnectionInformation[] tcpConnections = ipGlobalProperties.GetActiveTcpConnections();

    foreach (TcpConnectionInformation tcpConnection in tcpConnections)
    {
        Console.WriteLine("Local Address {0}:{1}\nForeign Address {2}:{3}\nState {4}",
                        tcpConnection.LocalEndPoint.Address,
                        tcpConnection.LocalEndPoint.Port,
                        tcpConnection.RemoteEndPoint.Address,
                        tcpConnection.RemoteEndPoint.Port,
                        tcpConnection.State);
    }
}

要侦听端口,Microsoft here 提供的示例代码应该可以帮助您。

【讨论】:

  • @Mostafa 您需要更多详细信息才能接受此答案吗?
【解决方案2】:

你需要一个嗅探器。签出Wireshark

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 2018-03-18
    • 2013-09-10
    • 2011-09-14
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    相关资源
    最近更新 更多