Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Azure Ping客户端LAN_C#_Asp.net_Azure_Lan - Fatal编程技术网

C# 从Azure Ping客户端LAN

C# 从Azure Ping客户端LAN,c#,asp.net,azure,lan,C#,Asp.net,Azure,Lan,使用codeproject中的一些代码,我将LAN扫描仪转换为ASP.NET web应用程序。应用程序尝试ping给定用户输入范围内的所有IP。该应用程序在本地运行良好。然而,我想让这个应用程序在线。使用免费的AZURE订阅,我将该网站上线。但是,它不会扫描用户的LAN。这可能是因为它正在尝试扫描部署我的应用程序的服务器计算机的LAN。我想知道是否可以使用ASP.NET扫描客户端的LAN而不是服务器的LAN。如果您需要该网页的代码,请发表评论。该网站应在线。如果需要任何其他信息,请发表意见。否,

使用codeproject中的一些代码,我将LAN扫描仪转换为ASP.NET web应用程序。应用程序尝试ping给定用户输入范围内的所有IP。该应用程序在本地运行良好。然而,我想让这个应用程序在线。使用免费的AZURE订阅,我将该网站上线。但是,它不会扫描用户的LAN。这可能是因为它正在尝试扫描部署我的应用程序的服务器计算机的LAN。我想知道是否可以使用ASP.NET扫描客户端的LAN而不是服务器的LAN。如果您需要该网页的代码,请发表评论。该网站应在线。如果需要任何其他信息,请发表意见。

否,使用基于服务器的扫描仪是不可能的,因为该服务器无法访问本地网络使用的专用IP地址。您只能从网络内部执行此操作,这意味着某种类型的客户端代码

问题是您的本地网络地址(192.168..10..*等)无法从路由器的另一端访问。当您连接到远程服务器时,路由器会进行一些地址转换,使其看起来像是在发送请求。如果在同一个局域网中有许多计算机连接到同一台服务器,那么看起来就像是来自同一个地方的许多连接


如果您想要构建internet服务器应用程序,那么您需要了解internet工作原理的基础知识,这是其中一个重要的基础知识。您不必知道数据包级别的事情是如何发生的(尽管这也很有趣),但必须了解网络地址转换之类的内容。

您不能通过浏览器ping任何内容。您的ASP.Net站点只能ping该站点所在的LAN,而不能ping客户端的LAN。这就是为什么这些工具都是桌面版的,所以我绝对没有办法通过AZURE实现这一点?像这样的一些网站可以做到这一点。好的,为了实现这一点,您的客户机需要所有要ping的机器的公共ip地址以及防火墙的允许规则。如果您使用TCP检查主机,那么您可能可以尝试使用Flash\Silverlight,然后将收集的信息发送到服务器。但是,如果您正在通过ICMP执行真正的ping,那么它们不会有帮助。我不知道其他的解决方案有没有办法在ASP.NET中做到这一点?谢谢你的回复。不过我还有一个问题。像这样的网站是如何做到这一点的?@user312956那个特定的网站使用客户端JavaScript进行扫描,并且受到该平台的限制。具体来说,JS脚本()使用iframe向探测ip列表发出HTTP或FTP请求,并检查结果。所有这些都是在客户端完成的。在ASP.NET中有办法做到这一点吗?@user312956不直接,没有。当然,你可以使用任何你喜欢的客户端JavaScript代码,但这与ASP.NET无关。