
وكيل SOCKS لـ Citrix.
Ica2Tcp هي أداة مطوّرة بلغة C تتيح تمرير أي اتصال TCP عبر اتصال Citrix ICA. وهي بالنسبة إلى Citrix بمثابة ssh -D بالنسبة إلى SSH.
يمكن العثور على معلومات إضافية هنا: https://www.sstic.org/2022/presentation/ica2tcp/
طُوّرت هذه الأداة كمشروع تدريب داخلي ولا تزال قيد التطوير. وقد نُشرت "كما هي"، لذلك لا تزال بعض أجزاء الكود غير مرتبة قليلاً. وبالتالي، قد تواجه بعض الأعطال العرضية. هناك نسخة أنظف قيد الإعداد وسيتم إصدارها قريباً. ومع ذلك، فإن أي ملاحظة تتعلق بهذه النسخة مرحّب بها!
يجب بناء كلٍّ من الملف التنفيذي المستقل لجهة الخادم ومكتبة المشاركة لجهة العميل. يُرجى الرجوع إلى ملف README المقابل لمزيد من التفاصيل:
للتيسير، تم تضمين جميع ملفات رؤوس ومكتبات Citrix المطلوبة (لعميل Linux64 وخادم Win32) في هذا المستودع (في citrix_sdk_files/). وهي جميعها مصدرها Virtual Channel SDK وWFAPI SDK المتاحان للعموم:
تتيح ملفات CMakeLists.txt في هذا المستودع بناء ملفَي الخادم والعميل باستخدام تلك الملفات المضمّنة. إذا أردت استخدام أحدث ملفات SDK أو البناء لبنية هدف أخرى، فلا تتردد في تنزيل حِزم SDK وتثبيتها يدوياً، غير أنه قد يتعين عليك تعديل ملف المقابل.
CMakeLists.txtبمجرد بناء كل شيء، يتعين عليك تثبيت مكتبة العميل المشتركة.
أولاً، انسخ ملف مخرجات البناء DRIVER.DLL إلى <CITRIX_INSTALL_FOLER>/ICAClient/<DRIVER_NAME>.DLL
بعد ذلك، عدّل ملف الإعداد <CITRIX_INSTALL_FOLER>/ICAClient/config/module.ini كما يلي:
<VIRTUAL_DRIVER_NAME> في قائمة VirtualDriver في قسم [ICA 3.0] (استبدل <VIRTUAL_DRIVER_NAME> بأي اسم تريده).[ICA 3.0] نفسه، أضف السطر <VIRTUAL_DRIVER_NAME>=On[<VIRTUAL_DRIVER_NAME>] يحتوي على:DriverName = <DRIVER_NAME>.DLL
LogPath = /path/to/logs/folder/
Port = <PORT_NUMBER_FOR_SOCKS> //default: 33556
Address = <LISTENING_IP_ADDRESS> //default: 127.0.0.1, use 0.0.0.0 to open the socks for non local clients
هذا كل شيء!
بمجرد تثبيت برنامج تشغيل جهة العميل بشكل صحيح، كل ما عليك فعله هو نسخ الملف التنفيذي للخادم إلى الخادم وتشغيله من جلسة ICA نشطة.
وهو يفتح خدمة SOCKS على جهة العميل على العنوان والمنفذ المحددين في ملف module.ini.