使用codeproject中的一些代码,我将LAN扫描程序转换为ASP.NET Web应用程序。该应用程序尝试ping给定用户输入范围内的所有ips。该应用程序在本地工作正常但是,我想在线制作应用程序。使用免费的AZURE订阅,我将网站放在网上。但是,它不扫描用户的LAN。这可能是因为它正在尝试扫描部署我的应用程序的服务器计算机的LAN。我想知道如果使用ASP.NET,可以扫描客户端的LAN而不是SERVER的LAN。如果您需要网页代码,请发表评论。该网站应该在http://nkdscan.azurewebsites.net/index上线。如果需要任何其他信息,请发表评论。
答案 0 :(得分:0)
不,使用基于服务器的扫描程序是不可能的,因为该服务器无法访问本地网络使用的专用IP地址。您只能从网络内部执行此操作,这意味着某种客户端代码。
问题是您的本地网络地址(192.168。。,10。。。*等)无法从路由器的另一端访问。当您连接到远程服务器时,路由器会执行一些地址转换,使其看起来像是在发送请求。如果同一局域网中有很多计算机连接到同一台服务器,那么它看起来就像是来自同一地点的大量连接。
如果您想构建互联网服务器应用程序,那么您需要了解互联网如何工作的基础知识,这是重要的一个。你不必知道数据包级别的事情是如何发生的(虽然这也很有趣),但对网络地址转换等事情的一些理解是必不可少的。