Netcat ile bir VNC TCP sunucu portunu proxy olarak kullanıyorum. Proxy makinesi Linux çalıştırıyor.
Bu kullandığım kommandır:
mkfifo backpipe
nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe
10.1.1.116, orijinal VNC hizmeti bağlantı noktası 5902'de çalışan "uzak" bir makinedir. Bu komuttan sonra VNC hizmeti, diğer makineler için localhost üzerinde kullanılabilir.
Ancak her VNC oturumundan sonra netcat "proxy sunucusu" durur, netcat böyle çalışır.
Bir VNC oturumu sonlandırıldıktan sonra netcat'in "proxy hizmetini" çalışır durumda tutmasını nasıl sağlayabilirim?
Geçici bir çözüm olarak, netcat komut satırını sonsuz bir döngüye koyuyorum:
mkfifo backpipe
while true; do nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe; done
Ancak hizmeti hiç kesintiye uğratmayan "resmi" bir netcat çözümünü tercih ederim.
"-" parametresi hakkında okudum ama bu duruma uygun olup olmadığından emin değilim ve henüz doğru bir şekilde uygulayamadım.
Ek açıklamalar:
Elbette bunu ssh tünellemesiyle farklı şekillerde yapabilirim, ancak VNC istemcisi için mümkün olduğunca duyarlı hale getirmek için şifreleme yükü olmayan bir çözüm istedim. Aksi takdirde farklı bir proxy çözümü sorun olmaz.
İstemci VNC olmalıdır, başka hiçbir protokol mümkün değildir.