使用c#在互联网上共享屏幕 [英] Screen sharing over internet using c#
问题描述
任何人都有任何信息如何通过互联网分享我的屏幕。我在远程桌面应用程序中工作。
我不想使用任何路由器端口转发,因为这对我的应用程序不起作用。
我用这段代码,如果我在NAT / LAN内,它的工作效果很好。但是如何让它在互联网上运行?
从一些研究中,我发现我可能需要在中间安装一台服务器。
客户PC(会话代码a1)< ---->服务器(a1)< ---->工程师PC(会议a1)
但我该如何使用.net?
Anyone has any info how can I share my screen over internet. I am working in a remote desktop application.
I dont want to use any router port forwarding as that will not work for my application.
I use this code and its working nice if I am inside NAT / LAN. But how do I make it working over internet ?
From some research, I found that I possibly will have to have a server in the middle.
Customer PC (session code a1) <---->Server (a1) <----> Engineer PC (Session a1)
But how do I do that using .net ?
推荐答案
> ;>
但是如何让它在互联网上运行?
But how do I make it working over internet ?
"
但是如何使用.net?
But how do I do that using .net ?
它不是真正的.Net问题 - 它是网络通信/安全问题 - 您需要设置正确的外部/公共TCP / IP地址,NAT,路由,安全等
这不是不可能的 - 也就是说,如果您的组织允许从外部计算机直接连接到内部网络空间。
您没有说明/如果您和外部世界之间有防火墙,所需的步骤将根据是否是单个防火墙,内部/外部的双防火墙以及它们之间的DMZ等而不同。
从安全的角度来看,最安全的方法就像你在上面指出的那样 - 你有一个外部代理,你就可以了与该代理的出站连接,该代理上的某些东西挂钩了rdp连接的另一面 - 显然,假设你在这里也使用了安全的tcp / ip协议 - 这就是事情的本质TeamViewer工作
假设你有一个简单的单一防火墙类型设置,或者你的所有ADSL路由器完成,你需要: -
<远程RSP会话可以连接到您的固定/静态外部/公共TCP / IP地址(或者,您可以使用动态地址,但每次更改时都会使用PITA进行重新配置,而不是非常实用)
b)你'NAT'和/或将外部tcp / ip地址路由到你的本地/内部PC地址
c)您允许从(外部tcp / ip地址)到PC的NAT或本地地址的入站通信,只允许端口3389上的TCP / IP(只允许一个外部tcp / ip地址)阻止你被黑的方法很少)
他们是非常粗糙的步骤,你真的需要一个网络安全专业人员来分析你的设置,并建议最安全和最好的你
its not really a .Net issue - its a Network Communications/Security Issue - you need the correct External/Public TCP/IP Address, NAT, Route, Security etc to be set up
its not impossible - that is, if your organisation allows direct connections into the 'internal' network space from an external computer.
You don't say what/if you have a firewall between you and the outside world, and the steps required are going to be different depending on if that's a single firewall, dual firewalls inner/outer and a DMZ inbetween them etc
The 'Safest' way to do this, from a security point of view, is as you point out above - you have an external proxy, and you make an outbound connection to that proxy, something on that proxy hooks up the 'other side' of the rdp connection - obviously, one assumes you'd be using secure tcp/ip protocols here as well - this is the essence of how things like TeamViewer work
Assuming you have a simple single firewall type setup, or its all done on your ADSL router, you need :-
a) A Fixed/Static External/Public TCP/IP Address the remote RSP Session can connect to you on (or, you can use a dynamic address, but its a PITA to reconfigure every time that changes, not very practical)
b) You 'NAT' and or route the external tcp/ip address to your local/internal PC address
c) You allow inbound communications from (the external tcp/ip address) to the NAT or Local address of your PC, only TCP/IP on port 3389 (only allowing a single external tcp/ip address in goes a little way to stop you being hacked)
They are very rough steps, you really need a network security professional to analyse your setup and advise whats safest and best for you
这篇关于使用c#在互联网上共享屏幕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!