【问题标题】:TcpListerner does not catch traffic on port 1433TcpListerner 不捕获端口 1433 上的流量
【发布时间】:2017-03-10 05:18:35
【问题描述】:

我正在尝试捕获 SQL Management Studio TCP 网络通信。您可能知道,它(也)发生在端口 1433 上。 这是我的代码:

static void Main(string[] args)
{
     var listener = new TcpListener(IPAddress.Any, 1433);
     listener.Start();
     listener.AcceptTcpClient();

     Console.ReadKey();
}

这里的问题是我永远不会超过listener.AcceptTcpClient() 行。对我来说,似乎 TcpListener 根本没有捕获数据包。 运行它时,我同时打开了 Wireshark。在那里我可以清楚地看到例如:

传输控制协议,Src 端口:2481,Dst 端口:1433,Seq:0, 连:0

表示网络上有流量,但是TcpListener没有抓到。

任何建议我错过了什么 - 做错了吗?

【问题讨论】:

  • 您是否尝试过将其包装在 try-catch 块中并检查可能的异常消息?当您启动侦听器时,它可能会爆炸,这可以为您提供有关该问题的更多信息。
  • SQL 本身是否已经启动并在同一台机器上监听 1433 端口?
  • @RionWilliams:刚刚尝试过,没有任何反应 -> 也不例外。无论如何,我在 Visual Studio 中运行它,所以很确定调试器会向我发出任何发生异常的信号。
  • @JamesThorpe:不,我在本地停止了所有 SQL 服务。我正在尝试连接到 Azure SQL DB(如果这很重要)。
  • 很快你在你的电脑上打开 telnet 客户端并在 CMD pkgmgr /iu:"TelnetClient" 中运行这段代码

标签: c# .net tcplistener


【解决方案1】:

我解决了这个问题,

我在 C# 中编写了这段代码,并且在等待调试状态之后。 我打开后windows features telnet client 然后 c# 代码步到listener.AcceptTcpClient(); 然后代码运行

很快你在你的电脑上打开 telnet 客户端 并在 CMD 中运行此代码

pkgmgr /iu:"TelnetClient"

【讨论】:

  • 这个答案与所提出的问题有什么关系?
  • 我知道你有一个相关的问题,但原来的问题没有提到与 telnet 有任何关系,所以解释如何在 Windows 上安装 telnet 客户端并不能帮助 OP 或任何其他访问这个的人题。 a)这不是问题的答案(我已将其标记为这样)。 b) 如果您想提供此信息,则应作为评论提供。我看到您已经这样做了,但就目前而言,您发表的评论并不清楚您对此有何看法。
  • 请阅读this topic,了解如何在 StackOverflow 上回答问题。特别注意Read the question carefully. What, specifically, is the question asking for? Make sure your answer provides that – or a viable alternative.
猜你喜欢
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2012-08-05
  • 2012-03-22
相关资源
最近更新 更多