หมายเหตุ: นี่คือไม่ทำซ้ำไม่ได้คำถามเกี่ยวกับการขุดเจาะอุโมงค์ VNC มากกว่าอย่างอื่นเช่น SSH นั่นเป็นทั้งหมดที่แตกต่างกันสิ่งที่
ติดตั้ง
ฉันมีเครื่อง M1 ในเครือข่ายบางส่วนซึ่งสามารถเข้าถึงได้จากเครื่อง M2 นอกเซ็กเมนต์ผ่าน VNC แต่ (เพื่อประโยชน์ในการพูดคุย) ไม่มีโปรโตคอลอื่นใดเลย ไม่มีเครื่องอื่นในส่วนนั้นที่สามารถเข้าถึงได้จากภายนอกกลุ่ม นอกจากนี้ M1 และเครื่องอื่น ๆ ในส่วนท้องถิ่นยังมีการเชื่อมต่อขาออกที่ จำกัด โดยเฉพาะ M1 ไม่สามารถเชื่อมต่อโดย SSH ไปยัง nachine ใด ๆ ที่อยู่นอกส่วนของท้องถิ่นของตนเอง (และอาจไม่ได้มี)
ตอนนี้ถ้าฉันเรียกใช้ไคลเอนต์ VNC บน M2 ตรงไปที่ M2 เข้าสู่ระบบและเริ่มเชลล์ฉันสามารถเรียกใช้สิ่งที่ฉันต้องการและเข้าถึงเครื่องบนเซ็กเมนต์ท้องถิ่นของ M1 อย่างไรก็ตามฉันถูก จำกัด โดยการโต้ตอบแบบกราฟิกของไคลเอนต์ VNC
เป้าหมาย
ฉันต้องการให้สามารถเชื่อมต่อช่องสัญญาณจากเครื่อง M2 ของฉันไปยังเครื่องใด ๆ ในส่วนท้องถิ่นของ M1 ไปยังทุกที่ที่ฉันสามารถเชื่อมต่อจาก M1 ได้
คำถาม
ฉันจะทำสิ่งนี้ได้อย่างไร หรือค่อนข้างมีเครื่องมือที่จำเป็นสำหรับการพัฒนานี้และยังมีอยู่อย่างอิสระ?
ไอเดีย
VNC เป็นพิกเซลตาม ฉันไม่คุ้นเคยกับโปรโตคอล แต่ถ้าไม่มีข้อมูล "ช่องสัญญาณด้านข้าง" ที่น่าสนใจดูเหมือนว่าสิ่งที่เราต้องการคือไบนารีหรือสคริปต์บน M ซึ่งจะเปิดหน้าต่างหรือสี่เหลี่ยมผืนผ้าใด ๆ VNC 'จอแสดงผล' ใช้สี่เหลี่ยมสำหรับเอาท์พุทและการเคลื่อนไหวของแป้นพิมพ์ / เมาส์ที่หน้าต่างนี้รับเป็นอินพุต ไพพ์ทั้งสองนี้สามารถใช้สื่อสารพูดด้วยเชลล์เซสชัน (หรือnc
เซสชั่นหากคุณต้องการ) ปุ่มกดกลายเป็นสตรีมอินพุต (อาจ จำกัด ตัวเราที่ฐาน 64) และพิกเซลสอดคล้องกับสตรีมเอาต์พุต (และเราจะมีหน้าต่างเล็ก ๆ ที่เปลี่ยนแปลงอย่างรวดเร็วหรือดีหน้าต่างใหญ่ซึ่งต้องเปลี่ยนอย่างรวดเร็วเช่นกัน .
ในอีกด้านหนึ่งลูกค้าของ VNC จะต้องไม่แสดงขยะบนหน้าจอหรือใช้แป้นพิมพ์หรือเมาส์ แต่ควรใช้พอร์ตเพื่อป้อนข้อมูลนี้เข้าและออก
คุณคิดอย่างไร?
[เครื่องมีเซิร์ฟเวอร์ SSH แต่รองรับการเชื่อมต่อ localhost เท่านั้น