ฉันกำลังพร็อกซีพอร์ตเซิร์ฟเวอร์ VNC TCP กับ netcat เครื่องพร็อกซีรัน linux
นี่คือคำสั่งที่ฉันใช้:
mkfifo backpipe
nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe
10.1.1.116 เป็นเครื่อง "ระยะไกล" ที่มีบริการ VNC ดั้งเดิมที่ทำงานบนพอร์ต 5902 หลังจากคำสั่งนี้บริการ VNC จะพร้อมใช้งานบน localhost สำหรับเครื่องอื่น ๆ
แต่หลังจากแต่ละ VNC เซสชั่น netcat "พร็อกซีเซิร์ฟเวอร์" จะหยุดซึ่งเป็นวิธี netcat ทำงาน
ฉันจะทำให้ netcat ทำให้ "บริการพร็อกซี" ทำงานต่อหลังจากเซสชัน VNC ถูกยกเลิกได้อย่างไร
ในฐานะที่เป็นวิธีแก้ปัญหาฉันวางบรรทัดคำสั่ง netcat ลงในลูปไม่สิ้นสุด:
mkfifo backpipe
while true; do nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe; done
แต่ฉันต้องการโซลูชัน netcat "oficial" ที่ไม่รบกวนบริการเลย
ฉันได้อ่านเกี่ยวกับพารามิเตอร์ "-" แต่ฉันไม่แน่ใจว่าสิ่งนี้เหมาะสมกับตัวพิมพ์หรือไม่และยังไม่สามารถใช้ได้อย่างถูกต้อง
ข้อสังเกตเพิ่มเติม:
แน่นอนว่าฉันสามารถทำสิ่งนี้ได้ด้วย ssh tunneling ในรูปแบบต่าง ๆ แต่ฉันต้องการโซลูชันที่ไม่มีค่าใช้จ่ายในการเข้ารหัสเพื่อให้ตอบสนองได้ดีที่สุดสำหรับไคลเอนต์ VNC โซลูชันพรอกซีที่แตกต่างกันจะใช้ได้เช่นกัน
ไคลเอ็นต์ต้องเป็น VNC ไม่สามารถใช้โปรโตคอลอื่นได้