【发布时间】: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