تمت الإجابة Sending binary stream to php script ?? is it even possible ?

تم تحميل الصفحة في 0,5321739 ثانية
Sending binary stream to php script ?? is it even possible ?
الحالة
مغلق و غير مفتوح للمزيد من الردود.
إنضم
7 نوفمبر 2008
المشاركات
1,085
الإعجابات
1,388
النقاط
113
العمر
31
الإقامة
ITA - KSA - JOR
السلام عليكم ورحمة الله ،،

لدي سؤال لاصحاب الخبرات في php بحكم اني صارلي اسبوع فقط بدأت التعلم هذه اللغة ودوالها واراها جميلة وسلسة ومتحمس للغوص الى اعماقها بشكل اكثر ،،

اريد ان اقوم بارسال binary data stream بشكل متواصل الى سكربت php ،، الاتصال يجب ان يكون ثابت بين البرنامج وصفحة الويب ،، ابحث عن شيء غير حزم POST & GET

في لغة السي استطعت اتمام ذلك عبر تأسيس اتصال سوكت مباشر بين جهاز الخادم والعميل باستخدام دوال winsock2 ،،

لا املك فكرة عن امكانية php في فعل هذا الشيء ،، هل هناك دوال موازية لـ bind & connect ؟ هل هناك دوال مباشرة لهالغرض او مكتبات مساعدة نلجأ لها ؟؟
قد يكون سؤال بديهي عند البعض (اتمنى) لكني لا املك اي خبرة سابقة في لغة php وكل شغلي على الايرسي كان ،،


ما احاول اتمامه هو نقل تصوير الشاشة (من جهاز الخادم الى العميل) عن طريق سيرفر ويب ،، ونظريا سرعه النقل ستكون افضل بمراحل وبدون تقطيع ،،
اتمنى افادتني باي معلومات او اسم دالة او اسم مكتبة او اي طرف خيط او keyword وسوف اجد طريقي ،،


ودي واحترامي
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
إذا كنت تريد ثبات الاتصال
هناك بروتوكول جديد مبني علي tcp يمكنك من ذلك
وهذا البروتوكول يسمح لك بإنشاء متحكم php أو حتي html مثل متحكم الرات تماما

أما http فلا يمكن أن يتصل السيرفر بالعميل ولكن العميل هو الذي يتصل و عند انتهاء الطلب يغلق الاتصال
لذلك تم اختراع الكوكيز للحفاظ علي الجلسات
 
إنضم
7 نوفمبر 2008
المشاركات
1,085
الإعجابات
1,388
النقاط
113
العمر
31
الإقامة
ITA - KSA - JOR
أما http فلا يمكن أن يتصل السيرفر بالعميل ولكن العميل هو الذي يتصل و عند انتهاء الطلب يغلق الاتصال
لذلك تم اختراع الكوكيز للحفاظ علي الجلسات
مشكور واصبت ،، لكن ماذا عن ارسال بيناري داتا بدلا من عمل POST Request مع براميترات تكست ؟؟ هل هي ممكنة في php ؟
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
مشكور واصبت ،، لكن ماذا عن ارسال بيناري داتا بدلا من عمل POST Request مع براميترات تكست ؟؟ هل هي ممكنة في php ؟
يمكنك إرسال binary data في طلب http ليس في الهيدرز ولكن في ما بعدها وتحدد Content-length
أما أن تتصل من دون http فلا يمكن
لأنه الاتصال يتم هكذا :
السيرفر يعمل bind علي بورت غالبا 80
عند مجيء اتصال سيتعامل السيرفر معه علي أنه فقط طلب http لأنه مصمم هكذا
يعني هو أصلا اتصال سوكت ويمكنك إرسال ما تريد لكن السيرفر سيعرف أنك لا ترسل طبقا للبروتوكول فينهي الاتصال
وفائدة البروتوكول هذا كما تعرف التنظيم
يعني تجعل نقل البيانات علي شكل محدد ونظام معين لتسهل عملية تحليل الطلب

وهكذا يتم إرسال المتغيرات للسيرفر
عند إرسال الطلب يتم تضمين Content-length و Content-type
الأولي ليعرف السيرفر حجم البيانات التي تلي الطلب وفي حالة صفر لا بيانات
والثاني لمعرفة نوع وشكل ونظام البيانات ليتعامل معها السيرفر
وبعد إرسال الطلب نرسل البيانات وهذا هو http body
في حالة البارامترات العادية نجعلها Content-Type: application/x-www-form-urlencoded
وهكذا سيعاملها السيرفر علي أنها var=dfs&var2sdf&....
ولتجعله يعامله علي أنها binary حولها إلي
application/octet-stream
وأرسل البيانات بعد الطلب الأول وسيقرأ السيرفر منها الحجم المحدد في content-length
ولترسل صفحة html اجعلها text/html

ويمكنك الاطلاع علي جميع الأنواع هنا
MIME types
 
إنضم
7 نوفمبر 2008
المشاركات
1,085
الإعجابات
1,388
النقاط
113
العمر
31
الإقامة
ITA - KSA - JOR
...
ولتجعله يعامله علي أنها binary حولها إلي
application/octet-stream
وأرسل البيانات بعد الطلب الأول وسيقرأ السيرفر منها الحجم المحدد في content-length
ولترسل صفحة html اجعلها text/html

ويمكنك الاطلاع علي جميع الأنواع هنا
MIME types



بارك الله فيك اصبت متبغاي تماما ومشكور جزيلا ً ،،
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
php
تدعم السوكت socket عادي

مثال
PHP: Examples - Manual
ستضطر لتغيير نظام الكلاينت بحيث يكون هو السيرفر وصفحة php هي المتصل
ويجب أن تظل تطلب الصفحة حتي تعمل
php
تدعم السوكت socket عادي

مثال
PHP: Examples - Manual
تحتاج vps و port forwarding من أجل عمل bind للسوكت واستقبال اتصالات خارجية
وحينها يمكنك الاستغناء عن php بلغة أقل استهلاكا لموارد الجهاز (تأجير vps بمواصفات عالية غالي الثمن و php تأكل موارد الجهاز أكلا)
مثل rust , R , c++ , delphi ,c# ,....

الهدف هو التحكم في الرات واستقبال البيانات بدون port forwarding
 

H O U D I N I

.:: Legends DeveloPer ::.
rankrankrankrankrankrank
إنضم
14 أغسطس 2010
المشاركات
5,144
الإعجابات
8,033
النقاط
113
الإقامة
الجزائر
تحتاج vps و port forwarding من أجل عمل bind للسوكت واستقبال اتصالات خارجية
وحينها يمكنك الاستغناء عن php بلغة أقل استهلاكا لموارد الجهاز (تأجير vps بمواصفات عالية غالي الثمن و php تأكل موارد الجهاز أكلا)
مثل rust , R , c++ , delphi ,c# ,....

الهدف هو التحكم في الرات واستقبال البيانات بدون port forwarding
تستطيع عمل listen على بورت tcp
يمكن تربط سوكت c/c++ مع php مباشرة , و تبادل stream في الاتجاهين
فالاجابة نعم و ليس مادكرته انت

المسوؤل عن الاتصال هو httpd.exe
Screenshot
لدلك لا اتوقع فرق بينها و بين http ، بل اتوقع نتائج افضل

port forwarding !! ماهو بورت 80 لل http معمول له port forwading ولا كيف راح تتصل يعني ؟ مافي فرق

لافائدة اصلا من استعمال الاستضافات ، في كل الاحوال لازم vps
لانها تفحص طلب ادا من المتصفح سيمر و الا سيتم رفضه

فيدو ربط php و netcat
2018-07-19 12-47-54 | تحميل
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
تستطيع عمل listen على بورت tcp
يمكن تربط سوكت c/c++ مع php مباشرة , و تبادل stream في الاتجاهين
فالاجابة نعم و ليس مادكرته انت

المسوؤل عن الاتصال هو httpd.exe
Screenshot
لدلك لا اتوقع فرق بينها و بين http ، بل اتوقع نتائج افضل

port forwarding !! ماهو بورت 80 لل http معمول له port forwading ولا كيف راح تتصل يعني ؟ مافي فرق

لافائدة اصلا من استعمال الاستضافات ، في كل الاحوال لازم vps
لانها تفحص طلب ادا من المتصفح سيمر و الا سيتم رفضه

فيدو ربط php و netcat
2018-07-19 12-47-54 | تحميل
قصدي إذا استخدمت سوكت php فلن تستفيد شيئا فالمتحكم العادي أفضل منه
ولكن المشهور هو استخدام php في لوحة تحكم البوتات حتي تتخلص من port forwarding
لكنك قلت إن السوكت سيمر عبر بورت 80 وهو بالفعل يتيح ربط السوكت بالأيبي الخارجي
وهذه لم أفهمها لأن البورت 80 بالفعل مستخدم من قبل خادم الاستضافة لاستقبال الطلبات عليه
فكيف ستقوم بعمل bind و listen مرتين علي بورت واحد ؟
 

H O U D I N I

.:: Legends DeveloPer ::.
rankrankrankrankrankrank
إنضم
14 أغسطس 2010
المشاركات
5,144
الإعجابات
8,033
النقاط
113
الإقامة
الجزائر
خخخ ، لاسف حدفت الفيدو من جاهزي
على كل يمكنك تجريب بنفسك
php-tcp.rar — RGhost — файлообменник
لا تنسى تفعيل socket module في apache server

قصدي إذا استخدمت سوكت php فلن تستفيد شيئا فالمتحكم العادي أفضل منه
ولكن المشهور هو استخدام php في لوحة تحكم البوتات حتي تتخلص من port forwarding
لكنك قلت إن السوكت سيمر عبر بورت 80 وهو بالفعل يتيح ربط السوكت بالأيبي الخارجي
وهذه لم أفهمها لأن البورت 80 بالفعل مستخدم من قبل خادم الاستضافة لاستقبال الطلبات عليه
فكيف ستقوم بعمل bind و listen مرتين علي بورت واحد ؟
هنالك بعض فوائد ك البقاء سيرفر اونلاين 7/24 ، اوامر معلقة في حال اتصل ضحية معين ...الخ

في ما يخص port forwarding اعتقد فهمت قصدك
انت تقصد تعمل الاستضافة ك بروكسي بينك و بين ضحاياا لتجنب فتح بورت
في هته الحالة سيتم ارسال بيانات stream مرتين ، الامر كله مضيعة

قصدي كان برمجة متحكم نهائي ب php
فعمل port forwarding ل tcp جنب 80 ليس مشكل
لايمكن ربط على نفس البورت يجب ان تختار بورت اخر

على كل c++ هنا تظهر قوتها على باقي اللغات
يمكن تستعمل حلول ليست موجود بلغات اخرى ك webrtc و peer to peer بصفة عامة
اتصال مباشر بين c++ و المتصفح و تخطي portforwading ، جميل فعلا
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
خخخ ، لاسف حدفت الفيدو من جاهزي
على كل c++ هنا تظهر قوتها على باقي اللغات
يمكن تستعمل حلول ليست موجود بلغات اخرى ك webrtc و peer to peer بصفة عامة
اتصال مباشر بين c++ و المتصفح و تخطي portforwading ، جميل فعلا
لم أفهم هذه النقطة ما هي القوة التي تقصدها ؟
 

mohammedalaa

.:: مُشرف اقسام حماية الاجهزة والتقنية ::.
rankrankrankrankrankrank
إنضم
18 نوفمبر 2014
المشاركات
3,339
الإعجابات
2,846
النقاط
146
الإقامة
العراق من بغداد

H O U D I N I

.:: Legends DeveloPer ::.
rankrankrankrankrankrank
إنضم
14 أغسطس 2010
المشاركات
5,144
الإعجابات
8,033
النقاط
113
الإقامة
الجزائر
لم أفهم هذه النقطة ما هي القوة التي تقصدها ؟
قصدي ب c++ يمكن تعمل اتصال peer to peer لنقل stream ك تصوير شاشة و فيدوا
دون حاجة لفتح بورت اصلا

قوتها كل شي يتم عمله اولا ل c++
لايوجد شي غير موجود او لا يعمل كما هو مطلوب و دائما ناتيف بدون مكتبات خارجية
عكس باقي اللغات التي تعتمد في الاساس على تغليف مكتبات c++

من تطوير غوغل
webrtc Git repositories - Git at Google
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
قصدي ب c++ يمكن تعمل اتصال peer to peer لنقل stream ك تصوير شاشة و فيدوا
دون حاجة لفتح بورت اصلا

قوتها كل شي يتم عمله اولا ل c++
لايوجد شي غير موجود او لا يعمل كما هو مطلوب و دائما ناتيف بدون مكتبات خارجية
عكس باقي اللغات التي تعتمد في الاساس على تغليف مكتبات c++

من تطوير غوغل
webrtc Git repositories - Git at Google
قصدك ممكن أستخدم ما يسمي p2p للاتصال بدون سوكت !!!
 

H O U D I N I

.:: Legends DeveloPer ::.
rankrankrankrankrankrank
إنضم
14 أغسطس 2010
المشاركات
5,144
الإعجابات
8,033
النقاط
113
الإقامة
الجزائر
ممكن أستخدم ما يسمي p2p للاتصال بدون سوكت
هو مبني عل socket
لاكن بطريقة تجعله يتخطى nat ف لا يحتاج ال فتح بورت
يحتاج سيرفر لبدا الجلسة بعدها يتم عمل اتصال مباشر
بين الجهازين

برتكول التورنت مثال عل دلك
 
إنضم
27 يناير 2018
المشاركات
532
الإعجابات
451
النقاط
63
هو مبني عل socket
لاكن بطريقة تجعله يتخطى nat ف لا يحتاج ال فتح بورت
يحتاج سيرفر لبدا الجلسة بعدها يتم عمل اتصال مباشر
بين الجهازين

برتكول التورنت مثال عل دلك
قرأت توا عن webrtc لكن لم أفهم بالضبط ما هو
هل يمكن تنقيح المتصفح به بدلا من --remote-debug
الأفكار الشريرة بدأت بالظهور هههه
 
إنضم
7 نوفمبر 2008
المشاركات
1,085
الإعجابات
1,388
النقاط
113
العمر
31
الإقامة
ITA - KSA - JOR
السي معروفة قوتها والا لما كتبت بها انظمة كاملة ،، لكني متفاجئ بـ php ايضا لديها العديد من الامكانيات !!
اليوم في ساعات النهار الفضول دفعني للبحث اكثر في الحل الذي قدمه الاخ يوسف وجدت اني بحاجة الى استخدم دالة pack وامرر لها البفر الذي يحتوي على داتا تصوير الشاشة ،، والدالة تقوم بضغط البفر (بطريقة ما) وتحويله الى binary string يكون جاهز ترسله POST على سكربت PHP ومن الطرف الاخر بحاجة الى استدعاء unpack

فكرة تأسيس اتصال سوكت من الصفحة الى الضحية قد تكون مفيدة في حالات محدودة اما في امور الهاك فهي غير منطقية ،، لاسيما ان مبدأ الـ reverse tcp connection اتى كـ حل لهذه المشكلة ،، لانه من الصعب علي ان اضمن فتح البورت لدى جميع الضحايا بنسبة 100%

حاليا ما استغربه هو لماذا اذن لا نرى العديد من الادوات التي تتبنى php بدلا من برامج الرات التقليدية ؟ بحثت في قوقل الى ان مللت محاولا ان اجد سورس جاهز لكي اتعلم منه بطريقة مختصرة لكن لم يحالفني حظ،، مع اني الان بعد فهمي الامور التي يتوجت علي فعلها وجدت ان برمجه واجهة php هي اسهل من كتابتها في فيجوال بيسك (مثلا) ،، وعلاوة على ذلك تحصل على جميع معلومات شبكتك تحفظ في قواعد بيانات مرتبة ومنظمة متى ما احببت الوصول من الموبايل ،، مغرية php

بالمناسبة انا ضد مبدأ الـ p2p لربط الشبكة ،، والافضل بكثير بالطبع هو تبني احد اساليب dynamic commands centers :10:

مشكورين جميعا على اثراء الموضوع ولاتحرمونا من معلوماتكم القيمة ،،
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل